Как стать автором
Обновить

Комментарии 16

«И насколько это функционально, быстро, удобно и практично.»
И какой результат, по вашему мнению, по сравнению с разработкой на Ruby on Rails?
Ну это пока это бета, и окончательно судить рано, нужно дождаться релиза, но в целом движение в сторону Rails наблюдается. Создание ASP.NET MVC это был первый большой шаг в этом направление. Ruby on Rails, конечно, более мотерое на сегодняшний день в плане MVC. Но Microsoft наступает на пятки.
Тут вообще можно заметить практику MS брать лучшие идеи у других и использовать их.

Сравнивать Ruby vs .NET я не хотел бы, это вопрос религии.

Мое заключение: если вы планируете использовать ASP.NET MVC можно вполне начинать пробовать эту технологию на небольших, тестовых проектах и прототипах, это будет быстро, удобно и практично.
> Сравнивать Ruby vs .NET я не хотел бы, это вопрос религии.
Вовсе не религии. Они разные.

И RoR — не более матерый, он просто другой, и куда более «узкоспециализированный», более «opinionated», многие решения типа «way of doing things» там уже приняты, а ASP.NET MVC предлагает куда более общий фреймворк, каждый должен построить на нем свой opinion. ASP.NET MVC матер так, как нужно.

Я не совсем понимаю желание многих сделать из ASP.NET MVC «новый RoR на .NET». На мой взгляд, не нужно делать из C# новый Ruby (Ruby уже есть). ASP.NET MVC хорош тем, что он использует .NET и сопутствующие бенефиты (например, статическую типизацию, compile-time-check и прочее). А это все влечет так или иначе другой стиль работы разработчика.

У ASP.NET MVC никогда не будет простоты Ruby on Rails. Именно поэтому многие (и мы в том числе) пишем свои opinionated-надстройки над MVC, а также появляются проекты типа FubuMVC.
НЛО прилетело и опубликовало эту надпись здесь
Да, согласен полностью.
И в этом смысле я рассматриваю MvcScaffolding как еще одну opinionated-надстройку над MVC использования практик из Rails, не более того.
— Пейджинг и фильтрация в списках
— Поддержка отношений „многие-ко-многим“
Вы только что перечислили одни из самых важных corner-stone'ов большинства проектов :)

Насчет скаффолдинга в целом. Идея, конечно, хорошая, но в более-менее сложном проекте ни разу не помогала. Сущности и их связи, логика, и контроль доступа всегда не столько сложны, сколько разнородны, что убивает саму идею скаффолда. Что касается генерации базовых форм для простых сущностей, то это все (знаючи) делается вручную очень быстро. И большая часть времени разработки тратится все равно не на это.
Да, согласен с вами. 80% работы в деталях. Но мне кажется, что идея скаффолда, «подмостки» так сказать, быстро начать что-то делать в плане функционала и попробовать это как прототип и не углубляться в детали. Обычно такой прототип потом выбрасывается. В этом плане еще одна ценность скаффолда — на сколько этот код может быть использован потом в основном проекте. И это конечно не «серебряная пуля», я рассматриваю это только как средство для создания прототипа новых фич в проекте.

На счет быстроты — для меня наверно все таки удобнее и быстрей настроить это под себя и набрать несколько строк(это в идеале). Т.е. мой пример должен выглядеть примерно так:

Scaffold Initialize
Scaffold Model -ModelName Make -Fields Name:string,Models
Scaffold Model -ModelName Model -Fields Name:string,Make,Years
Scaffold Model -ModelName Release -Fields Model,Year,Parts
Scaffold Model -ModelName Part -Fields Name,Desciption:string,Price:decimail,Group,Releases
Scaffold Populate

И на выходе я получаю готовый функционал.
Я кстати, набросал простой скаффолд для генерации модели — минут 15 это заняло. Если интересно продолжение этой темы — могу запостить.
Ну, я не спорю с тем, что скаффолд чем-то хорош, и не говорю, что он чем-то плох. Говорю только, что на практике пользы от него было мало, так как почти все сущности чем-то уникальны и имеют какие-нибудь сложные связи. Можно было бы создавать свои скаффолд-шаблоны под основные нестандартные прецеденты, но и в них нюансов оказалось достаточно, чтобы стать накладным.

Более-менее реальное применение для него вижу на уровне View, обычно это та часть, где присутствует наиболее скучная и повторяющаяся задача.

Впрочем, посмотрим куда скаффолдинг вырастет дальше. Если они в итоге покроют основные сложные элементы — получится вполне себе хорошая штука.
Имя контекста может не совпадать с именем строки подключения(см. базовый класс). Не вводите людей в заблуждение)
Это важно для того, чтобы все работало по умолчанию. Класс контекста также создается в процессе scaffolding-га. Так, что в этом случае он должен совпадать. Потом да — это можно изменить, не принципиально.
НЛО прилетело и опубликовало эту надпись здесь
По идее можно Scaffold для генерации админки использовать…
Если уж надо использовать .NET — я бы использовал ASP.NET Dynamic Data — да, это не MVC, зато полноценный скаффолдинг с фильтрацией(!), сортировками(!!), пагинацией(!!!) и поддержкой связей многие-ко-многим(!!!!!).
вот он для админки хорош
Может я не прав, но, по-умолчанию скаффолдинг уже есть в MVC, причем еще и во второй версии был. Но в третьей получше стал. Кроме того, не затрагиваются вопросы валидации, это тоже один из плюсов ASP.NET MVC 3.

Как понял из статьи, представленный тут скаффолдинг отличается от встроенного тем, что он еще и контроллеры с акшинами строит. В стандартном скаффолдинге строится только вюшка.

www.asp.net/mvc/tutorials/getting-started-with-mvc3-part8-cs Извините, что сразу ссылка на 8ю часть, просто у меня в данный момент эта страница открыта :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории