Как максимально упростить разработку GUI WEB приложения?

Уже к концу 90-х RAD IDE типа Delphi, C++ Builder и Visual Basic довели разработку классических десктопных приложений почти до идеала: во многих случаях программисту больше не надо было думать о реализации и нюансах работы стандартных элементов GUI, а только раскидать их по форме и прописать логику прикладного плана. Вершиной развития этого направления стал, наверно фрэймворк WinForms (многие ругают его и вышеупомянутых предшественников за поощрение смешивания кода бизнес-логики и представления, но лично я не вижу проблемы с вынисением логики по максимуму в отдельную class library и структурированием кода в ней "по всем понятиям", тут как всегда "разруха не в клозетах, а в головах"). Вот интересно есть ли уже что-то столь же (или более) удобное для web?

Очевидно, что в наше время задачи практически любого уровня (и персональные хобби-проекты, и информационные системы для предприятий) зачастую удобнее реализовывать в виде web-приложений (чтобы иметь доступ к ним из разных мест, централизованную базу данных, возможность легко делиться с друзьями/коллегами и, едва ли ни главное - возможность запуска на любой современной ОС), но любой, пошедший этим путём сталкивается с необходимостью придумывать и реализовывать (верстать и кодить) дизайн страницы, "плясать от" примитивов HTML, вникать довольно во многое и писать вручную сравнительно много не связанного напрямую с реализацией бизнес-логики кода (есть, конечно, WYSIWYG-среды типа DreamWeaver но генерируемый ими код (который потом всё-равно придётся поддерживать) - это "ужас на крыльях ночи"). Какие есть варианиы обхода этого?

В идеале, мне кажется, должно быть декларативное описание дерева GUI (причём на базе не HTML-примитивов (как обычный DOM), а какого-то более вменяемого набора виджетов, реализация которых убирается "под капот"), отдельное от него опциональное (должен быть вменяемый стандартный) описание "скина" и отдельно файлы кода логики, оперирующей исключительно тем, что описано в упомянутом выше декларативном описании UI плюс внешними сервисами.

Есть уже что-то такое? Мне, человеку с более чем десятью годами десктоп-разработки за плечами, работающему в основном в одиночку и горящему желанием реализовывать непосредственно прикладные идеи, а не заниматься собственноручно web-дизайном и вёрсткой этого иногда очень нехватает...
  • Вопрос задан
  • 3238 просмотров
Пригласить эксперта
Ответы на вопрос 5
dmitry-polushkin
@dmitry-polushkin
Инженер программного обеспечения
@suslik2015
Этот подход реализует целый зоопарк java фреймворков таких как JSF, GWT, primefaces и д.р. Но у них куча своих недостатков - сложный жизненный цикл, трудность кастомизации, нагрузка на сервера выше.
А что касается вэб-компонентов то сейчас самая нормальная реализация идеи, на мой взгляд, React.js. Простой, быстрый, не навязывает архитектуры, кроссбраузерный, легко тестировать, с поисковиками нет проблем.
Ответ написан
TimeCoder
@TimeCoder
Может я что-то упустил, но чем ASP.NET WebForms не подходит? Визуальный редактор форм, практически как в упомянутых Delphi/Builder/WinForms, который превращается в HTML при обращении к сайту (насколько я помню даже кроссбраузерно).
Ответ написан
Комментировать
@ArcadyP
Для меня ваш вопрос тоже актуален.
Присматриваюсь к Xojo и Wakanda, но это экзотика и использовать в реальных проектах, сомнительно. Неизвестно какая их ждет судьба в дальнейшем (вдруг закроются?)
А вы в итоге остановились на чем-то?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы