Почему веб-фреймворки на основе действий преобладают? - PullRequest
2 голосов
/ 12 июня 2010

Большинство веб-фреймворков все еще используют традиционную модель MVC, основанную на действии.Контроллер получает запрос, вызывает модель и делегирует рендеринг в шаблон.Именно это делают Rails, Grails, Struts, Spring MVC ...

Другая категория, основанные на компонентах фреймворки, такие как Wicket, Tapestry, JSF или ASP.Net Web Forms, стали более популярными вВ последние годы, но я считаю, что традиционный подход, основанный на действиях, гораздо более популярен.И даже ASP .Net Web Forms стал родным названием ASP .Net Web MVC.Редактировать: Может быть, мое восприятие было неправильным из-за впечатления растущего интереса к Wicket.Если я задам Google Trends , в традиционных MVC-средах наблюдается гораздо больший рост.

Я думаю, что типы приложений, построенных с использованием обоих типов, сильно перекрываются, поэтому возникает вопрос:: Почему основанные на действии рамки так преобладают?

Ответы [ 6 ]

6 голосов
/ 12 июня 2010

компоненты на основе компонентов, такие как Wicket, Tapestry, JSF или ASP.Net Web Forms, стали более популярными за последние годы

[Требуется цитирование]?

Я серьезно сомневаюсь в этом утверждении.MVC завладел сферой .Net blog / twitter.Очень трудно найти кого-то, кто сказал бы: «Мы будем использовать веб-формы для нашего следующего проекта».


MVC лучше соответствует природе Интернета без состояния.Компонентные фреймворки - это абстракция, которую веб-разработчики не хотели.

2 голосов
/ 12 июня 2010

Почему вещи более популярны?У них есть несколько причин: из-за хорошего пользовательского опыта, быстрого цикла разработки, дешевых вещей и т. Д.

Но иногда

самые громкие

или наиболее раскрученные (рельсы, хотя этоотлично ;-))

или самый высокомерный (яблоко)

или вещи с самым агрессивным маркетингом (майкрософт)

победят.

Это называется эволюцией.

Кстати: я с Thevs.Фреймворки на основе компонентов будут финальными победителями (например, GWT / Vaadin или wicket).

1 голос
/ 16 июня 2010

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

1 голос
/ 12 июня 2010

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

1 голос
/ 12 июня 2010

Я полагаю, это потому, что основанные на действии фреймворки дают разработчикам (и дизайнерам) больший контроль над внешним видом страницы.Компонентно-ориентированные фреймворки пытаются (безуспешно, ИМХО) скрывать тот факт, что сеть - это сеть.Они пытаются сделать веб-программирование чем-то вроде программирования нативного набора инструментов для рабочего стола, такого как WinForms или Cocoa.

Но Интернет сильно отличается от этого.Я думаю, что основанные на действии фреймворки популярны, потому что они это признают.

РЕДАКТИРОВАТЬ

Очевидно, некоторые люди неправильно поняли, что я имею в виду под этим, поэтому позвольте мне прояснить ситуацию.Я НЕ критикую веб-приложение, которое кажется пользователям функционирующим как настольное приложение.У меня абсолютно нет проблем с этим.

Я говорю о методологии и философии базового кодирования .Каждый тег в системе библиотеки тегов отображает HTML определенным образом, аналогично виджету в библиотеке настольного программирования, такой как Cocoa или WinForms.Некоторые системы позволяют настраивать отображаемый HTML, но иногда это может быть нетривиальным.Он будет визуализировать CSS-классы и т. Д., Над которыми вы либо имеете небольшой контроль, либо должны приложить особые усилия для контроля.Он претендует на то, чтобы быть решением «черного ящика», но не может быть, потому что, если вы хотите стилизовать визуализированный HTML-код или нацелить его на JavaScript, вы должны понимать его структуру и т. Д.

0 голосов
/ 12 июня 2010

Я думаю, что вы только видите эти рамки, показывающие все вокруг. Но большинство программистов используют собственные (пользовательские) или гораздо более простые модели фреймворков (например, ExtJS или JQuery) и молча выполняют свою работу.

РЕДАКТИРОВАТЬ: Между прочим, я думаю, что модель MVC пытается имитировать старую и, вероятно, устаревшую модель разделения бизнеса / презентации, которая была предложена для устаревших приложений некоторое время назад. Я не вижу будущего для этой модели (через 2-3 года). AJAX уже меняется в процессе работы с бэкэндом.

...