Мені здається, що ще немає імені для такого роду фреймів, про які ви всі говорите в цій темі. Наразі я їх називаю лише RAILS-подібними Frameworks : Frameworks, які збільшують продуктивність, оркеструючи інші існуючі рамки з метою вирішення основних потреб більшості веб-додатків, але в той же час приховуючи від розробника всі складності.
Під основними потребами я маю на увазі реалізацію Постійного постачальника, Контейнеру огляду залежностей, інструменту ведення журналів, платформи 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, Innection є Unity, Spring.NET та Castle Windsor. Entity Framework 4, NHibernate та iBatis.NET є досить хорошими постачальниками .NET Persistence. ASP.NET MVC наполегливо підтримав різні двигуни шаблонів, окрім традиційних ASP.NET.
Навіть якщо ніхто не домагається використання мови DLR для побудови такого роду рамки, той, хто має достатньо волі, може пройти шлях SpringSource та застосувати RAILS-подібний фреймворк з якоюсь статичною мовою, як F #, C # або VB.NET, використовуючи аспект -Орієнтований контейнер (наприклад, AspectSharp або Gripper-LOOM.NET) для отримання динамічної поведінки.
Мені б хотілося знати про будь-яку групу людей, які намагаються розробити такі рамки в .NET.