Quando pensiamo ai tools che servono ad uno sviluppatore web, solitamente ci riferiamo a tutte quelle app o software che gestiscono il test, il debugging e il rilascio del sito web creato.
Tuttavia, il termine tools non si riferisce solo alle applicazioni che consentono di fare ciò di cui sopra.
Soprattutto per il web developer che molto spesso utilizza strumenti specifici per il web 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 elencheremo una serie di strumenti che reputiamo necessari per uno sviluppatore 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 per creare un sito web da zero oppure per inserirsi quando il progetto è già avviato, bisogna considerare che tutti i tools che conosciamo potrebbero non funzionare ed essere efficaci per questo nuovo applicativo.
Un buon programmatore informatico deve sempre investigare e approfondire quello che gli serve e i modi con cui utilizzarlo; ovviamente ci saranno sempre 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à: lo sviluppatore 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 anche ad un programmatore online;
- 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 sviluppatore 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: se si hanno a disposizione le più famose features 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 è un IDE che consigliamo fortemente. 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 Frameworks 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 frameworks 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 codice 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: Angular Framework è un Framework del linguaggio 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 Front end, 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 riutilizzabili. Vue.js vanta un’ottima community e un ecosistema florido di librerie e funzionalità, e, 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 web di collaborare nella produzione di un progetto, contemporaneamente. Ogni modifica effettuata da uno sviluppatore web viene tracciata da un Commit, e, 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:
Puoi trovare una lista completa di altri client per Git 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 le 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à; tutti i linguaggi di programmazione hanno 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, mentre 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 abbiamo parlato di molti tool tecnici per un programmatore informatico web. Tuttavia, se lavori in azienda o come programmatore freelance esistono altri tool essenziali alla pari di un IDE o di un Framework di riferimento. Stiamo parlando di tutti quegli strumenti per il lavoro in team che consentono di comunicare e tenersi aggiornati costantemente.
Come dicevamo, questi programmi sono estremamente importanti e 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
Saper programmare non è sufficiente. Parte dell'essere un programmatore web è capire cosa c'è in una buona progettazione dell'interfaccia utente e dell'esperienza utente (UI/UX design), dalla prototipazione alla creazione di un linguaggio visivo per la tua app. Per farlo, i tools 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 ad un web designer 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, sempre equivalente ai precedenti due, ha come differenza quella di richiedere l’acquisto di una licenza per un utilizzo professionale e, inoltre, è più stabile da un punto di vista di utilizzo quotidiano.
In quest’articolo abbiamo presentato molteplici tool e strumenti necessari per poter svolgere il lavoro di programmatore web. Come già detto, avrai sentito parlare di molti di loro in quanto molto popolari; 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ù.