Mi sembra che non ci sia ancora un nome per questo tipo di framework di cui si sta parlando in questo thread. Li chiamo per il momento solo Framework RAILS-like : framework che incrementano la produttività orchestrando altri framework esistenti con lo scopo di risolvere i bisogni di base della maggior parte delle applicazioni web, ma allo stesso tempo nascondendo tutte le complessità dallo sviluppatore.
Per esigenze di base intendo l'implementazione di un Persistence Provider, un Dependency Inyection Container, uno strumento di logging, una piattaforma MVC, un HTML Template Engine, un Web Site Template Starter Kit con preset CSS, un Security Framework e qualche Javascript Library per le funzionalità AJAX e altre cose interessanti. I framework RAILS-like orchestrano tutti questi framework e strumenti sulla base del modello Domain (le entità del tuo sistema con i suoi attributi).
Grazie al principio Convention-over-Configuration, questi framework evitano la necessità di definire molti file di configurazione normalmente richiesti dai framework che orchestrano (come Spring, Spring MVC, Hibernate, Log4J, ecc.), assumendo le configurazioni di default basato su denominazione, struttura e metadati inclusi nelle stesse definizioni di classi.
Grazie ai linguaggi dinamici utilizzati da questi framework (come Ruby, Groovy, Python, Clojure, ecc.), con l'eccezione di SpringRoo che implementa il comportamento dinamico in Java utilizzando AspectJ, la funzionalità che appartiene ai framework sottostanti sono estesi e sono messi a disposizione dello sviluppatore in modo così uniforme ed elegante che è a conoscenza delle tecnologie di base.
Infine, grazie alla tecnica di Scaffold, unit test, test di integrazione, controller e viste vengono generati automaticamente per le funzioni principali (CRUD) su ciascuno degli oggetti di dominio definiti dallo sviluppatore.
Nel mondo .NET non è stato ancora sviluppato nulla, seguendo tutte le definizioni precedenti. Ma nulla impedisce che si verifichi presto. Ci sono ottimi framework, strumenti e librerie già disponibili nel mondo .NET che possono essere orchestrati da una nuova struttura RAILS fatta per il CLR. Ci sono Unity, Spring.NET e Castle Windsor tra gli altri per i bisogni della dipendenza dalla dipendenza. Entity Framework 4, NHibernate e iBatis.NET sono piuttosto buoni provider di persistenza .NET. ASP.NET MVC è strongmente arrivato con il supporto di vari Template Engine oltre al tradizionale ASP.NET.
Anche se nessuno riesce a usare un linguaggio DLR per costruire questo tipo di framework, chiunque abbia abbastanza volontà può seguire il percorso SpringSource e implementare un framework RAILS con un linguaggio statico come F #, C # o VB.NET, facendo uso di un contenitore orientato agli aspetti (come AspectSharp o Gripper-LOOM.NET) per ottenere un comportamento dinamico.
Mi piacerebbe sapere di qualsiasi gruppo di persone che cercano di sviluppare tale framework in .NET.