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

Qt

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

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

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

[identity profile] fas-tm.livejournal.com 2013-03-24 08:21 pm (UTC)(link)
на самом деле все вырождается примерно в то же самое что и в .NET если надо сделать что то нестандартное. Опять же это просто дело привычки. После того как один или два раза разберешся что к чему, все становиться понятно. Любая новая платформа требует изучения минимального.

[identity profile] fas-tm.livejournal.com 2013-03-24 08:25 pm (UTC)(link)
все билдеры хороши только для простых форм.
Я практически не использую. Мне сейчас намного проще вручную нарисовать лэйауты и покидать в них виджеты. В этом случае все это дело более управляемое. мало того просто проще генерировать формы из каких то данных или моделей.

[identity profile] metaclass.livejournal.com 2013-03-24 08:26 pm (UTC)(link)
Какое количество индусов на одну сущность предметной области?
Сколько до этого было вложено ресурсов в используемые инструменты?

Тут у меня просто проблема - я сравниваю проект на дельфи, в котором не меньше 10 человеко-лет работы и созданный вчера проект на (выберите-ваш-язык) и очевидно, это неправильно.

Но даже в таком варианте: я беру дельфи и переопределяю поведение TDrawGrid руками за пару дней, делая устраивающую меня реализацию UI с MVC, моделями для данных и прочим.
Попытка такое же сделать на дотнете-qt-swing всегда выливается либо в реализацию всего с нуля, либо в какие-то попытки обойти индусятину во внутренностях, типа "вот этот метод мы вызвать/переопределить не можем, потому что авторы решили что он никому в таких целях не нужен".
То ли у меня руки кривые, то ли мозг дельфями поломан, но эта ситуация повторяется с 2006 года постоянно. "Два дня работы на дельфи и месяц мелких доработок для идеального юзабилити" vs "Месяц дрочева в ООП на дотнете и поделка, которая в лучшем случае работает".

[identity profile] vp.livejournal.com 2013-03-24 08:28 pm (UTC)(link)
Развитие средств языка, и т.п.

[identity profile] vp.livejournal.com 2013-03-24 08:29 pm (UTC)(link)
Речь хотя бы о стандартном.
Зафигачить на Qt что-то уровне того же DevExpress гридов - это можно просто положить 5 лет жизни.

[identity profile] metaclass.livejournal.com 2013-03-24 08:29 pm (UTC)(link)
Не, с дотнетом какие-то реально заебы, особенно если пытаться хоть что-то обобщить. Вручную любые вещи в дизайнере клепать - ок.

[identity profile] sergiej.livejournal.com 2013-03-24 08:29 pm (UTC)(link)
То есть задача - менять поведение грида? Или просто заполнить грид данными с бекенда?

[identity profile] chemodax.livejournal.com 2013-03-24 08:29 pm (UTC)(link)
Я чего-то в последнее время полюбил старый-добрый WTL. Хотя конечно с гридом там наверное намучаешься, но мне к счастью не надо :)

[identity profile] vp.livejournal.com 2013-03-24 08:30 pm (UTC)(link)
Ай не скажи. Некоторые сложные формы удолбешься руками накидывать, потом 100 раз запускать смотреть "что получится".
Тут никакой зависимости. Иногда удобнее так - иногда иначе.

[identity profile] lord-baskervil.livejournal.com 2013-03-24 08:31 pm (UTC)(link)
И с чего оно вдруг затормозится, если на нем базируется kde?

[identity profile] permea-kra.livejournal.com 2013-03-24 08:33 pm (UTC)(link)
На qtscript смотрели?

[identity profile] fas-tm.livejournal.com 2013-03-24 08:37 pm (UTC)(link)
ну я принимаю этот аргумент. Но DevExpress тоже не взялся с пустого места.
Мы к примеру для .NET юзаем еще Telerik, и баги всплывают потоянно.
И когдя я не в состоянии починить это сам, меня бесит это. В Qt же я четко понимаю, как я нарисовал так и будет, и если где то глючит - то это мой фэйл но я могу его пофиксить.

[identity profile] lord-baskervil.livejournal.com 2013-03-24 08:39 pm (UTC)(link)
Думаю, что аналог devexpress врядли займет много времени. Даже думаю его написать будет на так сложно, благо все для этого есть. Были бы знания.

[identity profile] vp.livejournal.com 2013-03-24 08:39 pm (UTC)(link)
Ну как мне кажется, с той скоростью, как выкатывались версии "во времена нокии", хрен кто потянет их выкатывать. Я про деньги.

[identity profile] freetiger.livejournal.com 2013-03-24 08:40 pm (UTC)(link)
Про все билдеры не знаю. Я про эмбаркадеро. По поводу покидать - это вопрос личного вкуса, мне вообще, технически, визуальное проектирование не нужно, важна управляемость.

[identity profile] vp.livejournal.com 2013-03-24 08:41 pm (UTC)(link)
Только если так:

[identity profile] fas-tm.livejournal.com 2013-03-24 08:45 pm (UTC)(link)
это просто от опыта зависит наверное.
Вариант 'запускать смотреть "что получится" ' уже редко бывает, просто рука набита.
То же самое и с отладкой, я не помню когда дебагером по шагам ходил. Простейшие вещи сразу на глаз ловлю, остальное все в логах.
Просто по опыту получается что если на форме появляется больше 10-15 контролов то в будующем вариант с билдером может принести просто геморой.

[identity profile] justy-tylor.livejournal.com 2013-03-24 08:50 pm (UTC)(link)
Разработчики Qt во всё пытаются пихать промежуточные *Model, дюже херового качества.
А wx это такой кроссплатформенный багфикс нативных платформенных API, без попытки навязать внеземную логику.

[identity profile] metaclass.livejournal.com 2013-03-24 08:51 pm (UTC)(link)
Показать данные с бек-енда, с редактированием и более-менее нормальным отображением.
Конкретно у меня три вариации гридов: обычный резальтсет с подгрузкой по мере скроллирования (или типа paging), затем кросс-отчеты, затем грид вида "MхN параметров фильтра вида "подпись+редактор поля"". Первое делается стандартными средствами хоть как-то везде, второе и третее - полная печаль.

[identity profile] fas-tm.livejournal.com 2013-03-24 08:52 pm (UTC)(link)
пока выкатывают очень неплохо. и Qt5 меня сильно порадовал.

[identity profile] fas-tm.livejournal.com 2013-03-24 08:55 pm (UTC)(link)
qtscript как такового уже нет. в Qt5 теперь V8

[identity profile] maxdz.livejournal.com 2013-03-24 10:26 pm (UTC)(link)
>Но таки альтернативы все равно нет

Джава или .NET/C#? Чем не альтернатива?

[identity profile] maxdz.livejournal.com 2013-03-24 10:27 pm (UTC)(link)
>Вроде ничего такого быть не должно, все вроде бы там хорошо, но какие-то мелкие неадекватности, действуют на нервы.

У меня аналогичное чуйство интерпретируемых языков. Но умом понимаю, что сильно больших тормозов быть не должно и чем дальше, тем меньше будет (т.к. апаратная часть постоянно улучшается). Потому, с собой борюсь. :)

[identity profile] maxdz.livejournal.com 2013-03-24 10:29 pm (UTC)(link)
>Не, с дотнетом какие-то реально заебы, особенно если пытаться хоть что-то обобщить

В донтенете гораздо больше возможностей обобщения. Сказывается наличие рефлекшена...

[identity profile] tzirechnoy.livejournal.com 2013-03-24 10:58 pm (UTC)(link)
Дэльфи умер -- потому, что единственный вменяемый дизайнер свалил где-то между первой и второй версией, а остальные быдлокодеры дажэ работающий place manager написать ниасилили.
Замечу, что прикрутить к нему C++ -- они как раз вполне смогли. C++ в дэльфях жывёт большэ, чем по-видимому большынство современных программистов -- программируют.

Гопнет умирает потому, что MS протухла сама по себе, у всех команд внутри NIH во все дыры ещё большэ, чем в OS-community, бюрократия переплюнула саму IBM, а на того самого дизайнера не кладёт болт разве что его секретарша (за отсутствием болта).

Кстати, альтэрнатива -- wx.

Но это всё, по большому счёту, дохлое -- поскольку web и всё такое.

Page 2 of 4