Sviluppo Web: framework o micro framework?

Venerdì 1 Luglio 2011 - 10:46

di Kiko

Lavoro

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?

Tags:

Categoria: Lavoro | Permalink

Commenti

1

Ma un framework non può fermarsi solo al javascript, quando si parla di framework tu mi viene immediatamente da pensare al lato server.
Alla fine ci si ritrova a dover programmare su più framework, sarebbe auspicabile per piccoli progetti o meglio per piccole feature come le chiami tu, di non usare nessun framework ma di farsela da soli la procedura che la/le implementa.
A volte basta farsi una piccola libreria che fa comparire/scomparire un box o evidenzia un campo di un form quando ha il focus.
Sono davvero due righe di codice che se ben scritte non appesantiscono nulla.

M.

# - postato da Marco Grazia - 01 Luglio 2011 - 13:22

2

Qualcuno mi sa segnalare un microframework PHP per il login? Qualcosa di estremamente semplice, con gli utenti in un file di configurazione e un semplice meccanismo per creare il cookie di autentificazione sarebbe sufficiente…

Insomma un meccanismo per proteggere una singola pagina con una password (e che funzioni su tutti i web server, quindi non solo apache)

# - postato da Giacomo - 01 Luglio 2011 - 14:31

3

Framework! Meglio se .NET

# - postato da nessuno - 01 Luglio 2011 - 21:32

4

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.

questa è la parte difficile… per “risolverlo” è necessario un “framework”, cioè un insieme di regole di più alto livello che i singoli componenti devono adottare.
questo approccio è adottato massicciamente da symfony2, da Ender, e provabilmente da altri(Rails3?), rappresenta il trend nel settore.

# - postato da devsmt - 04 Luglio 2011 - 16:06

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento