ASP.NET WebForms o MVC?

È da molto tempo che rifletto su questo post, ed ho deciso di parlarne solo ora in quanto la seconda release di ASPNET MVC è prossima al rilascio (al momento in Release Candidate, vedi qui): di riflesso, se ne comincia a parlare molto di più e, ancor più interessante, si comincia ad utilizzarla molto di più.

Sinceramente sono rimasto scioccato da quanto interesse e “strada facile” abbia riscontrato ASP.NET MVC rispetto al papà ASP.NET Web Forms. Di fatto noto come alcuni providers italiani, a non molto tempo dal rilascio della prima release di MVC, offrano già disponibile il nuovo Framework, mentre in passato per avere una versione aggiornata del Framework .NET si doveva aspettare parecchio dopo il suo rilascio. Segno che qualcosa stia veramente cambiando?

Parlando con più persone durante speech, conf, chat, etc ho avuto l’impressione che molti reputino ASP.NET MVC la manna dal cielo e le webforms il MALE.

Sinceramente sono rimasto basito dalla cosa, in quanto reputo MVC un’alternativa alle Web Forms e non un concorrente.

Durante la sessione di Bologna ho cercato di esprimere questo concetto e di portare come esempio gli scenari in cui un Framework può avere vantaggi rispetto all’altro, proprio a dimostrazione che non sono concorrenti.

IMHO la riuscita di un buon prodotto non dipende soltanto dalla qualità tecnica del prodotto, ma anche da come si è riusciti a sfruttare le risorse a propria disposizione (e per risorse intendo tutto,team, budget, tempistiche, etc).

Sicuramente tra le cose da non sottovalutare quando si debba effettuare una scelta importante, come lo è l’utilizzo delle Webforms a discapito di MVC, sono i numerosi vantaggi che le prime possono offrire ripetto al secondo in determinati scenari e/o requirements.

In primis la pluritestata e diffusissima tecnologia che, nonostante ciò che si dica, riesce ad essere altamente scalabile ed estendibile e, da non trascurare, l’approccio Windows form style.

Proprio su questo approccio volevo portare un esempio nato durante lo speech di Bologna, in cui in un team misto (Applicazioni Windows e Applicazioni Web) si aveva la necessità di ricollocare alcune risorse sullo sviluppo web. Per chi viene dal mondo delle Windows Forms ASP.NET MVC risulta sicuramente scomodo e/o complesso; al contrario con le webforms il passaggio è quasi indolore e, in questi scenari, le WebForms possono essere la scelta che decide la riuscita di un progetto.

Personalmente (salvo imposizioni particolari), non realizzerei mai un BackOffice (tipicamente contraddistinto da una buona percentuale di dataentry) in ASP.NET MVC, salvo che uno dei requirements sia la testabilità.

Ovviamente MVC non offre soltanto il vantaggio della testabilità, ma anche la possibilità di avere il controllo totale del markup (ASP.NET 4.0 si avvicina molto a questo) ed una forte espandibilità maturata dall’esperienza fatta precedentemente con ASP.NET WebForms.

Per concludere, le webforms non sono morte, anzi vivono ed in molti scenari vivono alla grande ;)


Comments