Framework CSS

Data: 17 gennaio 2007 Categoria: css

Nella programmazione, a prescindere dal linguaggio, è sempre buona abitudine cercare di automatizzare le azioni ripetitive, sia per diminuire il tempo di sviluppo che per evitare di reinventare la ruota. Spesso questo significa adottare un framework. A questa regola non sfugge neanche la scrittura dei CSS, anche se chiamarla programmazione è improprio.

Fare un nuovo sito porta a ripetere spesso le stesse cose, sia per il codice che per gli hack. Bisogna poi considerare, oltre alla velocità con cui si realizza il sito, anche la sua manutenzione: una modifica può rendersi necessaria magari a distanza di mesi dalla prima stesura.

Anche se ogni sviluppatore, con il tempo e l’esperienza, tende a crearsi un suo flusso di lavoro standard, vale la pena considerare quello che altri sviluppatori hanno fatto.

I framework CSS più interessanti che ho trovato in rete sono:

Un framework può essere di grande aiuto ma solo a chi già sa capire quello che succede dietro le quinte, non sono strumenti per chi è a digiuno delle basi. Oltre a questo ci si può poi trovare più o meno a proprio agio partendo da una base già finita e funzionante progettata da altri: bisogna studiarsi il codice per capire dove intervenire quando c‘è bisogno di cambiare qualcosa per adattarla alle proprie esigenze.

L’approccio comune è di suddividere il totale delle regole in più fogli di stile e questo permette, oltre alla migliore organizzazione, di includere sempre alcuni stili, come quelli per la tipografia e le forms, e alternare quelli dedicati al solo layout in modo da passare velocemente da una impaginazione all’altra. La base (a parte il framework Yahoo) è un file (X)HTML in cui sono presenti degli elementi strutturali ben definiti.

Content with Style: A CSS Framework

Dei tre esaminati è sicuramente il mio preferito. Il codice della pagina che fornisce l’ossatura XHTML è molto leggibile e risulta facile da personalizzare. I vari file CSS sono ben commentati e il passaggio da un impaginato all’altro si ottiene scegliendo uno dei fogli di stile dedicati al layout.

WYMstyle – CSS framework

Questo adotta un approccio più modulare in quanto il layout va costruito assemblando i vari file CSS come dei mattoni. Si parte da un template senza nessuno stile applicato per poi includere solo i file che ci interessano. Si presta alla realizzazione di layout più complessi, prova ne sia il template che prevede un numero maggiore di elementi strutturali. La suddivisione dei file è più fine e sono infatti tutti di dimensioni abbastanza piccole. Vengono forniti degli esempi. Devo dire che ad un primo approccio mi ha un po’ disorientato, ma bisognerebbe dedicarci più tempo per assimilarlo. L’autore lo sta attivamente sviluppando ed è atteso a breve il rilascio di una nuova versione.

Yahoo! UI Library: Grids CSS

Non ci ho neanche provato! L’approccio del framework Yahoo manca al suo interno una denominazione semantica della struttura creata (vedi ad esempio Standardizing CSS class and id names) oltre ad avere una complessità del codice che lo fa diventare qualcosa di difficile da assimilare e da mantenere.

Seppur buono come impostazione e robusto nei risultati (consideriamo anche chi l’ha rilasciato...) è stato criticato anche da altri per la sua macchinosità e per il codice che porta a produrre:

If somebody makes a CSS framework that cuts out the work for some hacks and browser quirks, that’d be great. But no framework should have to require unsemantic code and force a developer to use HTML in order to achieve styles. Granted, somethings such as curved corners can require a few extra elements. But this is just ridiculous.

YUI Grids CSS framework considered harmful

Conclusioni

Non ne userò nessuno. Questi framework sono i risultati di un lavoro che ogni sviluppatore, singolarmente o in team, fa: costruirsi da solo i ferri del mestiere. Certo questi sono ferri particolarmente buoni, tanto che hanno meritato di essere resi pubblici, ma il loro maggior pregio non sarà di essere usati ma di diventare fonte di ispirazione per crearsi il proprio framework CSS.

Chi ha provato a fare template sa già che il grosso del lavoro non è nell’impostazione generale ma nelle rifiniture, incorporare bene la grafica, studiare con cura la tipografia e i colori di base, aggiungere dei javascript non invasivi, etc... In quest’ottica conviene allora considerare che i layout di base non sono infiniti e più che un framework possono bastare una serie di templates già pronti per le esigenze comuni che saranno poi la base (non l’arrivo) per iniziare un progetto di template.