Strumenti
Linux
http://linuxcommand.org/tlcl.php
Tutti gli sviluppatori a Nodopiano utilizzano una distribuzione linux. Sui pc viene installata la distribuzione Ubuntu Linux (al momento 20.04 LTS ma sarà aggiornata a breve).
Ognuno è libero di utilizzare un’altra distribuzione a piacere a patto che:
- Sia sempre funzionante
- Sia compatibile con l’hardware fornito
- Si mantengano le stesse funzionalità della distribuzione ubuntu.
VsCode
https://code.visualstudio.com/
L’editor per il codice che utilizziamo è VsCode ma anche in questo caso non è una scelta tassativa. Ognuno è libero di utilizzare l’editor che lo rende più produttivo e di condividere con gli altri i pro e i contro della propria scelta.
Eventuali estensioni che installiamo dipendono dal linguaggio utilizzato e relative convenzioni.
Php
Php è il linguaggio backend che usiamo sostanzialmente in tutti i nostri progetti a meno che la piattaforma o le esigenze specifiche del progetto non richiedano altri linguaggi.
Un introduzione al moderno Php è disponibile a questo indirizzo.
Composer
Composer è il package manager di Php. Nessuna applicazione da noi o sito web realizzato a Nodopiano funzionerebbe senza. È responsabile di scaricare e aggiornare i pacchetti che compongono l’applicazione.
Javascript
Javascript è il linguaggio che utilizziamo per tutte le applicazioni client-side. Pur parlando sempre di Javascript lo utilizziamo in varie forme diverse attraverso framework o librerie che hanno scopi differenti e ci permettono di raggiungere gli obiettivi del progetto.
NodeJS - Npm/Yarn
https://nodejs.org/it/download/
Node (e i suoi package manager, npm o yarn) sono fondamentali per i processi di build delle librerie frontend. Non è necessario conoscerne tutti i dettagli, ma qualsiasi task che involva il frontend molto spesso comincia con questi comandi.
Tailwind
Negli ultimi anni il linguaggio CSS è cambiato molto poco se escludiamo l’introduzione di Flexbox e Grid, quello che è cambiato è l’ecosistema attorno al linguaggio e i tools utilizzati. Se fino a 2-3 anni fa utilizzavamo Sass per potenziare CSS e metodologie come BEM per controllarne gli effetti collaterali, magari unite a framework come bootstrap o foundation (usato fino a 2 anni fa) oggi la tendenza è verso framework detti “utility-first”.
Si tratta in sostanza di framework che utilizzano classi “atomiche” che vengono applicate direttamente agli elementi HTML su cui devono agire.
I benefici di un framework come Tailwind sono sostanzialmente 2
- velocità del prototipare interfacce
- eliminazione dei processi di build necessari con Sass (spesso lunghi)
Gitlab
Tutto il codice che scriviamo, è salvato (in gergo: committato) su gitlab. Gitlab è una piattaforma che offre vari servizi oltre a salvare e organizzare il codice in repository. È anche responsabile di una serie di altre attività, tra cui i test e il deploy del codice.
Docker
Docker è un progetto open-source che attraverso la virtualizzazione fornita dal sistema operativo linux permette di creare dei “contenitori” software al cui interno vengono eseguite le applicazioni.
È lo strumento che utilizziamo per avere un ambiente di sviluppo sempre condiviso tra tutti i membri del team.
Utilizziamo docker principalmente in locale, ma in alcuni casi rappresenta anche il nostro stack in produzione
Ansible
Ansible è un software di automazione che utilizziamo per eseguire le azioni più ripetitive di inizializzazione e configurazione.
Tipicamente lo utilizziamo per creare e configurare gli ambienti di produzione, staging e sviluppo in modo automatico e standardizzato.