Sviluppare un sito web, quali abitudini ho cambiato nel 2017

Sviluppare un sito web è ogni giorno più complesso, spesso potrebbe sembrare il contrario grazie a strumenti quali wordpress, visual composer, temi già realizzati e varie piattaforme per la realizzazione di siti in pochi click, ma un sito realizzato con cura e completamente customizzato è invece sempre più una questione di bilanciare decine di fattori.

Vogliamo sempre più animazioni, video e immagini  ma ognuno di essi ha un peso in MB spesso non indifferente, vogliamo utilizzare nuove features e nuovi linguaggi ma spesso i vecchi browser non li supportano e anche quelli moderni faticano a stare al passo.

Sorge quindi la necessità di utilizzare tool che comprimano immagini, convertano i sass in css, convertano codice scritto con gli standard delle ultime versioni di javascript in codice adatto a qualsiasi browser, CMS che aiutino il cliente a poter modificare il proprio sito e a volte framework che semplifichino il lavoro, il tutto senza sacrificare troppo la produttività.

Alcuni di questi tool per noi sono una scelta ormai consolidata da anni, Worpdress e Prestashop ci accompagnano da alcuni anni e vengono sostituiti solo in caso di necessità specifiche da prodotti più adeguati al singolo progetto quali React, Laravel, jekyll, Python (scusate se lo mescolo a dei framework).

Nel 2017 però abbiamo cambiato parecchie cose, la più notevole a mio avviso è stata passare da Foundation a Bootstrap 4, dopo svariati anni passati ad inseguire, bootstrap è finalmente maturo, flessibile e completo e ci offre, oltre alla qualità e versatilità alla quale eravamo abituati da anni, anche la modularità del sistema forse più diffuso al mondo, vogliamo aggiungere un plugin? Quasi sicuramente esisterà una versione che utilizza le classi di bootstrap, questo non significa un lavoro meno curato, significa al contrario meno modifiche necessarie per adattare plugin di vario tipo ai nostri css, garantendo quindi una maggiore compatibilità nel corso del tempo e dei futuri aggiornamenti.

Un altro nuovo tool che ci ha sorpreso notevolmente è Local by Flywheels, da circa un anno lo utilizziamo per poter sviluppare progetti in locale (con tutti i vantaggi del caso) potendo però fornire rapidamente un link per visionare il sito da remoto. Il prodotto si basa su macchine virtuali con tutti i requisiti necessari per un’installazione di WordPress o con due veloci modifiche per un sito basato su html. Tempo risparmiato nel creare la macchina virtuale, tempo risparmiato nell’installare e configurare wordpress e soprattutto la flessibilità di poter sviluppare in locale ma di poter offrire l’accesso dall’esterno che per tanti anni è stato un problema costante tra IP dinamici, NAT, Firewall e simili permettendoci quindi di lavorare praticamente ovunque. Il prodotto offre anche la possibilità di trasferire il sito con un click sulla loro piattaforma di hosting ma al momento non è sufficientemente interessante per prenderla in considerazione, è soltanto ben integrata.

L’aver finalmente risolto il problema dell’accesso remoto mi ha finalmente permesso di lavorare su più di un PC, ho così la possibilità di lavorare con il mio fido MacBook Pro quando sono in mobilità e con la mia workstation Windows quando sono nella tranquillità del mio ufficio, qui dovrei dedicare un capitolo a parte alla postazione di lavoro, cambiata anch’essa negli ultimi tempi ma me lo risparmierò per un prossimo articolo. Quello che invece è interessante è discutere della possibilità di avere un workflow praticamente ininterrotto su due macchine così diverse, per raggiungere questo risultato ho scelto di utilizzare Visual Studio Code come editor, ce ne sarebbero state decine di altri completamente cross platform ma la sua perfetta integrazione con GIT e con BASH mi permettono di eliminare un ulteriore livello di differenze. È inoltre un ottimo editor, con una grafica pulita ed accattivante che in pochi mesi ha guadagnato funzioni e plugin utilissimi. Su windows ho quindi installato il pacchetto del subsystem ubuntu offerto agli sviluppatori e magicamente ho esattamente lo stesso terminale, la stessa interfaccia e gli stessi tool su entrambe le macchine: Per concludere questa integrazione ho utilizzato dropbox in modo che i miei progetti siano sempre sincronizzati su entrambe le macchine in pochi secondi. Ora mi restano soltanto un paio di piccoli sfizi da togliermi, primo uno script che esporti ed importi il database rapidamente (con mysql workbench ci metto poco ed è la stessa applicazione per tutte e due le piattaforme, ma perchè non ridurre ulteriormente i passaggi?) e secondo un mouse che trovo molto interessante, il Logitech MX Master 2s, che permette di utilizzare più macchine in contemporanea e perfino di copincollare da una all’altra come se fosse la stessa; magari lo comperò e ne parlerò nell’articolo sulla mia postazione.

Dal punto di vista dei tool più strettamente legati allo sviluppo invece abbiamo una vecchia conoscenza, Gulp, in passato abbiamo utilizzato Grunt ma siamo passati a Gulp per maggior diffusione, ora sulla cresta dell’onda c’è Webpack ma sinceramente non mi ha colpito particolarmente, l’abbiamo utilizzato per un paio di progetti e i vantaggi offerti non mi sarebbero bastati per scartare il mio fido Gulp, anche perchè nell’ambiente dello sviluppo questi tool cambiano come le mode e quasi mai vale la pena inseguirle immediatamente. Gulp affiancato da una serie di moduli ci permette di eseguire i task più noiosi quali minificare le immagini, compilare css e js e minificarli pur mantenendo delle mappe che ci permettono di ispezionare il codice, inoltre ci permette di aggiornare in tempo reale il browser con le ultime modifiche effettuate e di copiare eventuali file non gestiti tramite altri tipi di importazioni, su questo fronte quindi soltanto conferme e poche modifiche quest’anno.

Dove invece è cambiato qualcosa è la gestione dei moduli, intesi quali plugin e componenti js/css, in passato ci affidavamo a Bower, ottimo tool che non ci ha mai dato particolari problemi, la novità qui è di aver semplicemente rimosso uno strumento quasi inutile, già da tempo gestivamo i moduli di Gulp con NPM e già lo utilizzavamo per installare bower e simili, ci siamo quindi spostati definitivamente nella sua direzione utilizzandolo ora anche per gestire tutti i componenti js e css, le sue feature sono complete e, in coppia con GULP, permettono di gestire perfettamente il processo.

Per finire abbiamo fatto un cambio del nostro fornitore di scelta, siamo passati da Linode a Digital Ocean, questo non comporta grandi differenze, tutti e due offrono servizi di VPS di prim ordine, ma trovo l’interfaccia più gradevole e ci ha permesso di semplificare ulteriormente alcuni aspetti quali la gestione delle chiavi private e delle immagini master da cui partire per la configurazione di un server.

 

Ovviamente oltre a tutto questo abbiamo affrontato decine di prove e abbiamo spesso fatto retromarcia e altrettanto spesso abbiamo fatto altre piccole scelte tra un modulo o un plugin piuttosto di un altro ma ne dovremmo parlare per giorni e di molti dettagli non ho nemmeno ricordo. Spero comunque che i cambiamenti affrontati qui da Studio Up Web Agency Milano, siano sufficienti a motivare questo articolo, sicuramente non è stata una totale rivoluzione, ma tra gli ultimi anni questo è stato uno di quelli con maggiori cambiamenti.

Lascia un Commento