Являются ли серверные инфраструктуры MVC пиковыми? - PullRequest
2 голосов
/ 07 октября 2008

Я занимаюсь разработкой веб-приложений уже более десяти лет, от CGI до ASP.Net и Struts + Spring + Hibernate . Преобладающим архитектурным стилем, по-видимому, является MVC с поддержкой сервера , например. Struts , Ruby on Rails и т. Д. Недавние события заставляют меня спросить, не снижаются ли они.

Все это заставляет меня поверить, что мы начинаем полный круг после 15-летнего отвлечения, начатого изобретением сети. За этот период времени мы были настолько очарованы всем, что может предложить Интернет, что мы не заметили, что удобство использования (и опыт разработчика) веб-приложений в значительной степени отстой по сравнению с настольными приложениями. Кажется, мы сейчас говорим: « Винт это! Мы любим преимущества Интернета, но мы также хотим улучшить удобство использования, автономные возможности и лучшую интеграцию с рабочим столом! ».

Все вышеперечисленные разработки, похоже, подталкивают нас к тому, чтобы вернуть логику представления туда, где она была: клиент. Не поймите меня неправильно, я не думаю, что серверные инфраструктуры MVC скоро исчезнут, но я думаю, что они находятся в упадке и RIA s и RDA s на подъеме.

Итак, что вы думаете? Находятся ли серверные инфраструктуры MVC вблизи их пиковых ?

Ответы [ 2 ]

3 голосов
/ 07 октября 2008

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

Мы начали со всего на клиенте - потому что это все, что было. Затем это был клиент-сервер, который разделил их, затем постепенно клиентский бит прореживался и возвращался на сервер по одной причине:

Клиенты

высосали (win95, macos <10, unix X11), и развертывание было кошмаром. Развертывание браузера было тривиальным. </p>

Это меняется. Air легко устанавливается, как и .NET 3.5. Приложения Air легко развернуть (нажмите здесь - скажите «да»!), Как и приложение WPF Click-Once. Сеть теперь является частью среды, а не чем-то особенным, что нужно было добавить. База данных - это то, что вы можете встроить в приложение silverlight (SQL Server Compact Edition) или iphone (SqLite), а не то, для чего вам нужен большой сервер.

и все имеет автообновление, что делает историю после установки намного лучше.

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

Silverlight / Air / Flash и т. Д. - все они очень мощные, но HTML + Javascript, который является основой серверных инфраструктур MVC, получил широкое распространение, особенно если вы игнорируете b'stard, то есть IE6.

Несмотря на это, я все равно буду писать бэкэнд для RIA в серверной инфраструктуре MVC, даже если они выбрасывают JSON, а не HTML. Поэтому, хотя они больше не являются главными, они далеки от мертвых (или достигают пика)

1 голос
/ 12 марта 2009

Позволяет уточнить кое-что!

  1. MVC - это всего лишь шаблон проектирования для разделения проблем. На самом деле нет никакого отношения к серверным фреймворкам.
  2. Не существует технической Web 1.0 или Web 2.0 ... JavaScript и Flash существовали годами. Речь идет только о социальных сетях, тегах и т. Д.

Фреймворки на стороне сервера совсем не мертвы . Я согласен с Nic Wise в случае плохой клиентской архитектуры / рендеринга. Можете ли вы распечатать страницу HTML (каждый раз таким же образом)? Нет, вы не можете, потому что каждый браузер (-инжиниринг) имеет свое собственное представление вашего HTML-описания. Только из-за того, что JavaScript / Flash ... являются ограничениями для многих людей / компаний, обработка на стороне сервера останется там надолго.

Разработка JavaScript "Беги куда угодно" долгое время была обузой! В настоящее время у нас есть такие фреймворки, как JQuery, которые делают эту работу для вас. Я написал свою домашнюю страницу на JavaScript, используя EJS (Embedded JavaScript) для шаблонов / mvc. Старые раздутые страницы JSP / PHP показали, что отличать бизнес-логику от дизайна - это действительно хорошо.

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

Я немного работал с SOFEA / SOUI. Если у вас есть готовый фреймворк для решения самых распространенных проблем, он вам понравится.

Air и Flex хороши, но они налагают множество ограничений (Flash / JS ...). Google Chrome и Gears требуют, чтобы вы установили программное обеспечение Google на свой компьютер. У кого здесь есть Gears? Gears не является широко распространенным стандартом.

Если у вас есть опыт работы с Hibernate / Spring и Struts, попробуйте Grails! Приятно разрабатывать бэкэнды GWT / FLEX & AIR / SOFEA & SOUI, а также для старой доброй серверной рендеринга HTML.

Мне нравится SOFEA / SOUI, потому что он не такой агрессивный, он предлагает защиту инвестиций (сервисы SOA) и высокую степень повторного использования. Это также хороший способ перенести нагрузку с вашего сервера на клиентов.

...