Новый уровень представления для веб-приложений - PullRequest
3 голосов
/ 09 марта 2010

у нас есть существующее веб-приложение, написанное по волшебству. Но теперь мы в конечном итоге хотим обменять существующий уровень веб-презентации (возможно, также и на расширенный клиент) на уровень презентации на стороне сервера. Как вы думаете, я должен смотреть в первую очередь (ASP.Net MVC, Silverlight, что-то на PHP).

С какой технологией сравнительно мало усилий для обмена уровнем представления, если у вас есть только модель.

И возможно ли использовать общий уровень представления, чтобы мы могли создавать новые страницы без особых усилий.

1 Ответ

2 голосов
/ 09 марта 2010

PHP против ASP (или чего-либо другого, такого как Ruby on Rails и т. Д.) - это все о предпочтениях, о том, что вы знаете или думаете, что хотите увеличить. Позвольте мне поговорить об этом с точки зрения веб-разработчика Microsoft, если вы решите пойти по этому пути.

Если у вас довольно простое приложение ввода / вывода данных, и вам не нужно много динамического взаимодействия с экраном и вы хотите быстро разрабатывать функции, тогда ASP.Net - это то, что вам нужно. Вы можете делать много динамических вещей с Javascript и веб-сервисами, но ASP.Net не так гибок, как что-то вроде ASP.Net MVC. Однако в ASP.Net гораздо проще быстро разработать весь экран с помощью элементов управления на стороне сервера.

Если вам нужен больший контроль над выводом HTML, вы хотите более динамичное отображение с Javascript и хотите иметь возможность более легко использовать модульное тестирование, ASP.Net MVC - это путь. Разработка простых экранов займет больше времени, чем традиционное приложение ASP.Net, но разработка интерактивного контента, в котором сгенерированный сервером DOM должен хорошо сочетаться с манипуляциями на стороне клиента, будет идти быстрее с MVC. Модульное тестирование также не составляет труда с ASP.Net MVC, и существует множество примеров, показывающих, как создать хорошо протестированный сайт MVC. Я бы сказал, что ASP.Net MVC также может масштабироваться лучше, поскольку у вас больше контроля над выводом.

Если вам нужен действительно красивый пользовательский интерфейс с богатой графикой и анимацией, и вы хотите иметь возможность тестировать логику приложения, то Silverlight с использованием шаблона MVVM - это то, что вам нужно. Я пишу именно такое приложение прямо сейчас. Его довольно легко выполнить модульное тестирование (так же легко, как и любое другое модульное тестирование), легко смоделировать данные для тестирования пользовательского интерфейса с большими наборами данных, а Silverlight обеспечивает уровень графики, который вы не можете получить в HTML. Сказав это, вы будете иметь дело с меньшей аудиторией, использующей Silverlight, так как плагин необходим для просмотра Silverlight так же, как Flash. Silverlight также недоступен на iPhone. Silverlight также влечет за собой штраф за время загрузки, поэтому вам нужно подумать о том, насколько велико ваше приложение, а это не так в случае с «чистым» веб-приложением.

Смесь ASP.Net и Silverlight или ASP.Net MVC и Silverlight - ваш четвертый выбор. Вы можете сделать это, когда только части вашего приложения требуют расширенного пользовательского интерфейса, предоставляемого Silverlight. Проекты Silverlight и ASP.Net могут делиться файлами, поэтому вы можете использовать классы, разработанные вами для бизнес-логики, в обоих местах (с несколькими оговорками).

Надеюсь, это поможет, и удачи в вашем проекте.

...