Cosa sono i Framework

Un framework (cornice di lavoro) è una sorta di “tavolozza di colori” che si inserisce tra un sistema operativo e il software che lo utilizza. Una tavolozza perché permette di selezionare numerose funzioni già preimpostate, velocizzando molte operazioni di programmazione. In pratica consente di estendere le funzionalità del linguaggio di programmazione a cui fa riferimento.

E’ un arricchimento delle potenzialità del linguaggio di programmazione, dotandolo di strumenti pronti all’uso, cioè senza doverli riprogettare da zero ogni volta.

In pratica, quando si creano programmi, capita di sovente di dover scrivere dei codici che si ripetono. Un framework ingloba questi oggetti ripetitivi permettendo il loro utilizzo in maniera semplice e immediata.

 Un framework è costituito da classi collegate tra loro, a cui vengono assegnati dei metodi. Questi componenti possono essere statici, oppure flessibili.

Ci sono poi framework che permettono un maggiore controllo e altri meno. Ad esempio, Angular (si rimanda al corso) non permette grandi controlli, metre Vue (si rimanda al corso) consente maggiore libertà di scelta ma con meno strumenti.

Il framework non è una libreria

Il framework, non è ne un linguaggio di programmazione nè una libreria di codice. E’ una vera e propria struttura che ha determinate finalità. Pur non essendo una libreria è pur sempre un insieme di codici che ha la finalità di rendere più semplice e più veloce il lavoro del programmatore.

La differenza con la libreria risiede nel fatto che mentre quest’ultima fornisce una porzione di codice quando richiesto dal programmatore, un framework decide indipendentemente quando è necessario richiamare un codice e come impostarlo. In poche parole mettiamo la libreria dentro il codice ma mettiamo il codice dentro un framework.

E il vantaggio ?

il vantaggio è semplicemente la velocità nella stesura dei programmi. Velocizzare e semplificare certe operazioni permette al programmatore di produrre del software in maniera più rapida. Considerando il detto “il tempo è denaro”, vale la pena usare i framework.

Inoltre sono quasi tutti gratuiti. In virtù di questo concetto fondamentale perchè non dotarsi di questo valido aiuto?

I framework più comuni

Partendo da quelli più usati potrei dire che in cima alla lista si colloca jQuery (creato nel 2006 da John Resig). A seguire troviamo Angular di Google, React di Facebook, ASP.NET (un progetto open source), Express.js (open source sotto licenza MIT), Spring (creato da Rod Johnson nel 2000), Vue.js (un’estrapolazione di Angular da parte di Evan You), Django (per gestire siti di notizie), Flask (un micro-framework con licenza libera), Laravel (un’altro open source creato nel 2011 da Taylor Otwell), Ruby on Rails (scritto in Ruby da David Heinemeier Hansson) e Drupal (creato originariamente da Dries Buytaert).

Comunque, per la maggior parte dei casi in circolazione, vengono creati programmi usando jQuery, Angular, ASP.NET, React e Vue.js. Sono i più diffusi.

Quale preferisci ?

In qualità di programmatore la tua scelta potrebbe ricadere su differenti framework, a seconda di quali sono le tue finalità e le tue competenze.

Angular, ad esempio, si basa su TypeScript, e richiede un lasso di tempo più lungo per impararlo.

React usa ES6 o TypeScript, ed è più semplice.

Laravel, con la sua sintassi elegante, è adatto per lo sviluppo di app moderne.

Solo provando i vari framework riuscirai a capire quello che soddisfa maggiormente le tue esigenze.