Come la programmazione matura e lo sviluppo di applicazioni diventa più complesso, gli sviluppatori hanno bisogno di più di una semplice comprensione dei linguaggi di programmazione. Hanno bisogno di conoscere i framework che rendono più facile la creazione di applicazioni in questi linguaggi.

Un framework è un insieme di strumenti, classi e funzioni che serve come piattaforma su cui costruire un’applicazione completa. Ci sono alcuni compiti che avvengono in ogni applicazione: input, rendering del display, gestione degli errori, per esempio. I framework gestiscono le basi come queste in modo che gli sviluppatori possano concentrarsi sulla risoluzione dei problemi relativi al loro specifico dominio. Tuttavia, un framework è un termine ampio, quindi diversi framework faranno cose diverse.

Come recruiter tecnico, dovresti essere in grado di capire cosa sono i framework e quali sono i più comuni. Se avete familiarità con il termine, probabilmente li conoscete come framework JavaScript front-end. Come vedremo, molti linguaggi di programmazione hanno dei framework che semplificano il processo di sviluppo.

I Top Ten Frameworks

Esplora tutte le tecnologie taggate su Stack Overflow nello strumento online gratuito.

Nel grafico qui sopra, si può vedere il cambiamento nell’uso dei tag su Stack Overflow per i dieci framework menzionati qui sotto in circa dieci anni. I framework aumentano e diminuiscono di popolarità man mano che ne vengono creati di nuovi e quelli vecchi cadono in disgrazia.

Senza ulteriori indugi, ecco dieci dei framework più popolari in uso oggi.

React

Facebook ha creato e reso open source React nel 2013, e da allora è cresciuto rapidamente in popolarità. È costruito a partire da JavaScript e progettato come una base modulare per componenti UI riutilizzabili. Di per sé, React non è davvero un framework, ma ha un enorme ecosistema di librerie helper che forniscono maggiori funzionalità. C’è anche React-Native, che compila il codice nativo per iOS e Android, così gli sviluppatori di app non hanno più bisogno di creare tre basi di codice front-end separate.

Angular

Angular (ex AngularJS) proviene da un progetto di Google. A differenza di React, dà agli sviluppatori un framework completo come libreria di prima parte. La versione attuale usa TypeScript (anche se JavaScript e Dart sono supportati), che è un superset di JavaScript. In precedenza, era solo JavaScript, ma al fine di soddisfare le esigenze degli utenti, hanno ricostruito il linguaggio da zero a partire dalla versione 2. È incredibilmente popolare perché la configurazione all-in-one e il rigoroso controllo della sintassi danno agli sviluppatori molti strumenti di supporto e promuovono la coerenza del codice. Con tutto in un unico pacchetto, non c’è bisogno di tirare dentro codice di terze parti con le loro potenziali vulnerabilità e trappole legali. Ma per alcune applicazioni, questo può essere un enorme svantaggio, in quanto l’intero framework Angular può essere pesante se non si ha bisogno di tutte le sue funzionalità. Anche con la riprogettazione della versione 2, Angular rimane uno dei framework front-end più popolari e, grazie ad Angular Universal, sta facendo breccia anche nelle applicazioni back-end.

Django

Django è un framework web interamente basato su Python sviluppato inizialmente nel 2003 da programmatori web che lavoravano presso un giornale in Kansas. Grazie al fatto di essere gratuito e open source, ha goduto di una grande popolarità. Semplifica un sacco di compiti comuni di sviluppo web, tra cui la serializzazione dei dati, il caching e l’autenticazione grazie al design modulare e al maturo ecosistema di componenti disponibili. Copre l’intero stack dello sviluppo web, ma può essere usato solo come backend se si preferisce un altro framework front-end.

Laravel

Laravel è un framework web open source gratuito basato su PHP, creato circa otto anni fa. Inizialmente era basato su Symfony e creato per affrontare le lacune di funzionalità che il creatore Taylor Otwell aveva trovato nel framework CodeIgniter. Fornisce un supporto avanzato per cose come l’autenticazione, l’interazione con i database relazionali e la gestione delle dipendenze. Con un sistema di packaging modulare e una tonnellata di strumenti e applicazioni aggiuntive che supportano l’ecosistema, Laravel fornisce un framework full stack progettato per rendere lo sviluppo più facile.

Ruby on Rails

Come uno dei primi framework back-end, Ruby on Rails ha influenzato molte delle tecnologie di sviluppo web che lo hanno seguito. A causa della sua precoce comparsa, Ruby ha facilitato molte delle tecnologie standard che creano il web – HTTP, JSON, CSS, JavaScript, ecc. – e si basa sulle filosofie di sviluppo del software CoC (convention over configuration) e DRY (don’t repeat yourself). Insieme, ciò significa che Ruby cerca di definire i modelli di dati e la logica dell’applicazione in un solo posto e solo quando questa definizione si discosta dalla norma.

Vue.js

A seconda di quanto si vuole adottare, Vue.js può servire come una semplice libreria JavaScript o un completo framework front-end. Questo approccio di adozione incrementale – progettato come risposta alla pesantezza richiesta da AngularJS – significa che le applicazioni che hanno bisogno solo di piccole porzioni di funzionalità Vue non hanno bisogno di rallentare la loro applicazione importando tutto. Ma per quelli che lo vogliono, Vue e gli strumenti associati possono formare la spina dorsale di applicazioni web complesse.

Spring

Mentre la maggior parte dei framework discussi qui si basano su linguaggi di programmazione web-first, Spring è un framework per Java, che può essere usato come parte di un’applicazione web o un’applicazione nativa per desktop o mobile. Gestisce operazioni di basso livello per applicazioni complesse come l’iniezione di dipendenze, le interazioni con il database e la gestione delle transazioni, rendendo più facile la modularizzazione del codice con ciò che è chiamato Aspect-Oriented Programming. Mentre Spring può essere usato con qualsiasi applicazione Java, è incluso frequentemente nelle applicazioni web back-end.

Express

Express (o Express.js) opera come un framework web per Node.js, che è esso stesso un ambiente runtime per JavaScript – cioè, esegue JavaScript fuori da un browser. È completamente gratuito e open source, e serve come parte back-end dello stack standard MEAN. Come molti framework moderni, la libreria di base è piccola, con molte delle funzionalità gestite dai plugin. Questa flessibilità e versatilità ha portato diversi framework a costruire sopra Express, che è il motivo per cui non si classifica più in alto nel grafico qui sopra.

ASP.NET

Microsoft ha creato e reso pubblico ASP.NET come un modo per creare il successore di Active Server Pages (.asp). Invece di essere costruito su un singolo linguaggio, ASP.NET funziona su qualsiasi linguaggio che usa .NET. Come tale, lo rende un forte framework back-end per le aziende che eseguono uno stack Microsoft (come noi). Poiché si basa su linguaggi compilati, è veloce e scalabile.

Meteor

Si potrebbe pensare che lo spazio del framework JavaScript libero e open-source sia già abbastanza affollato, ma Meteor riesce a fare una tacca nella classifica perché rende le applicazioni in tempo reale facili da scrivere, è un framework full-stack, e semplifica il riutilizzo del codice per le versioni mobili. Permette prototipi rapidi e meno codice per un’app, mentre rende semplice propagare le modifiche al codice a tutti i client. Meteor potrebbe aver avuto i suoi quindici minuti di fama, però, dato che i framework vanno e vengono rapidamente in questi giorni.

Ci sono molti altri framework là fuori, così come librerie popolari che non sono framework (ciao jQuery!), quindi per favore non prendere questa lista come esaustiva. Ma dovrebbe darvi un quadro di riferimento (gioco di parole) per discuterne con i candidati e i responsabili delle assunzioni.

Nuova call-to-action

Categorie: Articles

0 commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *