Le performance di un sito Web sono un fattore critico per il successo del sito medesimo. Generalmente la parola "performance" viene assimilata con la parola "velocità ", anche se la velocità di un sito Web è un argomento davvero complesso e che richiama a sé ulteriori aspetti (dal design al codice, dall'hardware del server alla connettività e via così). Ma muoviamoci lungo questa tesi, così dobbiamo concludere che la velocità è direttamente proporzionale alla lunghezza/pesantezza del codice sorgente.
Per sviluppare un'applicazione Web (di qualunque genere e tipo essa sia) un developer si avvale generalmente di un framework che permette di semplificare e velocizzare lo sviluppo, evitando al contempo di riscrivere procedure e funzioni già usate in un altro progetto.
In certi progetti i framework possono in realtà rivelarsi poco ottimali per via della pesantezza e delle richieste in termini di velocità di esecuzione e per via del fatto che al programmatore servono in realtà poche feature fra quelle proposte dal framework in esame. Bisogna pure considerare che un framework richiede un certo studio e tale studio richiede tempo. Inoltre un framework permette sì un più veloce sviluppo, ma certe ottimizzazioni e personalizzazioni nelle parti più interne del codice risultano davvero complesse e richiedono conoscenze approfondite sull'infrastruttura del framework medesimo.
In tale ottica è preferibile ricorrere ai micro-framework, in alternativa alla costruzione da zero del codice della nostra applicazione web (che risulterebbe costosa in termini di risorse e tempo).
Un micro-framework è una soluzione specifica e che permette di risolvere un preciso problema. E' facile da studiare e adattare. Soprattutto, un programmatore può ottimizzarne il codice puntando alle migliori performance possibili.
Rispetto ai framework sono quindi meno generalisti e più specifici. Rispetto a una libreria risultano invece più leggeri e meno completi dal punto di vista delle funzionalità offerte.
Solitamente un programmatore fa uso di diversi micro-framework opportunamente interagenti fra loro e inseriti in una struttura piuttosto modulare e flessibile. Proprio la correttezza dell'infrastruttura entro cui sono utilizzati permette di sfruttarne i vantaggi in termini di semplicità d'insieme, velocità e leggerezza. Una mal progettazione del sistema nel complesso rischia infatti di inficiare i benefici e anzi introdurre ritardi e malfunzionamenti.
Rimanendo in ottica di progettazione web segnaliamo un interessante sito che altro non è che un elenco di micro-framework per il linguaggio JavaScript in grado di assolvere a specifiche funzioni. Per ogni micro framework ne viene specificata la dimensione in KB. Infine è disponibile un metodo di ricerca per visualizzare solo i prodotti che risolvono un determinato problema.
Allora: framework o micro-framework?