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] inhate.livejournal.com 2013-10-19 09:01 am (UTC)(link)
Есть. Программисты не умеют толком нарезать и верстать дизайн интерфейса, а заводить свой птичий язык описания UI который в итоге всё равно будет жалкой пародией на HTML5+CSS+JS - дорого. При том, что моего стэка описания UI есть штате художники и верстальщики, для которых этот UI - одна из многих задач, а для доморощенного DSL я наверняка никого нанять не смогу. Вероятно, _очень_ сложные интерфейсные эффекты я и в самом деле не смогу сделать, но пока что ничего такого не заказывали.
По сути программист у меня просто добавляет в Webkit дополнительные методы, которые верстальщики дёргают из JS.

[identity profile] zelanton.livejournal.com 2013-10-19 09:09 am (UTC)(link)
кастую пиздец на поддержке с ебанными call-стэками и обработку элементарных операций через анальную жопу.

И недоумеваю что мешает программисту и дизайнеру просто тесно взаимодействовать, где программист просто будет подчинён художнику в плане UI. Получится на порядок проще.

А "_очень_ сложные интерфейсные эффекты" - это вообще что?

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

[identity profile] theiced.livejournal.com 2013-10-19 09:23 am (UTC)(link)
у тебя опять зелантон. его даже противогаз уебанил же, а ты тупишь.

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

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

[identity profile] metaclass.livejournal.com 2013-10-19 09:32 am (UTC)(link)
Готового не видел. Условно можно считать что у Rails scaffolding такой, но оно унылое все.

[identity profile] toshnota.livejournal.com 2013-10-19 09:35 am (UTC)(link)
*и здесь бурные аплодисменты с галерки*

[identity profile] dev117.livejournal.com 2013-10-19 09:42 am (UTC)(link)
Сейчас не знаю как, но когда-то в автокадах был очень удобный CLI с DSL.
На чертеже курсором с помощью привязок определяются точки, в командной строке пишутся команды рисования линий и координаты. Очень удобно после запоминания нескольких команд, в тулбары приходилось тыкать очень редко, а в меню ходить практически никогда.
Вот там реально было ощущение что делаешь дело и не отвлекаешься на лишние мышедвижения, поиск экранных кнопок и попадание по ним.

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

[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:24 am (UTC)(link)
Scaffolding - это вроде генерация сразу кода, а потом уже допиливание. Это не то совсем.

Вот это, по ихней рекламне похоже на то что мне бы хотелось: https://www.devexpress.com/Products/NET/Application_Framework/

Все никак не дойдут руки попробовать как оно на деле.

[identity profile] bydlorus.livejournal.com 2013-10-19 11:29 am (UTC)(link)
Ради одного только отсутствия модальных окон я бы всех заставил писать на веб-морде.

[identity profile] bydlorus.livejournal.com 2013-10-19 11:30 am (UTC)(link)
А должно быть на автолиспе. А это фу.

[identity profile] bydlorus.livejournal.com 2013-10-19 11:31 am (UTC)(link)
Хаус всё время искал волчанку, а айсед - зелантона.

[identity profile] jakobz.livejournal.com 2013-10-19 11:34 am (UTC)(link)
Это пять!

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

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

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

[identity profile] jakobz.livejournal.com 2013-10-19 11:49 am (UTC)(link)
А вот как ты делаешь на вебе редактирование master-detail штук интересно? Ну например когда мастер нельзя сохранять пока детали все не вбиты?

Я понимаю что модальные окна - неоднозначная с точки зрения удобства штука. Но я вот не понимаю как еще делать какие-то большие изменения данных атомарно.

[identity profile] bydlorus.livejournal.com 2013-10-19 11:53 am (UTC)(link)
Я вообще давно не веб-программист, так, кое-что писал раньше, но было два подхода - или хранить временный полузаполненный объект в базе и юзать его id, или гонять туда-назад (по кнопкам next/prev) все данные объекта.

[identity profile] berezovsky.livejournal.com 2013-10-19 12:10 pm (UTC)(link)
Идея в том, чтобы разделить создание интерфейса на две части.
Первая часть - построение каркаса, это можно частично сделать при генерации.
Что при этом будет выдаваться - дотнет-код, дельфи-код, qt-код, XAML или HTML и т.д. - не суть важно.
Вторая часть - заделывание каркаса декорациями. Тут уже включаются руки и творческий подход.
Что это будет - накладывание мастер-страниц, стилей, выставление свойств и т.п. - тоже не принципиально.

[identity profile] theiced.livejournal.com 2013-10-19 12:48 pm (UTC)(link)
ты что совсем ебанашка?

[identity profile] jakobz.livejournal.com 2013-10-19 12:59 pm (UTC)(link)
Вот и вот-то. И при любом раскладе обмазать это все тонной яваскрипта. При том что такое же любой юниор на десктопе сделает без включения мозга.

А потом еще QA придет и проверит что будет если кнопочки back понажимать, пооткрывать какой-нибудь второй шаг в нескольких окнах, поделать это все из сессий разных юзеров с одним объектом, а потом - еще совместить это все вместе.

[identity profile] jakobz.livejournal.com 2013-10-19 12:59 pm (UTC)(link)
нет

[identity profile] theiced.livejournal.com 2013-10-19 01:18 pm (UTC)(link)
а я так вижу что совсем.

[identity profile] guamoka.livejournal.com 2013-10-19 02:02 pm (UTC)(link)
По нажатию на которую выскакивают тысяча китайцев индусов и начинают созывать митинги, ажалить и оперденить и по удалёному доступу управлять девайсом, удаляя старый код и нарезая новый.

[identity profile] guamoka.livejournal.com 2013-10-19 02:09 pm (UTC)(link)
один раз хаус-таки её неожиданно нашёл

Page 2 of 5