I principali tools di un programmatore web

I principali tools di un programmatore web

Giuseppe Speranza Di Giuseppe Speranza


sviluppo web tool stack tecnologico

Quando pensiamo ai tools che servono ad un programmatore web, solitamente ci riferiamo a tutte quelle app o software che gestiscono il test, il debugging e il rilascio del sito web creato.

Il termine tools non si riferisce solo alle applicazioni che consentono di fare quello sopra elencato. 

Soprattutto per il programmatore web che molto spesso utilizza strumenti specifici per il design come Figma e per il team work come Slack o Teams, per non parlare dei forum su cui confrontarsi per trovare soluzioni ai propri problemi come il celeberrimo StackOverflow

Per questa ragione elencherò una serie di strumenti che reputo necessari per un programmatore web, in modo da dare una visione realistica di un workflow genuino. 

Alcuni di loro ti saranno già familiari mentre altri potrebbero entrare nel tuo stack di strumenti quotidiano.

Cosa considerare quando si scelgono degli strumenti per lo sviluppo web?

Quando si parte con lo sviluppo di un progetto partendo da zero oppure inserendosi quando è già avviato, bisogna considerare che tutti i tools che conosciamo potrebbero non funzionare ed essere efficaci per questo nuovo applicativo. 

Un buon programmatore deve sempre investigare e approfondire quello che gli serve e i modi con cui utilizzarlo, ovviamente ci saranno sempre quei tools preferiti e fissi, ma il concetto è che il proprio stack tecnologico non deve mai essere statico.

La domanda essenziale da farsi è: questo strumento rende il mio lavoro più facile e veloce?

Alcuni concetti da prendere in considerazione per rispondere a questa domanda potrebbero essere: 

  • Scalabilità: il tool deve essere utilizzabile nello stesso modo sia quando il progetto è di piccole dimensioni sia quando crescerà notevolmente;
  • Sicurezza: in un contesto di condivisione di strumenti di lavoro e di dati sensibili, il team e l’azienda devono sapere di lavorare sempre in completa sicurezza;
  • Facilità di utilizzo: il tool deve semplificare il lavoro non complicarlo;
  • Portabilità: il programmatore Web spesso lavora da remoto o in ufficio, il tool deve consentire di poter lavorare dinamicamente da qualsiasi postazione, garantendo gli stessi standard di utilizzo;
  • Funzionalità: il tool apporta effettivamente un valore aggiunto? Migliora alcune procedure semplificando e velocizzando il lavoro del programmatore?

Quali tool usare?

Per semplicità dividiamo i tool in diverse categorie e per ognuna di essa facciamo degli esempi. Partiamo!

Categorie:

  • Code e Text Editors
  • Web Frameworks
  • Git e alcuni suoi client
  • Package Managers
  • Tools per il lavoro in team
  • Design e creazione dei prototipi

1. Code e Text Editors

Un editor è uno degli strumenti indispensabili per poter svolgere in modo efficiente il lavoro da programmatore web. 

Quando un programmatore trova l’editor che più gli piace, solitamente tende a mantenerlo invariato per molto tempo, difatti questo è uno degli strumenti inderogabili in questo lavoro, un po’ come il set di attrezzi per un idraulico o carpentiere. 

Non è negativo usare sempre lo stesso editor, difatti se si hanno a disposizione le più famose feature e ci si trova meglio, perchè cambiarlo?

Tra gli editor più famosi e utilizzati troviamo: 

Visual Studio Code

Visual Studio Code sviluppato da Microsoft per essere utilizzato su Windows, Linux e MacOs consente di fare tantissime cose tra cui il debugging e l’utilizzo di comandi GIT in modo avanzato consentendo un’ampia customizzazione, permettendo di installare di volta in volta le estensioni che servono.

Sublime Text

Sublime Text è uno dei più famosi Text editor, anche se non offre le stesse funzionalità di altri editor suoi competitors, garantisce facilità di utilizzo, un’ottima interfaccia grafica e leggerezza del software.

Webstorm

Webstorm è l’IDE che utilizzo tutti i giorni e in assoluto il mio preferito. Offre una miriade di funzionalità per lo sviluppo e non ha nulla da invidiare a tutti gli altri competitors vantando anche maggiore stabilità; l’unica pecca è che richiede il pagamento di una licenza annuale, caratteristica che può allontanare molti utenti.

2. Web Frameworks

I Web Frameworks o semplicemente Framework sono dei software creati per facilitare lo sviluppo di applicazioni e servizi web. Bisogna scegliere con cura il framework da utilizzare poiché spesso risulta dispendioso cambiare in corso d’opera le scelte fatte.

Trai web framework più famosi citiamo:

1: Laravel: il framework PHP attualmente più popolare e famoso creato nel 2011 da Taylor Otwell. Laravel semplifica alcune delle attività più comuni dei progetti web come autenticazione, autorizzazione, routing, sessioni, caching. Possiede inoltre un motore di templating integrato, Blade, un sistema di migrazione database, integrazione con PHPUnit per il testing, e una propria interfaccia a riga di comando, chiamata Artisan CLI. Da qualche anno continua ad affermarsi come il framework di riferimento per tantissime realtà sia di grandi che di piccole dimensioni.

2. Django: possiamo definirlo come il corrispettivo di Laravel scritto in Python. Anche Django vanta un set avanzato di funzioni per lo sviluppo di applicativi web offrendo come Laravel una vasta community di supporters.

3. Angular: è un Framework JavaScript creato da Google, caratterizzato da un solido ecosistema di librerie; a differenza dei suoi competitors è quello con una curva d’apprendimento più lenta; ciò lo rendo meno appetibile verso coloro che cercano una soluzione più veloce da usare.

4. React: è una libreria JavaScript creata da Facebook per facilitare lo sviluppo Frontend; caratterizzata anch'essa da un solido ecosistema di librerie di terze parti o ufficiali e da una community molto attiva. 

Al momento React è una delle librerie JavaScript più popolari e usate al mondo insieme a Vue.js

5. Vue.js: insieme a React, si contende ormai il podio tra le librerie JavaScript più usate al mondo, etichettandosi come un’alternativa più accessibile e versatile rispetto agli altri frameworks. Come i suoi competitors, anche Vue.js utilizza un sistema di splitting dei componenti, dividendo l’applicativo in piccoli pezzi di codice riusabili. Vue.js vanta un’ottima community e un ecosistema florido di librerie e funzionalità, inoltre è integrato nativamente in qualsiasi progetto sviluppato con Laravel.

Laravel


3. Git e alcuni suoi Client

Git è sicuramente il sistema di controllo versione (VCS) più popolare al mondo. Questo software permette a vari sviluppatori di collaborare nella produzione di un progetto contemporaneamente. Ogni modifica effettuata da uno sviluppatore viene tracciata da un Commit, inoltre Git permette di creare diverse versioni del software, attraverso l’utilizzo dei branch o rami di sviluppo, ognuno dei quali avrà dei propri commit. Questi Branch potrebbero anche essere indipendenti tra di loro.

Git è uno strumento essenziale per qualsiasi sviluppatore web e non solo, conoscerlo consente a chiunque di poter lavorare in qualsiasi Team in tutto il mondo.

Inizialmente Git è stato distribuito e utilizzato tramite linea di comando ma col passare del tempo sono stati sviluppati altri software che semplificano ulteriormente il suo utilizzo, esponendo le sue funzionalità attraverso un’interfaccia visiva più intuitiva e semplice.

Alcuni dei client più diffusi sono:

Una lista completa di altri client per Git la potete trovare a questo link ufficiale.

GitHub Desktop

4. Package Managers 

I progetti che sviluppiamo dipendono sempre più da componenti esterni, ad esempio gli script provenienti dal mondo open source oppure alle librerie che servizi come Amazon AWS o Google API mettono a disposizione gratuitamente per integrare i nostri progetti con i servizi che offrono. Aggiungere queste librerie ai progetti, aggiornarle costantemente o rimuoverle con facilità può rivelarsi più tedioso del previsto, poiché è sempre meglio essere focalizzati sul progetto stesso che su ciò che lo circonda. 

Per questo motivo sono stati inventati i Package Managers, dei tool che consentono la gestione di tutte queste dipendenze con estrema facilità; ogni linguaggio ha dei Package Managers di riferimento, ad esempio PHP utilizza Composer

Per quanto Riguarda il mondo JavaScript ne troviamo principalmente due: NPM e Yarn. Il primo creato per supportare l’approdo di NodeJs nel 2009, il secondo creato da Facebook.

Come potete immaginare qualsiasi sviluppatore Web che si rispetti deve conoscere e utilizzare questi package managers.

Logo NPM

5. Tools per il lavoro in Team

Finora ho parlato di molti tool tecnici per un programmatore web, se lavori in azienda o come freelance esistono altri tool essenziali alla pari di un IDE o di un Framework di riferimento. Sto parlando di tutti quegli strumenti per il lavoro in team che consentono di comunicare e tenersi aggiornati costantemente. 

Come dicevo questi programmi sono estremamente importanti, alcuni dei più famosi sono: 

  • Jira: l’ideale per pianificare, monitorare e rilasciare i software. Gestendo al contempo gli sprint e la creazione dei ticket. Attualmente è una delle piattaforme più utilizzate dalle imprese. 
  • Slack: è una piattaforma di messaggistica di gruppo, riduce la necessità di e-mail separando le conversazioni in canali distinti in modo da poter tenere traccia di argomenti, idee e progetti senza lunghi thread di posta elettronica. Questo rende Slack come la sede virtuale del team.
  • Microsoft Teams: come Slack offre un elenco completo di funzionalità che aiuteranno il vostro team a collaborare e a produrre di più. La scelta tra uno e l’altro tool dipenderà dalle differenze di prezzo, di budget e delle scelte aziendali.

6. Design e creazione dei prototipi

Non basta solo saper programmare. Parte dell'essere un programmatore web è capire cosa c'è in una buona progettazione dell'interfaccia utente e dell'esperienza utente, dalla prototipazione alla creazione di un linguaggio visivo per la tua app. Questi strumenti di progettazione sono estremamente importanti.

Tra i più famosi tool di creazione prototipi troviamo Figma, AdobeXD e Sketch

Figma è completamente gratuito e offre tutto ciò che serve per poter sviluppare interfacce e prototipi inoltre è accessibile da qualsiasi browser. AdobeXD è un altro eccellente tool alla pari di Figma, con la differenza che opera meglio con tutti gli altri programmi della suite Adobe.

Sketch è alla pari di Figma, la differenza è che Sketch richiede l’acquisto di una licenza per un utilizzo professionale e inoltre è più stabile da un punto di vista di utilizzo quotidiano.

In quest’articolo ho presentato una miriade di tool e strumenti necessari per poter svolgere il lavoro di programmatore web. Come ho già detto, avrai sentito parlare di molti di loro in quanto popolari e sulla bocca di tutti; tuttavia se sei un programmatore alle prime armi che magari ha appena terminato un percorso formativo, potresti trovare utile approfondire i tool necessari per lavorare in team! 

Lavorare bene in team significa molto spesso essere più produttivi e di conseguenza crescere di più.

Come sempre spero che abbiate trovato interessante quest’articolo! Grazie per la lettura!

Impara a programmare in 3 mesi con il Corso di Coding Hackademy su Laravel PHP

Diventa Sviluppatore web in 3 mesi

Scopri il coding bootcamp Hackademy

Programma Completo