Codemotion Milano 2015
Il nostro resoconto
Si è da poco conclusa Codemotion Milano 2015. MV Labs non poteva mancare all’appuntamento: è stata la volta mia (Tozzy) e di Francesco.
La conferenza è una delle più grandi del settore informatico in Italia e in Europa, con capitoli organizzati a Madrid, Barcellona, Berlino e Tel Aviv, oltre al binomio italiano Roma – Milano. I temi trattati sono trasversali e capaci di attirare gli esperti di ogni settore dello sviluppo di applicazioni on e off-line. Alcune aree di interesse dei talk sono: User Experience, Mobile, Server-side, Front-end, Cloud, Security, etc. Gli speaker provenivano da tutto il mondo e la loro caratura era di assoluto livello. Tra tutti, spiccava indubbiamente Rasmus Lerdorf (@rasmus), il creatore delle prime versioni di PHP e tutt’ora attivo nello sviluppo del linguaggio. A ulteriore conferma dell’importanza di Codemotion, la lineup degli sponsor vedeva rappresentati alcuni dei marchi più noti nel mondo dell’informatica. Giusto per citarne alcuni: IBM, HP, PayPal, Intel, RedHat, Google e Amazon web services.
Come detto in precedenza, i temi trattati dai talk coprivano per intero la catena di sviluppo del software. Per offrire una copertura così ampia, i talk si sovrapponevano, lasciando al partecipante l’onere della scelta. Io e Francesco, in base ai nostri interessi, abbiamo deciso di seguire talk differenti. Io mi sono dedicato a seguire i talk incentrati sul Front-end e sulla User Experience, mentre Francesco era decisamente più interessato al Back-end; non si è però fatto sfuggire qualche capatina nel percorso di Game Development. In entrambi i casi siamo riusciti a tornare indietro con spunti molto interessanti e carichi di rinnovato entusiasmo. Segue un riepilogo dei talk che ci hanno maggiormente colpito.
Trophy Winning Teams by Adam Onishi (@onishiweb)
In questo talk Adam Onishi, sviluppatore presso DXW a Londra, ha portato la sua esperienza, sviluppata in diverse aziende, nella gestione di team Front-end in rapida crescita. Le sue linee guida possono sembrare banali e nulla di nuovo, ma la loro applicazione non è sempre così banale. I suggerimenti dati da Adam sono:
- Uso di Boylerplate.
- Uso di task manager come Gulp/Grunt.
- Uso e definizione di Pattern Libraries (Paul Boag ne dà una buona introduzione https://boagworld.com/design/pattern-library).
- Uso e definizione di Code Styleguides.
- Uso di Linter in fase di scrittura (esistono plugin per tutti i maggiori IDE di sviluppo) e in fase di commit.
- Code Review non solo da parte dei senior ma anche da parte dei junior developer; questo principalmente per due motivi: il nuovo collega viene fatto sentire subito utile e al tempo stesso potrebbe portare nuove idee nell’organizzazione del codice.
- Scrittura della documentazione a due livelli: di compagnia, con tutte le indicazioni per trovare tutte le informazioni necessarie, e a livello di progetto, con tutte le tecnologie adottate e le informazioni utili.
- Group Code Review, ovvero sessioni in cui un volontario mostra il proprio codice a tutto il team. Questo sistema, per evitare atriti o situazioni di fraintendimento, deve essere gestito da un arbitro che, come nel calcio, può assegnare cartellini se un commento risulta essere fuori luogo.
A conclusione di tutto, Adam ha anche dato consigli su come evitare di fare il reject di una pull request, quanto piuttosto parlare direttamente con chi l’ha fatta. In questa maniera, si evitano gli atriti inutili all’interno del team e si aiuta a migliorare tutti.
In generale, il talk è stato molto piacevole, nonostante il tema non fosse propriamente legato allo sviluppo Front-end. Adam è stato in grado di affrontare un argomento spesso non preso in considerazione o comunque lasciato in disparte per mancanza di tempo.
Le slide del talk si possono trovare a questo indirizzo http://www.slideshare.net/AdamOnishi/trophy-winningteams-codemotion-milan-2015
How to Avoid Being Creepy and Design for Trust by Michael Boeke (@mvboeke)
Michael Boeke UX designer per Synap (getsynap.com) con un’esperienza pluriennale alle spalle, ha fornito alcune linee guida su come costruire un sito in maniera da favorire trasparenza e credibilità della compagnia e del sito stesso. I consigli dati erano spesso supportati da esempi pratici e da esperienze vissute da Michael, e, anche se spesso declinate in casi di grandi aziende, erano di facile comprensione ed applicazione anche nel caso di aziende di dimensioni molto più contenute. Tra questi citiamo:
- Far vedere le persone che stanno dietro il sito/app.
- Far in modo che le coordinate per contattare il customer service (telefono e/o email) siano sempre ben visibili (questo vale in particolar modo per grandi organizzazioni).
- Se si vende qualcosa scrivere in modo chiaro qual è il prezzo del prodotto.
- Dare la possibilità di cancellare le modifiche fatte.
- Dire chiaramente cosa si farà con i dati raccolti.
- Far sapere cosa cerca di costruire nel mondo l’azienda che sta dietro al sito.
Il talk è stato molto interessante e dinamico, Boeke si è dimostrato molto bravo a mantenere l’interesse alto e ha dimostrato di essere anche esperto nel campo trattato.
Le slide al talk si possono trovare a questo indirizzo https://speakerdeck.com/mvboeke/designing-for-trust
Use Ionic framework to develop mobile application by Lucio Grenzi
Lucio Grenzi è attualmente un frontend developer, ma con alle spalle esperienze come developer a tutti i livelli.
Il suo talk era incentrato sul dare una intro al framework Ionic per la creazione di app mobile (iOS e Android al momento, Windows dovrebbe essere supportato a breve). Purtroppo però il talk si è rivelato poco più che un beginners tutorial molto rapido e sbrigativo, che non ha dato nessun motivo reale per scegliere la tecnologia supportata da Apache, piuttosto che la scrittura di una app in codice nativo.
Le slide si possono trovare a questo indirizzo http://www.slideshare.net/lucio_grenzi/use-ionic-framework-to-develop-mobile-application
UX for Developers. Seriously! by Agnieszka Naplocha (@aganaplocha)
Agnieszka Naplocha è allo stesso tempo designer e front-end developer, con un background anche da UX designer. Lavorando a Varsavia ha avuto modo di svolgere tutti i lavori legati allo sviluppo di un’interfaccia grafica. Essendo stata da entrambi i lati della barricata, ha pensato di condividere la sua esperienza con questo talk, in cui ha combinato gli aspetti da considerare quando si svolge uno o l’altro ruolo. Il consiglio principale, su cui un po’ tutto il suo talk si reggeva, è stato quello di fare in modo che gli sviluppatori vengano tirati in mezzo alla definizione della grafica. In questa maniera, potranno, oltre a proporre le proprie idee, capire i meccanismi che stanno dietro alla definizione di un layout.
In generale un talk interessante e con buona interazione con il pubblico, il quale è stato invitato anche a trovare una soluzione ad un problema di usabilità nel giro di 3 minuti (al quale ho proposto praticamente la stessa soluzione di Agnieszka ).
Le slide si possono trovare a questo indirizzo http://www.slideshare.net/Codemotion/agnieszka-naplocha-ux-for-developers-seriously-codemotion-milan-2015
CSS3 Layouts: Flexbox vs CSS Grid by Sara Vieira (@NikkitaFTW)
Sara Vieira è una giovane Front-end developer portoghese, la quale ha deciso di portare la sua esperienza con l’uso di flexbox. Questo nuovo layout mode inserito in CSS3 permette di fare in maniera molto (ma molto) semplice quello che prima eravamo abituati a fare con tabelle (molto prima), float e inline-block. Con la regola display:flex; saremo in grado di creare layout perfettamente allineati e adattabili a varie grandezze di schermo con pochissime linee di codice. Oltre a questo, sarà possibile anche definire l’ordine in cui mostrare gli elementi, e la direzione in cui mostrarli (orizzontale o verticale). Ma la cosa bella di tutto questo è che praticamente tutti i browser lo supportano (http://caniuse.com/#feat=flexbox).
La seconda parte del talk mirava a dare una introduzione a CSS grid, il quale ha uno scopo completamente diverso dai flexible boxes. Infatti, il motivo per cui CSS grid è stato sviluppato è quello di permettere l’implementazione dei layout a griglie direttamente con l’uso del CSS. In pratica flexbox e CSS grid sono due direttive che si completano a vicenda. Per il momento però CSS grid non è utilizzabile, avendo nel solo IE un supporto nativo (http://caniuse.com/#search=css%20grid).
Questo è stato uno dei talk più interessanti avendo affrontato un argomento molto specifico, ma che fornisce un aiuto non trascurabile nello sviluppo di interfacce per siti web.
Le slide si possono trovare a questo indirizzo http://www.slideshare.net/Codemotion/sara-vieira-css3-layouts-flexbox-vs-css-grid
Da Angular a React – Un viaggio inaspettato by Salvatore Laisa (@moebiusmania)
Salvatore Laisa è un Front-end developer da una decina di anni ed è stato speaker in varie conferenze italiane. Salvatore ha introdotto la platea alle capacità di React, il framework JS lanciato da Facebook, il tutto con l’ottica di chi arriva da un’esperienza pluriennale con Angular. In realtà il titolo del talk si è scoperto essere solamente un titolo clickbait (come il talker stesso lo ha definito), infatti il cuore della presentazione era “Come fare a passare da un’architettura MVC ad una a Components”. Questo aspetto è di fondamentale importanza, in quanto tutti i framework JavaScript che sono destinati a fare la parte del leone nei prossimi anni (React, Polymer e lo stesso Angular 2) sfrutteranno questo paradigma.
Il talk è stato decisamente il più interessante tra quelli seguiti in questa due giorni, e Salvatore (anche se si è dilungato un po’ troppo nello scherzare col pubblico) si è dimostrato un ottimo oratore, capace di trasmettere i concetti in maniera molto efficace.
Le slide si possono trovare a questo indirizzo http://www.slideshare.net/Codemotion/salvatore-laisa-da-angular-a-react-un-viaggio-inaspettato
Oltre a queste conference ci sono stati anche alcuni momenti più “ludici”, nel senso che ci sono stati alcuni talk sullo sviluppo di videogames, a cui Francesco non ha voluto rinunciare.
In generale l’esperienza è stata sicuramente positiva, nonostante un disguido che l’organizzazione ha avuto con il catering per il pranzo, il quale è stato decisamente scarso sia in quantità che in qualità. In ogni caso, gli organizzatori sono riusciti a riparare al danno fatto con una pizzata collettiva, e con scuse ripetute sia via social che di persona con i partecipanti. Le conference sono state (quasi) tutte di ottimo livello e ci hanno permesso di tornare in Friuli con più di qualche spunto da utilizzare nella vita di ufficio di tutti i giorni, adesso si tratta solo di mettere in pratica quanto appreso!