ASP.Net: se lo conosci lo eviti

Intro beats

Prendo spunto dai due messaggi di Jeffrey Zeldman: "Here we go again: .Net and standards" e "Dot net clarification" per dire la mia su ASP.Net, cioè la visione di Microsoft delle pagine web dinamiche.

Più di un anno fa cominciai a studiarmi la nuova piattaforma .Net di Microsoft per lo sviluppo web e non. Gli ingredienti per la creazione di un buon prodotto c'erano tutti:

Tutto bene quindi? No, per niente.

I dolori del giovane Deelan

Con grande delusione però, scoprii presto che ASP.Net, uno dei punti cardine dell'intero sistema, era l'ennesimo pasticcio di quelli di Redmond.

L'idea di costruire la pagina con dei componenti (dal semplice campo di testo fino al calendario) è sostanzialmente buona, ma ci sono tre scelte di progetto assolutamente sciagurate:

  1. I componenti che il programmatore utilizza nella pagina generano codice HTML non valido e che si può ricondurre alla vecchia versione 3.2 del linguaggio di markup.
  2. Il codice HTML prodotto è "adattivo", nel senso che se la pagina viene richiesta da Intenet Explorer il codice avrà determinati tag, se il browser è qualche variante di Mozilla il markup sarà differente.
  3. Non è previsto nessun supporto per l'ereditarietà grafica delle pagine. Il solo paradigma previsto nativamente da ASP.Net è l'inclusione, cioè ad ogni pagina devono essere esplicitamente aggiunti quei blocchi che la compongono (header, footer, ecc.), mentre sarebbe più naturale aspettarsi che un modello "master" possa essere esteso creando pagine con lo stesso layout ma con contenuti personalizzati.

Il punto 1 impedisce di fatto di passare con esito positivo qualsiasi sistema di validazione, mentre il punto 2 rende difficile e in alcuni casi impossbile applicare degli stili via CSS agli elementi creati (l'elemento generato sarà una tabella o un DIV?). Il punto 3 rende laborioso creare e manutenere siti dinamici con molte pagine. Quello che sfugge alle menti sopraffine che hanno progettato ASP.Net è che un autore di pagine web che voglia scrivere codice valido e pagine accessibili deve poter avere il controllo assoluto sull'(X)HTML generato.

Come faceva notare Zeldman la soluzione di non utilizzare parte degli strumenti e dei controlli che mette a disposizione ASP.Net rende quest'ultimo più un intralcio che un aiuto. Per la cronaca il sottoscritto ha provato a fare a meno di ASP.Net per la creazione del codice di queste pagine ma ha dovuto sudare le cosidette sette camice per arrivare ad una soluzione parzialmente soddisfacente.

We need a resolution

Appurati i fatti quale potrebbe essere una possibile soluzione da parte di Microsoft?

Personalmente suggerisco agli sviluppatori web in ascolto di guardare altrove e cercare soluzioni alternative, il tempo concesso a Microsoft è scaduto.

Jun 22 2003, 3:06 PM