Front-end e Back-end: cosa sono e quali linguaggi di programmazione scegliere
Benvenuto o benvenuta in questa serie di articoli dedicati alla panoramica di tutti i settori lavorativi richiesti nel mercato del lavoro collegati alla programmazione.
L'obiettivo di questa serie è proprio quello di spiegare alle persone che quando si parla di programmazione non esiste solo "il classico sviluppo di siti internet" ma esistono TANTISSIMI settori diversi, tuttavia in questo primo articolo mi voglio focalizzare proprio nel cosiddetto “classico sviluppo di siti internet”.
Vorrei fare un discorso molto particolare e vorrei che per te fosse chiaro e cristallino un concetto prima di iniziare. Nel settore della programmazione c’è una grande richiesta di lavoro. Ci sono tantissime aziende che stanno cercando degli sviluppatori da assumere, ma il mercato degli sviluppatori disponibile è troppo piccolo e non riesce a soddisfare tutta questa domanda. Vuol dire che ci sono un sacco di aziende che sono pronte ad assumere e a pagare qualcuno, ma non trovano nessuno da assumere. Questo è un enorme problema delle aziende che si occupano di informatica. Devi quindi capire che le aziende non riescono a trovare persone disponibili da assumere e questo è molto importante.
Proprio a proposito di questo abbiamo creato un corso Java dove l’obiettivo del corso è proprio quello di prendere uno studente e cercare di insegnargli quelle che sono le competenze per farlo assumere nel mercato del lavoro nella maniera più veloce possibile. Per fare questo insegniamo il linguaggio Java, il più richiesto nel mercato del lavoro. Oltre a questo ovviamente gli diamo tutte quelle che sono le competenze per scrivere il proprio curriculum, per andare ad affrontare un colloquio di lavoro. Noi siamo gli unici che facciamo la simulazione di colloquio ai nostri studenti e li prepariamo effettivamente ad affrontare un colloquio di lavoro.
Ora che abbiamo capito questo concetto, parliamo finalmente di questo settore. Essenzialmente io te voglio semplificare molto lo sviluppo di siti internet, perché dentro a questa dicitura ci sono una marea di figure diverse, una marea di differenziazioni e di attività diverse.
Cosa vuol dire Frontend e Backend
Innanzitutto spendiamo due parole per capire che cosa vuol dire Front-End. Immaginati di essere davanti a un computer e di andare su Google o su YouTube o su Facebook.
Quello che tu vedi nello schermo del computer, quello con cui tu puoi interagire con il mouse (una foto, un like, un video, una barra di ricerca, ecc…) viene chiamato front-end.
Quindi il front-end che cosa fa? Invia delle informazioni al back-end e il back-end si occupa di fare essenzialmente quell’azione che è stata richiesta dall’utente. Nel caso della ricerca quindi il front-end comunica al back-end che voglio cercare un video di Alberto Olla e di conseguenza il back-end si occuperà di fare questa ricerca.
Ovviamente è nel back-end che noi possiamo andare ad utilizzare il linguaggio di programmazione vero e proprio. Questi linguaggi di programmazione effettueranno la ricerca e tendenzialmente andranno a chiedere al database i dati. A sua volta il database li restituirà al back-end che di conseguenza comunicherà con il front-end.
Tecnologie e linguaggi
Questo è il concetto molto semplice di front-end e back-end. Ora che lo hai capito, parliamo di tecnologie per quanto riguarda il front-end. Tutte le tecnologie si basano su 3 linguaggi:
- HTML che non è un linguaggio di programmazione, ma si chiama linguaggio di marcatura o markup. Essenzialmente è un linguaggio che ti consente di strutturare la pagina internet
- CSS anche questo non è un linguaggio di programmazione ma bensì un linguaggio che serve per abbellire il nostro contenuto HTML. Quindi essenzialmente gli diamo uno stile, gli diamo i colori, gli diamo le dimensioni, i margini, ecc…
- JavaScript, l’unico linguaggio di programmazione dei tre ed è l’unico linguaggio che si può utilizzare all’interno dello sviluppo front-end.
Nel back-end invece la situazione cambia radicalmente. Qui dentro possiamo utilizzare i linguaggi di programmazione che più preferiamo; ad esempio C# o JavaScript. Come ti dicevo prima Java è il linguaggio di programmazione più richiesto nel mercato del lavoro e viene utilizzato anche qua dentro. È proprio per questo motivo che noi lo insegniamo ai nostri studenti all’interno del corso per fargli assumere velocemente nelle aziende. Nel back-end quindi si possono utilizzare una marea di linguaggi di programmazione. Il punto però non è quali linguaggi di programmazione si possono usare, ma bensì quali linguaggi vengono richiesti nel mercato del lavoro, quali linguaggi effettivamente sono utilizzati dalle aziende. Questa è la domanda più importante.
Professioni richieste nel lavoro
Dopo aver fatto una panoramica a livello di tecnologia, ti parlerò finalmente di quelle che sono le professioni richieste. Ne abbiamo 3, ovvero:
- Il front-end developer: sono degli sviluppatori focalizzati unicamente sullo sviluppo della parte front-end. Starai pensando sicuramente a quelle figure che conoscono HTML, CSS e Javascript. Sbagliato, sono dei tipi che sono specializzati in alcuni strumenti avanzati che si basano su questi tre linguaggi. Anzi più nello specifico si basano su JavaScript. Ci sono essenzialmente degli strumenti che hanno preso la sintassi del linguaggio JavaScript e l’hanno migliorata, aggiungendo delle funzioni e degli strumenti aggiuntivi, creando diciamo così un piccolo ecosistema. Questo ecosistema, con gli strumenti di linguaggio modificati, viene chiamato front-end framework. I più famosi sono Angular e React.
Se tu sei interessato a quest’ambito ti basta focalizzarti su uno di questi due framework. Per fare questo devi prima avere quelle così dette basi di programmazione.
Questi strumenti di sviluppo front-end non vengono utilizzati soltanto nello sviluppo di siti internet, ma vengono utilizzati anche in un altro ambito, ovvero nello sviluppo di applicazioni e nello specifico lo sviluppo di applicazioni ibride. E’ quindi importante capire che chi è un front-end developer si può rivolgere a due sezioni diverse, a due mercati diversi:
- Creazione di siti internet
- Creazione di applicazioni mobile ibride
- Il back-end developer: prima di tutto volevo fare una piccola precisazione. In realtà si possono creare dei back-end chiamati Rest API, che essenzialmente ti consentono di creare un unico codice che può interagire sia con il front-end di un sito internet sia con il front-end di un’applicazione mobile. Quindi abbiamo scritto un solo codice che comunica con entrambi i front-end. Non mi soffermerò molto su questo argomento per ora perché ti sto facendo una panoramica, ma mi sembrava corretto presentarti anche questa opportunità. In ogni caso credo ci sia una marea di richieste di lavoro. Quando vai a guardare gli annunci di lavoro, il back-end developer si suddivide per linguaggio, per tecnologia, per framework e così via. Ci saranno quindi richieste di lavoro per back-end developer in PHP, in Javascript, in Phyton e così via. Troverai quindi un sacco di nicchie diverse tutte relative al back-end.
- Il full-stack developer: essenzialmente è un professionista che ha competenze sia di front-end che di back-end e di database. Riesce praticamente a gestire tutte queste attività lavorative. Se sei all’inizio ovviamente non devi considerare subito la figura dello sviluppatore full-stack, questo lo valuterei più avanti quando avrai accumulato esperienza.
Concentrati per iniziare sulle prime due figure, più sei bravo in una determinata tecnologia, più avrai opportunità.