In questo articolo parliamo di Backend, vediamo cos’è, a cosa serve e come si costruisce. Quali sono i linguaggi e le tecnologie che stanno dietro ad un Backend e come si diventa Backend developer, ma partiamo dall’inizio.
Sin dagli albori dello sviluppo web qualsiasi progetto si vedeva suddiviso in due porzioni: lato server e lato client. Il primo rappresentava l’insieme delle attività dell’applicazione che rimaneva in ascolto sul server, quella che riceveva le richieste delle pagine e gestiva il database. La seconda era costituita da tutto ciò che il server, in risposta ad una richiesta, scaricava nel browser: HTML e fogli di stile CSS nonché codice Javascript. Molto spesso la stessa persona o lo stesso gruppo si occupavano di ambo le parti. Non di rado un programmatore PHP sapeva creare e gestire database MySQL e predisporre pagine web con tanto di codice Javascript, magari arricchito da una libreria produttiva come jQuery. Questo tanto per citare uno degli stack di sviluppo più comuni, ma lo stesso avveniva per altri tipi di tecnologie come Python, Microsoft .NET, Java e molto altro ancora.
Tutto ciò poteva essere considerato sufficiente fino ad alcuni anni fa, quando la programmazione in Rete consisteva per lo più nella creazione pagine web. Sia il lato client sia quello server però si sono molto diversificati da allora, tanto da richiedere delle figure distinte altamente specializzate: da un lato sviluppatori esperti di framework Javascript come Angular.js e React, dall’altro programmatori qualificati in tecnologie server. Molti fattori hanno inciso su questa rivoluzione, tuttora in corso:
Si è necessariamente iniziato a vedere il lato server non solo come una sorta di “erogatore di pagine web” ma come un’applicazione indipendente, di notevoli dimensioni, in grado di svolgere mansioni variegate e di accettare dialoghi con client di ogni tipo: web app (pagine web cui la programmazione lato client conferisce molta intelligenza), app mobile, applicazioni desktop, dispositivi elettronici. Tutto questo fondamentale ruolo passa ormai sotto il nome di backend e gli sviluppatori specializzati nella loro gestione sono figure sempre più ricercate dalle aziende.
Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂
Capire cosa fa esattamente un backend permette di sapere quali sono le competenze necessarie per diventare un professionista del settore. Ecco alcuni aspetti basilari:
Chi volesse diventare un programmatore di backend dovrebbe approfondire ognuno di questi aspetti. L’approccio migliore è quello di scegliere un linguaggio di programmazione – magari provandone più di uno si può individuare quello di proprio gradimento – e iniziare a sviluppare programmi integrando via via tecniche di interazione con un database e definizione di proprie API REST.
In primis, un backend può essere costruito in proprio. Ci si basa su un’applicazione che fa da server, pensiamo ad un Apache Web Server, piuttosto che a nginx o a Node.js per il mondo Javascript, e su quello creiamo la nostra applicazione. Dovremo affrontare un po’ tutto da soli sia per quanto riguarda la produzione delle API da esporre, sia l’interazione con il database e via dicendo. Otteniamo così un prodotto perfetto per i nostri scopi, su misura al nostro business e allocato sul server che preferiamo. Il problema è che il costo in ore uomo non sarà sempre irrisorio ed in caso di backend piuttosto grandi l’impegno in termini di sviluppo e manutenzione potrebbe non essere così limitato. Inoltre c’è sempre la gestione dei server sia da un punto di vista hardware sia software, dovendo decidere se posizionarli in locali propri o affittare spazi in web farm.
Tutto ciò può essere in parte o totalmente alleviato dall’adesione a servizi in Cloud. Ciò avrà effetto su vari aspetti sia gestionali sia operativi. Innanzitutto Cloud significa avere un potenziamento e un contemporaneo alleggerimento di diversi aspetti. Si può ricorrere a questi servizi per la creazione di macchine virtuali che eliminino il problema della gestione dei server. Lo si può utilizzare per avere in maniera molto elastica database con o senza API per l’interazione. In pratica, si può “astrarre” nel Cloud tutto ciò di cui non vogliamo preoccuparci in prima persona. Il Cloud comporta comunque costi da sostenere. Servizi di nuova generazione si basano sulla regola generale del pagare quanto si consuma. Hanno tariffe commisurate ai servizi che si utilizza e possono essere adattate, più o meno dinamicamente, alle circostanze di traffico e di intensità di utilizzo.
Un servizio in Cloud particolarmente utile per la realizzazione di un backend è Firebase. Tra le varie piattaforme lo prendiamo come esempio in quanto offre molti vantaggi:
Senza dubbio, i backend su Cloud stanno conquistando sempre più spazio rispetto a quelli “fatti in casa”, i punti di forza sono notevoli ed i costi vantaggiosi. Un aspetto molto importante è che tutte queste piattaforme possono essere curate con programmi scritti nei linguaggi più comuni infatti tutte permettono di caricare codice Java, Python, Javascript, PHP e altro ancora.
In definitiva, quello di sviluppatore backend è un percorso di formazione interessante soprattutto perché variegato. Si può scegliere il linguaggio che si preferisce, applicare le tecnologie di elezione, integrare il tutto con strumenti che già si conosce. Soprattutto orientarsi a questo settore permette di acquisire nozioni di carattere generale che saranno sempre utili in altri contesti. Comprendere come funziona il protocollo HTTP, il modello REST o un database sono esperienze indispensabili per essere uno sviluppatore sia di backend sia di app mobile Android pertanto un percorso simile amplifica in maniera solida il proprio bagaglio culturale.
Vuoi provare? Perché non iniziare con uno dei migliori linguaggi per backend come Java, Python, PHP o magari con Node.js? I nostri corsi ti aspettano.