Iniziare a programmare a volte spaventa: alcune persone – soprattutto chi non ha grandi skills informatiche e non proviene da background informatici – pensano, sbagliando, che la programmazione sia un’abilità difficile da imparare e che diventare sviluppatore sia quasi impossibile. Niente di più sbagliato.

L’industria dello sviluppo web è piena di storie incredibili di persone senza background tecnologico che hanno cambiato la loro vita. La programmazione insegna a pensare in modo diverso e apre le porte a molte opportunità (anche in questi tempi in cui il mercato è in declino). Come dicevo, non è necessario avere una laurea in informatica per iniziare a programmare. Internet è pieno di corsi, guide, tutorial e di siti specialistici in cui apprendere le basi e approfondire gli argomenti ai livelli più disparati. Non è sicuramente un percorso breve: un buon programmatore Web per essere definito tale ha alle spalle un sacco di anni di studio e ricerca, ma questo non deve intimorire.

Da dove iniziamo?

Volendo essere abbastanza banali, uno sviluppatore web è chi utilizza un linguaggio di programmazione per creare pagine web e applicazioni per il web. Ci sono 3 tipi di sviluppatori web: sviluppatori front-end, sviluppatori di back-end e sviluppatori full-stack. Vediamo di seguito cosa sono e quali sono le principali differenze.

Sviluppatore Front End

Uno sviluppatore front-end è responsabile della creazione di ciò che vedi e con cui interagisci su una pagina web o un’applicazione. È lo specialista che trasforma un design, un’immagine o un’idea nel codice che consente ai browser web di visualizzare il sito web. Non dovremmo sottovalutare il lavoro degli sviluppatori front-end, infatti, poiché le applicazioni web stanno diventando sempre più sofisticate, il lavoro dello sviluppatore front-end è cambiato dal semplice lavoro sull’implementazione del design alla costruzione di applicazioni che vengono eseguite all’interno dei nostri browser. Questo profilo combina tecnologia, sviluppo e design per creare esperienze UX di alto livello e può essere un buon inizio da cui partire. Iniziare con lo sviluppo front-end potrebbe essere più semplice rispetto allo sviluppo back-end, ma è sicuramente propedeutico se si decide di proseguire con la propria formazione.

Sviluppatore back-end

Questo profilo è responsabile della progettazione e della creazione dei sistemi che supporteranno la nostra applicazione front-end. Ad esempio, quando clicchi sul pulsante “salva”, lo sviluppatore back-end scriverà con il codice gli algoritmi e la logica responsabili della ricezione della tua richiesta, la elaborerà, la memorizzerà in un database (se richiesto) e invierà i risultati in modo che il front-end può farti sapere che è andato tutto bene. Il back-end è ciò che fa funzionare le applicazioni su più dispositivi o che consente di archiviare le tue informazioni nel cloud.

Sviluppatore full-stack

Lo sviluppatore full-stack è colui che può lavorare sia a livello di front-end che in back-end. Solitamente tali sviluppatori hanno molteplici competenze e conoscono diversi framework di sviluppo (ne riparleremo più avanti).


Passi per diventare uno sviluppatore front-end

Per diventare uno sviluppatore front-end, la prima cosa che bisogna sapere è come funziona il web. Come fa il tuo browser a sapere cosa visualizzare sullo schermo? Come posizionare le cose e con quali colori? Per questo ci pensa il linguaggio HTML.

Impara HTML

HTML (Hypertext Markup Language) è un linguaggio di markup standard conosciuto da tutti i browser web ed è utilizzato per descrivere il contenuto del tuo sito. Non tanto il design, ma la struttura e il contenuto stesso. L’HTML funziona con una sintassi specifica di tag e nodi e ha un aspetto simile a:

<html>
	<head>
		<title></title>
	</head>
	<body>
		Ciao Mondo!
	</body>
</html>

Forse ho semplificato eccessivamente, ma anche questa è una pagina web che non fa altro che visualizzare su una pagina bianca la scritta “Ciao Mondo!”. Per chi si approccia per la prima volta in un codice di questo tipo, avrà sicuramente identificato alcuni punti chiave, come il titolo (title), il corpo della pagina racchiuso tra i body e i contenuti testuali. L’HTML è stato creato in modo che possa essere letto dai computer ma anche dall’uomo in modo quasi naturale.

Impara CSS

Dopo aver posizionato il contenuto, bisogna renderlo carino. Ed è qui che i CSS possono darti un grande aiuto. Il codice CSS è una sintassi progettata per descrivere come gli elementi HTML verranno visualizzati sullo schermo. Consente agli sviluppatori di posizionare il contenuto in diverse posizioni sullo schermo, aggiungere colori, sfondi, bordi, caratteri, animazioni e tutto ciò di cui abbiamo bisogno per un design che garantisca una esperienza di alto livello.

Imparare i CSS è estremamente importante perchè al giorno d’oggi nessuno userebbe una pagina senza un foglio di stile. Alcune persone fanno cose davvero sorprendenti con i CSS, dai design sorprendenti all’arte, alle animazioni, creando design veramente incredibili. Il CSS ha un aspetto simile a:

.title {
  color: green;
}

Forse può sembrare meno leggibile dell’HTML per via dell’uso di una sintassi più diversificata (simboli, parentesi, punti e virgola…), ma questo esempio banale da un’idea di cosa riesce a fare il CSS (in questo caso è una semplice istruzione che impostare il colore verde a una classe chiamata title…).

Esercizio e pratica

L’esercizio è la parte fondamentale per poter passare ai livelli successivi. Dopo aver iniziato con le basi, si può passare a funzionalità più avanzate man mano che ci si abitua. Magari possiamo cominciare con il proprio sito web personale… Una volta che siamo a nostro agio con HTML e CSS (cioè la parte design del sito), possiamo passare a Javascript.

Impara JavaScript e cambia il mondo

Le pagine HTML e CSS potranno essere fantastiche perchè possiamo presentare contenuti, modellarli, creare animazioni ma restano pagine statiche. Mancano degli elementi con cui far interagire l’utente. Dobbiamo fare in modo di rendere il sito “dinamico”. Per fare questo, la scelta non può che ricadere sul linguaggio Javascript.

JavaScript è un linguaggio di programmazione tra i più popolari oggi disponibili, che ha la particolarità di funzionare nei browser Web e quindi può essere utilizzato per la creazione di applicazioni Web. JavaScript ti consente di interagire con il tuo HTML gestendo eventi come il clic su un elemento, gestire i moduli di dati, gestire gli eventi a tempo e molto altro. Ti consente anche di modificare dinamicamente i contenuti della tua pagina, il che significa che ha accesso all’HTML o in realtà al DOM della pagina.

JavaScript oggi è migrato dal browser a molte applicazioni desktop. Molte aziende stanno costruendo back-end che girano su JavaScript. Imparare JavaScript sarà un passo gigantesco verso il raggiungimento degli obiettivi prefissati di diventare uno sviluppatore web: probabilmente sarà il più difficile ma non impossibile e con l’enorme quantità di contenuti gratuiti là fuori, non ci sono scuse per non raggiungere alti livelli.

Crea un sito portfolio / personale

Dopo aver imparato HTML, CSS e Javascript, la prima cosa da fare è creare il proprio sito personale. È abbastanza popolare tra gli sviluppatori mostrare le proprie abilità utilizzando un sito Web di portfolio, che è fondamentalmente una raccolta dei migliori progetti personali. Una sorta di curriculum da mostrare ai datori di lavoro o ai futuri clienti.

Usa GitHub

GitHub è un sito Web aperto a tutti che consente di ospitare il codice dei propri progetti gratuitamente. GitHub è il più importante repository open source su Internet e la casa di molte applicazioni open source. Ottenere un account su Github è abbastanza banale. Il servizio è gratuito e si può iniziare a ospitare sin da subito il proprio codice in pochi minuti.

Ciò che rende GitHub speciale è la compatibilità con i servizi GIT, una tecnologia che rende possibile la collaborazione di gruppo tra più utenti e la possibilità di tracciare le modifiche fatte sul codice in qualsiasi momento e da qualsiasi collaboratore.

 

Impara una framework

Dopo aver preso confidenza con Javascript, allora è ormai diventato obbligatorio conoscere almeno un framework di sviluppo. Un framework è un insieme di funzioni e librerie che semplificano le attività di sviluppo. I framework più recenti sono sofisticati pezzi di codice che a volte reinventano il modo in cui programmiamo anche le applicazioni web.

Alcuni di questi framework sono come un linguaggio di programmazione a sé stante in quanto forniscono modi molto specifici per fare le cose. Potrebbe volerci del tempo per abituarsi, ma una volta fatto, la produttività aumenterà in maniera vertiginosa.

Esistono molti, forse troppi, framework ma non è necessario impararli tutti. Basta sceglierne uno e iniziare da lì. L’importante è fare una buona scelta, cioè iniziare da un framework popolare (cioè ben supportato dalle community e con una documentazione completa). Se poi non ci si trova bene, è sempre possibile cambiare…

Tra i framwork JS più utilizzati e popolari nel 2021, di sicuro ci sono: ReactJSAngularVueJS. Nessuno è migliore dell’altro, ma ciascuno di essi offre delle caratteristiche comuni e caratteristiche particolari che possono aiutare lo sviluppatore in determinati contesti e a seconda del tipo di progetto.