metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-10-18 09:58 pm

Об удобном софте для сложных предметных областей.

Каждый раз, когда я читаю [livejournal.com profile] justy_tylor или когда меня очередной раз посещает навязчивая идея сделать генерацию UI из моделей (как у меня генерируется все остальное), я вспоминаю вот эту картинку http://ips.intermech.ru/images/s1_big.png или интерфейс 3D Max или CadSoft Eagle.

Я до сих пор не могу для себя решить - адский пиздец сложности UI профессионального софта - это объективное следствие сложности предметки или же все-таки, как всегда в этом нашем IT - случайная сложность, потому что делают "как привыкли", "чтобы пользователи пользовались привычными метафорами" и "у нас эргономикой занимаются программисты".

У меня софт обычно простой. Потому что предметка вся это "ввести первичные данные, получить данные с 100500 приборов и желязяк и показать по ним отчеты", ресурсы ограничены, UI делать некому, соответственно все по максимуму сводится к обобщенным CRUD-оперденям. А бэк-енды, базы данных и бизнес-логика, когда она не особо связана с UI - для меня это отдых. Потому как в большинстве случаев укладывается в функциональщину и SQL.

[identity profile] zelanton.livejournal.com 2013-10-19 09:30 am (UTC)(link)
>>> машина состояний унутре, да еще там много работы на фоне делается, о которой уведомлять надо, через поллинг состояния фоновых воркеров.

Я всё же не понимаю зачем этот ад. Красиво - нанять блин для начала дизайнера, всё равно он для html нужен будет. Ну разве что кроссплатформенность, но чё-та я сомневаюсь, что причиной именно оно, это скорее бонус.

[identity profile] metaclass.livejournal.com 2013-10-19 09:51 am (UTC)(link)
Сильно дешевле оставить программисту код, не привлекая его на каждое перемещение кнопочки на 1 пиксель влево. Опять же - С++ билд то еще занятие, в отличие от "поменял одну букву и тут же посмотрел".

В общем, конкретно там где нужно много красивого UI, который нужно периодически менять и мало сложных действий со стороны юзера - html+js интерфейсы очень заебись. И веб-дизайнеры там уже есть, повторное их использование очень кстати.

[identity profile] jakobz.livejournal.com 2013-10-19 11:46 am (UTC)(link)
Да ну нафиг. По сравнению с каким-нибудь .net+devexpress - в вебе полный ад и гемор.

В вебе чуть-чуть попроще с деплоем (если IE<=8 на конторе законодательно запрещен), поддержкой (логи локально), и еще кое-какие плюхи из коробки (типа запоминания введенных полей, и возможности url-ы в закладки ставить и кидать по скайпу).

Но в целом опердени на вебе - на порядок более дикий гемор чем на десктопе. Хотя бы за счет возможности открыть штуку из details-таблички на редактирование тупо в модальном окне. Без необходимости сохранения всего master в базу или какого еще адового секса.

[identity profile] gineer.livejournal.com 2013-10-19 03:54 pm (UTC)(link)
в Qt все ровно то же самое,
те же CSS

[identity profile] inhate.livejournal.com 2013-10-19 03:57 pm (UTC)(link)
У меня для одной и той же кодовой базы - три совершенно по-разному выглядящих UI, причём часть UI иногда тянется с веба.
И следующая итерация будет с альфа-каналом, UI будет не прямоугольным, а каким там в голову дизайнеру придёт. В форме облачка с дырочкой в середине например. И вкруг дырочки будет показываться ролик с ютуба. При этом от программиста требуется впилить только поддержку альфа-канала, что в целом делается быстро и работает начиная с XP.

[identity profile] zelanton.livejournal.com 2013-10-19 04:01 pm (UTC)(link)
Помню у нас был препод-шизофреник требовавший в результатах работ овальные кнопочки, формы с альфа-каналом и прочие ненужные свистоперделки))))

[identity profile] zelanton.livejournal.com 2013-10-19 04:18 pm (UTC)(link)
Кстати, а html-морда чем интерпретируется? системным браузером или вся эта браузерная инфраструктура локальна, поставляется и запускается вместе с софтом?

[identity profile] metaclass.livejournal.com 2013-10-19 05:48 pm (UTC)(link)
qtwebkit. Еще не хватало от заебов винды зависеть :)

[identity profile] zelanton.livejournal.com 2013-10-19 06:39 pm (UTC)(link)
ну некоторые вот зависят же. неоднократно наблюдал.

[identity profile] inhate.livejournal.com 2013-10-19 05:57 pm (UTC)(link)
Тащим с собой QtWebKit во избежание сношений с кроссбраузерностью, адблоками, гей-барами, перезагрузками при уставноке гопнета нужной версии и прочей поебени, ну и собственна бизнес-логика торчит наружу (т.е. в UI) в виде JS-вызовов и хуков для апдейтов прогрессбара.
Устанавливается и обновляется приложениице статически собранным нативным win32-инсталлером (~850kb), само приложениице - 22Mb

[identity profile] zelanton.livejournal.com 2013-10-19 06:42 pm (UTC)(link)
ну будем надеяться оно не ужирает память и вообще стабильно, ну в отличии от хрома например)

[identity profile] blackyblack.livejournal.com 2013-10-19 05:32 pm (UTC)(link)
"В форме облачка с дырочкой в середине например. И вкруг дырочки будет показываться ролик с ютуба."

Я джва года ждал эту фичу.

[identity profile] inhate.livejournal.com 2013-10-19 05:58 pm (UTC)(link)
Я сам в сомнениях, как сделают - запущу A/B с прямоугольной версией и посчитаю бабло.