Когда я слышу термин «быстрое развитие», я обнаруживаю, что люди обычно используют его в контексте «как быстро я могу разработать новое решение». Есть много факторов, которые необходимо учитывать, прежде чем можно будет найти разумный ответ.
- Насколько знаком разработчик с фреймворком?
- Насколько всеобъемлющий дизайн?
- Насколько сложны требования?
- Насколько стабилен фреймворк?
Впервые я связался с ASP.NET MVC незадолго до выпуска 1.0. До этого я был очень хорошо знаком с ASP.NET WebForms, но все равно был разочарован процессом разработки в целом. Я знал о целях, связанных с разделением интересов, и знал, что четкое разделение невозможно с WebForms, не противореча тому, что было создано фреймворком.
Со времени работы с ASP.NET MVC я очень быстро обнаружил, что по ряду вещей я скучаю по лодке. В то время как WebForms позволяет вам создавать вещи «быстрее», вы в основном становитесь заложниками реализации Microsoft, а не позволяете вам легче усваивать установленные стандарты (такие как JavaScript, CSS и AJAX) в средах, в которых нет Microsoft. Кроме того, создание новых инструментов, моделей поведения и функциональных возможностей не должно быть мотивировано продажами и прибыльностью, а потому, что этого требуют технологические требования сообщества разработчиков. Я работаю над этим текущим проектом MVC с апреля. Мне очень нравится работать с этим фреймворком, и я очень рекомендую его всем и всем, кто заинтересован в переходе с WebForms. Изучение фреймворка занимает немного времени, но как только вы его понимаете, вы буквально удивляетесь, почему вы не смогли бы так поступить с самого начала.
Вы можете быстрее создавать приложения с помощью WebForms, но, если вы хотите, чтобы веб-сайты выглядели профессионально, вам придется вкладывать средства в библиотеки компонентов, которые по-прежнему будут требовать изучения этих установленных стандартов для их правильного использования. Если завтра мой 11-летний сын проявит интерес к изучению веб-разработки, учитывая выбор WebForms или MVC, я бы выбрал MVC. При этом я по-прежнему буду направлять его к изучению JavaScript, jQuery и AJAX еще до того, как он коснется MVC, потому что понимание этих структур делает понимание почти всех остальных намного проще.
Лично я не сторонник "быстрого развития". Я провел свою карьеру в качестве корпоративного разработчика и рассматривал внутреннее развитие как инвестицию. Я бы предпочел тратить на 20% больше времени на проектирование и разработку, чем сокращать проект на 20%, просто чтобы уложиться в нереальный срок. Каждый доллар, «сэкономленный» при первоначальной разработке, легко обойдется вам по меньшей мере в 1,5 доллара из-за затрат на обслуживание, переобучение и архитектурных изменений в связи с новыми требованиями. Но не все думают так, как я, поэтому ... мой простой ответ - MVC.