Кросспост из
блога автора. Комментировать лучше
там, но можно и тут
Вот берем Qt 5.1, тащим на Mac OS X 10.7 (так сложилось, это моя девелоперская машина), собираем
согласно инструкции.
Далее собираем приложение с этой Qt, деплоим его
тоже по инструкции, несем на Mac OS X 10.6 и получаем, получаем... сюрприз:
Неработающее приложение!
То что
(
Read more... )
Qt два раза рассматривал, честно. По-моему он какой-то бесполезный, особенно в свете нынешней живости CEF.
Reply
А Qt - просто берет и работает, у меня #fdef __APPLE__ очень мало в проектах, хотя вот потихоньку набирается.
Другой вопрос, что на эппловские гайдлайны интерфейса я ложил.
Reply
Как человек, HTML5 проект которого уже перевалил за 8К чистых строк на кофескрипте и 5К строк HTML+CSS я могу тебе сказать что по уровню развития это примерно как виндовые тулкиты в середине 90-х годов. Очень всё, э, своеобразно и меняется буквально каждый день. Но очень интересно, опять же как в начале-середине 90-х :-)
Reply
Но что мне делать с остальными 90%-ми программы? Ну хорошо, пусть даже 75%. Тоже на яваскрипте?
Вместе с тем, есть вот pics.io, даже пишут что финансирование получили, интересно....
Reply
сделать проявку чисто на GLSL, имхо, невозможно (тогда можно было бы поселить ее в WebGL, который бежит на GPU и со скоростью у него все хорошо).
Reply
То есть теоретически все даже есть. Практически же - я это пока на нефритовом стержне вращал.
Reply
Но это одна проблема, гораздо бОльшая, имхо - это неподходящесть CSS box model (layout engine заточенный под верстку) для построения гуя. Одно дело когда мы пишем фреймворк, рассчитанный на полное отсутствие лейаута на нижнем слое (Win32 API), а совсем другое - когда надо бороться с концептуально "вражеской" системой. Там столько граблей разложено, что уй. И вот эту проблему, имхо, никто и не собирается решать.
Reply
Достаточно очевидно, что в 2013-м году по сравнению с HTML+JS любой другой UI - тотальное г-но. Как в смысле результата, так и в смысле скорости разработки.
И прикинь - у тебя получается сразу мало что кросплатформенный результат, так ещё и десктопно-вебовый.
Reply
Сам по себе UI меня не сильно напрягает. Ну UI, ну спрограммировал, это занимает время, но не требует думанья над ним.
Reply
Я не понимаю вопроса. Обычно всё кроме UI и так кроссплатформенное, по-умолчанию. Единственная не-UI-шная библиотека, которую мне доводилось втыкать специально за кроссплатформенность, это curl. И то я его уже вроде отовсюду выкинул.
Что ты используешь из Qt кроме UI, и зачем?
Reply
Сеть (по мелочи), мультипоточность (thread pools и упрощенные версии его же в виде map-reduce и просто map), таймеры (по мелочи), хранение настроек, семафоры-мьютексы.
Использовал бы и атомарные операции, но они мне нужны на совсем нижнем уровне, который без Qt тоже должен работать.
Но мой вопрос был про другое. Если у меня UI на JS(+HTML/CSS), а логика - на C++, то придется же писать некий промежуточный уровень, который параметры из C++ вытащит в JS и наоборот? Вот, не хочу!
Reply
Этот уровень уже написан много раз, по-разному, на все вкусы и размеры, писать его заново не обязательно.
См.напр
https://code.google.com/p/chromiumembedded/
Даже чиста для виндов CEF регулярно побеждает в рабочих дискуссиях CEF vs. IWebBrowser с разными обвязками, что как бы говорит нам, что это действительно хороший инструмент.
Reply
Вот у меня есть C++-ная библиотека. Объект у которого есть методы и данные.
Как мне получить этот объект "внутри" яваскрипта? Ну там скормить ему файл, подождать пока прожует, потом он выплюнет 400 мегабайт (например) RGB-битмепа, который я хочу показать пользователю. Позумить, покрутить и все такое (сейчас я это делаю OpenGL-ем).
Сгенерировать JPEG и скормить его этому CEF-у? Херня же какая-то....
Дискуссия CEF vs IWebBrowser, равно как и "вебовость" приложения меня совершенно не волнует. У меня приложение для быстрого жевания гигабайтов фоточек.
Reply
Reply
Что потеряю - выше написано (в перечислении того, что я беру из Qt). Thread pool, Map/Reduce, общий одинаковый и работающий интерфейс к OpenGL, много всего.
Reply
Ты выиграешь уплывание существенной части твоего продукта в очень высококачественную живую среду (HTML и CEF) из фиговатой и умирающей (Qt).
> обсуждать lossless PNG, имелся в виду, вероятно, нежатый, я не хочу
Имелся ввиду именно lossless. PNG сжимает внутри себя deflate-ом от zip-а. Непонятно, почему именно его ты не хочешь обсуждать, отличный формат для внутреннего обмена.
> Что потеряю - выше написано (в перечислении того, что я беру из Qt). Thread pool, Map/Reduce, общий одинаковый и работающий интерфейс к OpenGL, много всего.
Как-то ты это всё очень детально обсуждаешь, я бы даже сказал серьезно. Обычно когда человеку советуют выбросить нах глюкавый M$ Виндоуз и перейти на правильный кошерный Линукс ответ бывает короче и конкретнее.
Понятно что менять в живой программе базовую UI+ библиотеку на что-то совершенно другое как самый минимум очень лень.
Reply
Leave a comment