ASP.NET

Всякий раз когда приходится что-то делать при помощи ASP.NET или, того хуже, просматривать чей-то код, не покидает ощущение копания по локоть в большой столовской кастрюле с макаронами.

Пока, как оно и положено веб-интерфейсу, сценарии использования просты, то с неадекватной задаче сложностью кода можно как-то мириться. Дальнейшее усложнение сценария приводит к нарастанию кода по экспоненте. AJAX еще более усугубляет положение.

Сценарий, требующий десяток-другой строк кода для обычного оконного клиента, оборачивается сотнями строк спагетти из HTML, Javascript и Code behind. Событийная модель на порядок беднее не то чтобы VCL/WinForms, а даже FoxPro 2.0 для DOS образца 1992 года. 5 клиентских событий у PageRequestManager, из которых 4 отрабатывают только при асинхронном вызове, оказываются пределом мечтаний.

Существующая подсистема пользовательского интерфейса у клиента из трех-четырех десятков экранных форм реализована примерно сотней тысяч строк, при том, что создатели четко отделили слой представлений от бизнес-логики, а общие элементы выделены в controls разного уровня: от custom до композитных user...

Хочется пожелать коллегам, ответственным за выбор технологий и платформ, всячески обосновывать необходимость использования веб-интерфейса.

Комментарии

простота

В свое время у веб-интерфейсов было много конкурентов, но web победил благодаря простоте решения простых задач. Да, там много чего не было, поэтому потом пришлось навесить JavaScript, CSS, AJAX и прочее. Самое печальное, что изначально ведь было понятно что все это потом понадобится, догадаться к чему это приведет можно было в самом начале.

С багтрекерами периодически наблюдаю у клиентов аналогичную историю (да и сами через это прошли), когда выбирается простой продукт для простого решения простой задачи, потом задача начинает усложнятся с очевидными последствиями.

Обратная проблема "из пушки по воробьям" встречается, как мне кажется, гораздо реже.

Изображение пользователя st.

Связка

Например, связка HTML/CSS (более общий вариант XML/XSL) удачная и простая. Но декларативность оказывается недостаточна для динамики. Первое же добавление на страницу императива в виде жабоскрипта убивает простоту первоначальной концепции.

Re: ASP.NET

С опозданием, конечно... Тем не менее, Сережа, обрати внимание на реализацию MVC ASP.NET: http://www.asp.net/mvc/

Вроде, направляют стопы своя в нужную сторону... Хотя, и там не все гладко.