Wydaje mi się, że nie ma jeszcze nazwy dla tego rodzaju frameworka, o którym wszyscy mówicie w tym wątku. Nazywam je teraz po prostu frameworkami podobnymi do RAILS : Frameworki, które zwiększają produktywność, koordynując inne istniejące frameworki w celu zaspokojenia podstawowych potrzeb większości aplikacji internetowych, ale jednocześnie ukrywając wszystkie złożoności przed deweloperem.
Przez podstawowe potrzeby mam na myśli implementację dostawcy trwałości, kontenera do sprawdzania zależności, narzędzia do rejestrowania, platformy MVC, silnika szablonów HTML, zestawu startowego szablonu witryny sieci Web ze wstępnymi ustawieniami CSS, struktury zabezpieczeń i niektórych bibliotek JavaScript dla funkcji AJAX i inne fajne rzeczy. Frameworki podobne do RAILS aranżują wszystkie te frameworki i narzędzia na podstawie modelu domeny (byty twojego systemu wraz z jego atrybutami).
Dzięki zasadzie Konwencja nad konfiguracją frameworki te eliminują potrzebę definiowania wielu plików konfiguracyjnych zwykle wymaganych przez frameworki, które one koordynują (takie jak Spring, Spring MVC, Hibernate, Log4J itp.), Domyślnie przyjmując konfiguracje na podstawie nazewnictwa , struktura i metadane zawarte w tych samych definicjach klas.
Dzięki dynamicznym językom, z których korzystają te frameworki (takie jak Ruby, Groovy, Python, Clojure itp.), Z wyjątkiem SpringRoo, który implementuje dynamiczne zachowanie w Javie za pomocą AspectJ, funkcje należące do poniższych frameworków są rozszerzone i są udostępniane deweloperowi w tak jednolity i elegancki sposób, że jest on świadomy podstawowych technologii.
Wreszcie dzięki technice rusztowania automatycznie generowane są testy jednostkowe, testy integracyjne, kontrolery i widoki dla głównych funkcji (CRUD) dla każdego z obiektów domeny zdefiniowanych przez programistę.
W świecie .NET nic nie zostało jeszcze opracowane, zgodnie ze wszystkimi poprzednimi definicjami. Ale nic nie stoi na przeszkodzie, aby to się wkrótce wydarzyło. Istnieją świetne frameworki, narzędzia i biblioteki już dostępne w świecie .NET, które mogą być koordynowane przez nowy framework podobny do RAILS stworzony dla CLR. Istnieją między innymi Unity, Spring.NET i Castle Windsor dla potrzeb niezależności. Entity Framework 4, NHibernate i iBatis.NET są całkiem dobrymi dostawcami usług .NET Persistence. Program ASP.NET MVC zdecydowanie przybył ze wsparciem dla różnych silników szablonów oprócz tradycyjnego programu ASP.NET.
Nawet jeśli nikt nie zdoła użyć języka DLR do zbudowania tego rodzaju frameworka, każdy, kto ma wystarczającą ilość, będzie mógł podążać ścieżką SpringSource i wdrożyć strukturę podobną do RAILS z jakimś statycznym językiem, takim jak F #, C # lub VB.NET, wykorzystując aspekt -Oriented Container (jak AspectSharp lub Gripper-LOOM.NET), aby uzyskać dynamiczne zachowanie.
Chciałbym wiedzieć o każdej grupie osób, które próbują opracować taki framework w .NET.