Определенно копаться в ASP.NET MVC2 .
Все наши проекты сейчас разрабатываются с использованием ASP.NET MVC2. Это не просто масштабируемый . Это также тестируемый . Что приводит к лучшему обслуживанию приложений в долгосрочной перспективе.
WebForms против MVC2 очков - (говорит на собственном опыте):
Масштабируемость:
В нашей компании было много приложений, использующих веб-формы, которые затем обновлялись и менялись по мере необходимости нашими клиентами.
Я думаю, ваш клиент будет запрашивать дополнительные изменения в приложении в ближайшем будущем. Звоните в другие службы, и, возможно, вам придется переделывать части конечного продукта в соответствии с их пожеланиями.
А с появлением Cloud Computing и платформой Windows Azure вам, вероятно, придется идти в ногу со своим кодом.
ASP.NET MVC полностью поддерживает концепцию возможности масштабирования вашего приложения в любое время.
Я помню, как один из наших клиентов подошел ко мне и попросил у меня расширение для их приложения (у них есть система управления пользователями), и эта функция содержала бы что-то вроде ссылки для экспорта текущего представления в виде файла csv
, поэтому они могли бы делать с ним офисные вещи (в основном серийные письма).
Это не было большой проблемой при настройке этой функции. (заняло около 2 часов, включая написание тестов) - перейдем к тестам:
Тестируемость:
Используя WebForms
, у нас не было особого интереса к написанию тестов, потому что это было просто больно.
Я помню, как писал несколько тестов, чтобы иметь хоть какие-то доказательства, но давайте отбросим эту тему .. (: p)
У нас были тесты для наших пользовательских классов, но мы не могли действительно протестировать все EventHandlers в WebForms.
Благодаря этой тестируемой среде наша CodeBase удобнее и безопаснее в использовании. Я просто проверяю некоторый код, модифицирую его, запускаю все тесты и: О, он сломался из-за странного поведения! - Давайте исправим это снова. Ранее я помню, как сидел с отладчиком и пытался найти эти ошибки часами.
С ASP.NET MVC2 нам не хватает тестов!
Мы просим всех людей (даже не веб-пользователей) предоставить тестовые наборы, которые мы могли бы добавить в наш TestSuite .
И да, есть и некоторые AJAX-элементы управления:
AJAXability:
Вы спрашивали об элементах управления AJAX, и в связи с ASP.NET MVC я настоятельно рекомендую вам проверить Telerik ASP.NET MVC UI Controls .
Если это не для вас, мы также широко используем jQuery и jQuery UI
С ASP.NET MVC и представлениями HTML эти библиотеки не просто приятно использовать, они просто потрясающе выглядят.
Больше нет random-html-tag-id-value
автогенерации!
Но что мне больше всего нравится, так это то, что вы, наконец, действительно можете снова использовать свой код.
В этих рамках гораздо больше, чем просто система шаблонов T4. Авто-леса для ViewModels / DomainModels с методом Html.EditorFor()
и, конечно, есть отличный и простой способ использования IoC и DI парадигмы.
Предполагая, что вы задали вопрос, главным образом, с тегами, связанными с .NET Framework, вы, вероятно, будете придерживаться его.
Просто, чтобы сохранить пост завершенным, есть и другие фреймворки, которые так же хороши (или даже лучше):
И многое, многое другое!