metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-03-24 10:06 pm

Qt

Как известно, ситуация с разработкой десктопного пользовательского интерфейса как была печальной, так и осталась.

Дельфи умер, потому что паскаль, гопнет умирает, потому что его заполонили индусы и wpf, все внимание хипстеров от программирования привлечено к веб-интерфейсам на js, а олдскульные гуру ненавидят пользовательский интерфейс и делают только бэк-енды и бизнес-логику.

Из условно-пригодного осталось Qt, но что будет с ним после того, как его купила нокиа, а затем продала дигии - неясно.
Но таки альтернативы все равно нет, решил попытаться сделать прототип софтины, аналогичной той, что ранее сделана на дельфи и на гопнете (более-менее универсальный опердень-клиент, использующий сгенерированные кодогенератором метаданные для GUI и взаимодействия с бэк-ендом в виде БД или RESTful апи к серверу приложений ).
Пока идет туговато, разные типичные вещи, типа "грид с данными", которые в дельфи сделаны идеально, в гопнете как-то "так", тут приходится пока мудрить вручную, изучая, как это сделано в стандартных классах и примерах.

[identity profile] nivanych.livejournal.com 2013-03-25 07:00 pm (UTC)(link)
Настоящие [...] используют pёrl/tk!

[identity profile] teewoon.livejournal.com 2013-03-25 08:10 pm (UTC)(link)
обфускация. Как вышеупомянутый инфраджистик шел за разные деньги в вариантах - без кода, покоцаный и полный

[identity profile] permea-kra.livejournal.com 2013-03-26 01:33 pm (UTC)(link)
Мне неочевидно, что ради таких (достаточно простых) вещей нужно тащить достаточно толстый фреймворк с ограничениями на коммерческую разработку, да еще и прибитый гвоздями к плюсам с их проблемами и при этом пользующий свой препроцессор.

Впрочем, gtk в этом плане ничем не лучше.
Надо собраться с духом и попробовать пописать на ghc/winapi+opengl

[identity profile] fas-tm.livejournal.com 2013-03-26 01:45 pm (UTC)(link)
да в любом случае надо чтото тащить.
"ограничениями на коммерческую разработку" - это не так. нет никаких особых ограничений.
"прибитый гвоздями к плюсам" - это да. но у меня специфика. в любом случае мне необходим нативный код и большинство 3dparty это С/С++ (работа с видео/аудио/кодеки).
Разумных вариантов не так много.

[identity profile] permea-kra.livejournal.com 2013-03-26 02:27 pm (UTC)(link)
>нет никаких особых ограничений
Это когда код под BSD.

> (работа с видео/аудио/кодеки)
Это осложняет ситуацию, согласен.

[identity profile] psilogic.livejournal.com 2013-03-27 09:25 pm (UTC)(link)
я был вынужден отнаследовать от QAbstractItemModel и написать свою модель для дерева, стандартная страшно тормозила на обычной отрисовке (10 колонок, часть ячеек с пиктограммами)

[identity profile] metaclass.livejournal.com 2013-03-27 09:31 pm (UTC)(link)
Я так и буду делать, у меня специфические требования к внутренностям модели и структуре данных, которую она отражает.

[identity profile] psilogic.livejournal.com 2013-03-27 09:41 pm (UTC)(link)
Аналогично. Меня напряг тот факт, что тормоза, в общем, не от того, что данные огромны, а от того, что неэффективно хранятся - оверхед жуткий на том, чтобы просто получить текст или иконку ячейки. Т.е. тормозит просто от того, что на экране на данный момент видно 10x50 ячеек.

А человека, который придумал QModelIndex, надо изнасиловать кием.

[identity profile] psilogic.livejournal.com 2013-03-28 06:25 am (UTC)(link)
по своему опыту скажу, что winapi - это вполне хорошо, если устраивает непереносимость на *nix-ы или ограниченная переносимость с помощью wine

правда со временем я почти все widget-ы сделал по-своему, включая listview :)

Page 4 of 4