Мне кажется, что пока нет названия для такого рода фреймворков, о которых вы все говорите в этой теме. На данный момент я называю их просто фреймворками, похожими на RAILS : фреймворки, которые повышают производительность, координируя другие существующие фреймворки с целью удовлетворения основных потребностей большинства веб-приложений, но в то же время скрывают все сложности от разработчика.
Под базовыми потребностями я подразумеваю реализацию поставщика сохраняемости, контейнера проверки зависимости, инструмента ведения журнала, платформы MVC, механизма шаблонов HTML, начального набора шаблонов веб-сайтов с предустановками CSS, инфраструктуры безопасности и некоторых библиотек Javascript для функций AJAX. и другие интересные вещи. RAILS-подобные фреймворки управляют всеми этими фреймворками и инструментами на основе модели домена (сущностей вашей системы с ее атрибутами).
Благодаря принципу «Соглашение о переконфигурации», эти платформы избавляют от необходимости определения большого количества файлов конфигурации, обычно необходимых для интегрируемых ими структур (таких как Spring, Spring MVC, Hibernate, Log4J и т. Д.), Принимая конфигурации по умолчанию на основе именования. , структура и метаданные включены в те же определения классов.
Благодаря динамическим языкам, которые используют эти фреймворки (например, Ruby, Groovy, Python, Clojure и т. Д.), За исключением SpringRoo, который реализует динамическое поведение в Java с помощью AspectJ, функциональность, которая относится к фреймворкам, представленным ниже, расширена и сделаны доступными для разработчика таким единообразным и элегантным способом, что он / она просто знает о лежащих в основе технологий.
Наконец, благодаря технике Scaffold, автоматически генерируются модульные тесты, интеграционные тесты, контроллеры и представления для основных функций (CRUD) для каждого из объектов домена, определенных разработчиком.
В мире .NET еще ничего не было разработано, следуя всем предыдущим определениям. Но ничто не мешает этому произойти в ближайшее время. В мире .NET уже доступны отличные фреймворки, инструменты и библиотеки, которые могут быть организованы с помощью новой RAILS-подобной фреймворки, созданной для CLR. Есть Unity, Spring.NET и Castle Windsor, среди прочих, для нужд Dependency Inyection. Entity Framework 4, NHibernate и iBatis.NET довольно хорошие провайдеры .NET Persistence. ASP.NET MVC сильно прибыл с поддержкой различных шаблонизаторов помимо традиционного ASP.NET.
Даже если никто не достигнет использования языка DLR для создания такого рода фреймворков, любой, у кого достаточно будет воли, может пойти по пути SpringSource и внедрить RAILS-подобный фреймворк с некоторым статическим языком, таким как F #, C # или VB.NET, используя Aspect Ориентированный контейнер (например, AspectSharp или Gripper-LOOM.NET) для получения динамического поведения.
Я хотел бы знать о любой группе людей, пытающихся разработать такую среду в .NET.