Nuovo engine del forum tableless e come rispettare gli standard non costi fatica

di Daniele Bochicchio, in ASPItalia.com Network,

Per la serie "perchè mai accontentarsi", nel lungo ponte ho messo su la nuova build (3.0) del forum. Devo ancora fare un po' di lavoro sulle collection perchè usino i generics in maniera più furba, ma gli effetti del lavoro dovrebbero notarsi soprattutto in velocità, dato che ho ottimizzato diverse funzionalità chiave.

La cosa che salta di più all'occhio (anzi, al View Source) è il codice, completamente tableless. Eppure guardando questa pagina, o questa, non si direbbe, anzi: potere dei CSS!

Il forum è basato su un codice legacy, cioè pensato inizialmente per funzionare con ASP.NET 1.0 ed è lo stesso alla base di CommunityServer, tanto per capirci.

Nel tempo l'ho talmente forkato che credo ci sia solo l'impronta iniziale di uguale, ma il concetto è che è fatto di tanti custom controls, dove la maggior parte delle liste sono in realtà dei controlli che ereditano da DataList, che si porta in dote un po' di comodità, come il sistema a Template e gli stili, ma anche un markup basato su tabelle. L'idea è stata quella di riscrivere alcune parti, che facevan uso di TableCell e TableRow, usando al loro posto un custom control (che ho battezzato DivCell), perfettamente compatibile come struttura (proprietà, soprattutto) ma differente nel rendering, basato su <div />.

E' poi bastato rifinire il mio adapter del DataList, che sfrutta l'adaptive rendering di ASP.NET 2.0 e che ho fatto vedere in una versione precedente nella mia sessione a WPC, per avere questo risultato. Dal punto di vista visuale, sembra una tabella, ma non lo è. Forse è il lavoro di cui vado più fiero nell'ultimo periodo :) Prima o poi lo metterò anche nel lab.

E' sicuramente il segno che una roba vecchia di 5 anni può essere resa aderente agli standard senza faticare poi più di tanto. Ci ho messo circa una 15ina di ore, spalmate tra viaggi e dopocena, visto che in questo periodo sono a casa praticamente solo durante i week-end. Fatemi sapere se il risultato vi piace :)

Tra l'altro Andrea ha cominciato a lavorare alla versione 2 di NNTPota, cioè del nostro gateway NNTP/Mailing list verso il forum. Dato che l'ha praticamente rifatto, dovremmo guadagnare in performance e velocità di sincronizzazione. Ma questa è un'altra storia ;)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese