Visti i commenti che ho ricevuto e almeno un post che ho letto in riferimento alla discussione che ho voluto avviare su MVC Framework, mi urge la necessità di chiarire il mio pensiero perchè altrimenti rischiamo che le interpretazioni (alcune di esse errate) vengano scambiate con il mio reale pensiero.
Innanzitutto condivido in parte l'idea che ci sia la necessità di introdurre un modo migliore per organizzare le proprie pagine e in questo l'MVC a mio parere risulta vincente. Il mio post non voleva in alcun modo focalizzarsi su questa necessità, ma piuttosto poneva il problema del "modo". Mi chiedo per quale motivo si arrivi a creare un framework - ripeto, bello e di ottima fattura - che esclude completamente l'uso di AJAX, in un momento in cui quest'ultimo è diventato probabilmente uno standard nello sviluppo di applicazioni web. Mi chiedo come sia possibile "escludere" o comunque limitare notevolmente l'uso dei controlli. Dato che il postback è il grande assente è evidente che controlli come GridView, o anche la nuova di zecca ListView usati nel contesto del framework MVC perderanno probabilmente il 70% della propria utilità.
Qualcuno ha ventilato che così si raggiunge un controllo sempre maggiore dell'output generato dal runtime, ma occorre però soppesare bene questo vantaggio. Il controllo capillare del markup è indispensabile solo in una parte delle applicazioni, tipicamente quelle che vengono pubblicate su internet come website aziendali, portali, e qualunque altra forma di pubblicazione che debba in qualche modo rispettare gli standard, essere fruibile da più browser etc... Esiste tuttavia una parte ampia di applicazioni che questa necessità la sentono molto meno. Cruscotti di controllo, backend, applicazioni gestionali, tutto ciò che per il semplice fatto di essere in una intranet non ha necesssità di essere w3c compliant o di essere posizionabile sui motori di ricerca, ma si avvantaggia della velocità di sviluppo e dalla fruibilità che può dare AJAX, piuttosto che concentrarsi sul controllo capillare del markup.
Ora, quello che vedo è che questo genere di applicazioni si potrebbero avvantaggiare di entrambe le modalità di lavoro, MVC da un punto di vista architetturale, e component-based dal punto di vista della rapidità di sviluppo. Sono le applicazioni che tipicamente fanno uso delle GridView e di quei controlli evoluti che risparmiano un sacco di tempo per dare funzionalità che invece dovremmo sviluppare ex-novo con l'emmevuci. Di contro, i website (generalizzando i casi già citati), tipicamente non fanno uso di controlli se non quelli basilari come il Repeater, ma sinceramente di un framework MVC non ne beneficeranno in modo drastico.
E' questo il mio dubbio. Ripeto, non sulla qualità e necessità del framework, ma sulle scelte di implementazione. Probabilmente mi sbaglio... ma pensare qualcosa di più integrato con l'esistente non era meglio? Poi però mi conoscete, quando uscirà il framework sarà il primo a buttarmici a capofitto, magari tendando di risolvere questa apparente divisione... magari sarà l'occasione per sviluppare una nuova generazione di controlli.