Фев
12
Я немного знаком с ASP.NET MVC. Написал несколько проектов на этом фреймворке, один из них работает даже на Mono. Ребята, что закодили MVC наверно очень счастливы от своего детища. Как минимум они получили статус MVP и денег для хорошего отпуска. Может я чего-то и не понял, но я больше не собираюсь использовать ASP.NET MVC для своих проектов, как минимум до основательной переработки. Попробую объяснить почему.
- По моему, ASP.NET MVC притянут за уши. Достаточно взглянуть в ASPX кишащий скобками с процентом для вставки какого либо параметра из модели. Мне это видится возвратом к php третей версии без использования шаблонов.
- Вместо того, чтобы создать новый подход к рендерингу и созданию страниц, разработчики пошли другим, простым путем и расширили и без того тяжелый цикл жизни ASPX страницы. Теперь страница сама по себе ничего не делает, но продолжает содержать в себе огромное количество объектов и событий, которые никем больше не используются.
- ASP.NET MVC убил самое ценное, чем ASP.NET мог гордится — Postback и Viewstate. Зачем мне теперь его использовать, если тоже-самое и еще больше можно получить например, от Python с Django за меньшее время?
- Для чего вообще приставка MVC в ASP.NET? По моему в самом ASP.NET достаточно слоев, чтобы разделить логику. Codebehind можно использовать в качестве контроллера, а aspx в качестве представления. При этом создавать оба класса одним щелчком мыши, а не бегать по папкам и подтирать лишнее.
- Такого количества «Best practice» я не видел ни в одном другом фремворке. Нет, мне не лень учить и следовать им, просто создается ощущение, что это не правила для повышения производительности разработчика, а ограничения, которым последний должен следовать, чтобы что-то в итоге все-таки получилось. Вот первая часть подтверждения, правда на английском.
Оговорюсь, что это просто мысли автора, построенные на собственном практическом опыте. Я не хотел никого обидеть или к чему-то призывать.
Похожие статьи
- 10 ноября 2009 -- Postback события ASP.NET из JavaScript (0)
- 22 августа 2008 -- Собственная страница для обработки ошибок на ASP.NET (0)
- 14 июня 2011 -- Обновление Mono до 2.10 на DreamHost (0)
- 3 ноября 2009 -- Установка Mono на Dreamhost или другой выделенный сервер. (1)
- 21 января 2010 -- Mono 2.6.1 и VirtualBox (20)


26 февраля, 2010 at 22:46
Чувак, ты мега прав, я кстати после него всё таки попробовал перейти на Django в надежде юзать линуксовые более дешёвые сервера, но это тоже только трата времени. Реально вернулся к старому доброму ASP.NET, но скорее как контейнер для девелопинга на C#, просто не использую всякие там рипитеры и гриды. Jquery и Ajax, приятно задышал.
27 февраля, 2010 at 21:04
А я только вот хочу попробовать джангу. Мне нравится тот уровень абстракции, который там используется. Да и для Google App Engine подходит вроде как лучше всего.
27 февраля, 2010 at 23:08
Больше всего проблем там от того, что нет человеческого дебага, так я его и не обнаружил. Плюс, быстро кодить сложно из-за того что это Python, к их пакетам и их названиям я так и не привык, а каждые 5 минут в документацию по каждой функции типа работы со строками. Отсутвие юникод. Задумки в стиле миграции базы, не удобные, намного проще кликать «Сохранить в Скрипт» в Sql Server. Вообщем flow одним словом.
18 марта, 2010 at 18:01
«Codebehind можно использовать в качестве контроллера, а aspx в качестве представления». Так это всё равно потом компилируется в один класс, где смешано представление и контроллер, или не так? Класс в codebehind — это как правило partial. Страница .aspx затем дополняет его.
Поясни.
19 марта, 2010 at 13:16
Нет, .ASPX файл не компилируется (если конечно об этом специально не попросить). В любом случае, я говорю о разделении кода во время разработки. Для меня не играет никакой роли тот факт, как программа выглядит после компиляции, лишь-бы выполнялась она быстро и не жрала лишних ресурсов.
19 марта, 2010 at 13:18
Окунулся я вообщем в документацию и сорс, дело действительно идет медленно. Омрачает еще факт отсутствия возможности строгих типов — прощай Intellisence.
12 мая, 2010 at 0:44
хороший ресурс
8 декабря, 2010 at 1:33
Вся модель, что построена на WebForms совершенно не позволят создавать очень гибкие приложения. Сколько я намучился с этим ASP.NET, пока не стал использовать ASP.NET MVC.
Сейчас очень многое подвязано на ajax, соответственно в asp.net классическом это связано с UpdatePanel — глючнее и тупее я еще не видел реализаций обмена информации между клиентом и сервером.
Тем более MVC, позволяет удобно использовать JS фрэймворки, что позволяет избавится от MS решения. к примеру jQuery. А для корпоративных порталов, я использую extJS.
В итоге решение на классическом ASP.NET WEBForms это для людей которые совершенно не понимают что есть разработка для интернет.
Изернет, я тоже преплету. Очень многие вещи на MVC решается в каких то одну-две операции, когда на WEBForms приходится перекодить очень многое, очень много лишнего изучить, понять как работает, и натнутся на то что это не реализуется вот так просто.
К примеру UpdatePanel в Repeater — это ящик пандоры для багов.
+ MVC в том, что и дебагинг на нем производить куда проще.
Желаю вам господа понимать что такое разработка для WEB и попробовать расширить свой кругозор.
Кстати на заметку — многое в ASP.NET MVC было передернуто у RoR (Ruby). Читал, пробовал, замечательная весч.
8 февраля, 2011 at 9:00
ASP.NET MVC придуман исключительно для гурманов супер объектно-ориентированного программирования. Вместо того , чтобы заниматься улучшением ASP(например многие наверное знают , что есть такой глюк как вызов Page_Load два раза и прочее) microsoft идёт по пути замутить воду. Сажать огромных объетивно -ориентированных монстров на хилый HTTP протокол — это просто смешно. К сожалению все эти нововведения как и по выпоску новых операционных систем, так и методов программирования основаны не на улучшении чего-либо , а на том, чтобы заработать на этом по-больше денег.