Cos'è un framework
Un CMS ha una struttura complessa. Basti pensare che una installazione di joomla può contenere decine di migliaia di file e cartelle. Il presente sito contiene circa 5000 cartelle e quasi 19000 file.
La grafica di un sito web è generata dai un cosiddetti fogli di stile a cascata CSS (Cascading Style Sheets). Qualsiasi intervento di modifica della grafica di una pagina web deve passare attraverso la modifica di una pagina di codice particolarmente complessa.
Per non parlare delle animazioni, della dimensione e della struttura della pagina, cioè del layout che deve gestire i contenuti in modo fluido. Potendosi cioè adattare alla geometria e alla dimensione degli schermi di diversi dispositivi: pc, tablet, smartphone. Oltre che al loro orientamento orizzontale/verticale nel caso di periferiche mobili.
Uno degli strumenti finalizzato ad affrontare questa complessità
è certamente il framework.
Una sorta di cassetta degli attrezzi professionale
che semplifica e ottimizza il lavoro del web designer.
"La sua funzione è quella di creare una infrastruttura generale, lasciando al programmatore il contenuto vero e proprio dell'applicazione. Lo scopo di un framework è infatti quello di risparmiare allo sviluppatore la riscrittura di codice già scritto in precedenza per compiti simili.
Ad esempio, il tipo di interazione con l'utente offerto da un menu a tendina sarà sempre la stessa indipendentemente dall'applicazione cui il menu appartiene (o almeno questo è ciò che l'utente si aspetta); in casi come questo un framework, che permette di aggiungere la funzionalità di una finestra con un menu a tendina con poche righe di codice sorgente a carico del programmatore, o magari permettendogli di disegnare comodamente il tutto in un ambiente di sviluppo, permetterà al programmatore di concentrarsi sulle vere funzionalità dell'applicazione, senza doversi far carico di scrivere codice "di contorno" (wikipedia).
Grazie quindi ad un framework possiamo utilizzare pacchetti di funzioni già pronte il cui codice sorgente è stato già scritto da altri programmatori ed è disponibile come risorsa per un libero utilizzo. Il vantaggio è immediatamente intuibile in termini di risparmio di tempo che verrà dedicato principalmente alla parte creativa. Ma il vantaggio più apprezzabile è soprattutto in termini di permormance, in quando, i pacchetti di codice ricorrente sono ormai compilati da programmatori specializzati in competenze specifiche e resi fruibili dagli sviluppatori attraverso il richiamo di apposite librerie di codice.
Uno dei framework più noti e sicuramente degni di menzione è Bootstrap. Eccone alcune definizioni tratte da wikipedia:
"Bootstrap è una raccolta di strumenti liberi per la creazione di siti e applicazioni per il Web. Essa contiene modelli di progettazione basati su HTML e CSS, sia per la tipografia, che per le varie componenti dell'interfaccia, come moduli, pulsanti e navigazione, così come alcune estensioni opzionali di JavaScript."
"Dalla versione 2.0 supporta anche il responsive web design. Ciò significa che il layout delle pagine web si regola dinamicamente, tenendo conto delle caratteristiche del dispositivo utilizzato, sia esso desktop, tablet o telefono cellulare. A partire dalla versione 3.0, Bootstrap ha adottato il responsive design come impostazione predefinita, sottolineando il suo essere nata come libreria multidispositivo e multipiattaforma."
Ma uno degli sviluppi più interessanti dei framework, soprattutto in ambito freelance è indubbiamente il Template Framework