Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

JavaScript e Cloud al Cloudparty di Bologna 2014

Lo spirito dei Cloud Party e delle Cloud Conference è quello di dare spunti ai programmatori e lasciare che essi condividano le loro esperienze e in questa occasione il focus è stato il front-end development, quindi il legame tra JavaScript e cloud
Lo spirito dei Cloud Party e delle Cloud Conference è quello di dare spunti ai programmatori e lasciare che essi condividano le loro esperienze e in questa occasione il focus è stato il front-end development, quindi il legame tra JavaScript e cloud
Link copiato negli appunti

Come anticipato a settembre 2013 gli appassionati del cloud computing, rigorosamente per sviluppatori, si ritrovano a Bologna il 3 febbraio 2014, presso gli spazi del T3LAB. Lo spirito dei Cloud Party e delle Cloud Conference è infatti quello di dare spunti ai programmatori e lasciare che essi condividano le loro esperienze e in questa occasione il focus è stato il front-end development, quindi il legame tra JavaScript e cloud.

L'organizzazione è di Corley Srl (partner ufficiale di AWS) di Gabriele Mittica e Walter Dal Mut. Quest'ultimo nella presentazione iniziale già da l'appuntamento alla prossima edizione della Cloud Conference, che si terrà il 3 aprile 2014 a Torino, anticipando che sarà più corposa dello scorso anno con 12 interventi e 2 track, al solito prezzo di 29€.

Ottimizzare il tempo di caricamento delle pagine Web grazie al cloud

Il primo talk è di Marco Vito Moscaritolo che fornisce alcuni importanti suggerimenti per la scelta di servizi esterni nell'ottimizzazione delle pagine Web, sottolineando l'importanza di avere siti che rispondono in tempi sempre più brevi: abbassare da 10 a 3 secondi la visualizzazione del testo di una pagina significa aumentare di circa il 14% il tasso di conversione (pensando ad un e-commerce).

Marco mostra l'analisi del flusso di una richiesta web e come aumenti non solo il peso delle pagine (circa 30% in più all'anno), ma anche il numero di richieste che una singola pagina deve fare per caricare librerie o altre risorse.

Passa poi ad esaminare i limiti e le opportunità fornite dalla tecnologia dei browser per cogliere le possibilità di ottimizzazione che sono perlopiù legate a:

  • Miniaturizzazione massima del codice (JS e CSS) e delle immagini
  • Aggregazione delle richieste, ad esempio aggregando i CSS o utilizzando gli sprite
  • Parallelizzare le richieste, ad esempio utilizzando più domini o CDN
  • Sfruttare caching e lazy loading

Infine suggerisce alcuni servizi da poter utilizzare. Per saperne di più, meglio guardare il video:

CRUD con AngularJS

Bruno Scopelliti mostra come creare una applicazione con le classiche funzionalità CRUD utilizzando AngularJS. Il talk è un minicorso su AngularJS in cui Bruno spiega il funzionamento di base del framework, creato per la realizzazione di Single Page Web Application.

Bruno spiega come AngularJS interpreti il modello MVC per tenere separati gli strati di presentazione (DOM), la logica applicativa e i dati. Inoltre sottolinea l'importanza del
"Two Way Data Binding" che consente alle viste di rimanere sempre "in ascolto" del modello. Inoltre chiarisce come gli scambi di dati siano effettuati grazie allo scope.

Nella parte finale del talk lo speaker introduce i componenti ed in particolare quelli legati al consumo di servizi di tipo REST. Per effettuare chiamate AJAX, AngularJS mette a disposizione l'oggetto $http oppure ngResource un modulo standalone (di 4kB) che facilita le operazioni CRUD. Poiché ngResource è una estensione di $http, quando è necessaria l'autenticazione possiamo utilizzare le caratteristiche dello stesso $http.

Infine Bruno sottolinea l'importanza di effettuare testing sfruttando strumenti come Grunt (task runner), Karma (test runner sviluppato dal team che ha creato AngularJS) e Jasmine (tool di testing)

Sfruttare servizi AWS direttamente da JavaScript

Il terzo talk è di Gabriele Mittica propone l'utilizzo degli Amazon Web services direttamente da JavaScript. Si affronta la questione delicata dell'autenticazione di una applicazione front-end ai servizi cloud senza l'utilizzo di un ulteriore backend (ad es. PHP) che garantisca la riservatezza delle chiavi di accesso (nelle applicazioni JavaScript viaggiano in chiaro).

Gabriele mostra come registrarsi ad AWS e accedere allo IAM (Identity and Access Management), il servizio che permette di creare credenziali per permettere alle applicazioni di lavorare con i diversi servizi di Amazon con diversi livelli di accesso per ogni account e per ogni applicazione.

Creare un profilo è semplice, si ottengono le chiavi e si scarica il JavaScript/Browser AWS SDK (c'è anche l'SDK per node.js). Poi non facciamo altro che importare l'SDK come faremmo per una qualunque libreria, ma nel fare l'accesso al servizio non si possono mostrare le chiavi private!

La soluzione che fornisce AWS è quella di generare delle chiavi temporanee grazie al Security Token Service. Queste chiavi rilasciate solo a utenti autenticati su provider sicuri (come google o lo stesso Amazon) e sarà l'applicazione a richiedere le autorizzazioni legate all'utente per accedere ai diversi servizi.

In questo modo non solo potremo utilizzare i servizi come S3 o DynamoDB direttamente da JavaScript, ma possiamo sfruttare la correlazione con l'utente. Bisogna solo tenere a mente che ogni tipo di autenticazione (Amazon, Google, etc.) generà un profilo diverso su AWS, quindi un utente non può autenticarsi alla stessa identità con account diversi.

Gabriele sottolinea i vantaggi economici che hanno le startup utilizzando servizi cloud based: si accede ad uno strato di servizi inizialmente a basso costo e molto ricco di servizi, che poi possiamo continuare a sfruttare scalando sulle dimensioni solo quando ce ne è necessità.

MQTT, il protocollo per l'Internet of Things

Chiude il pomeriggio Matteo Collina, che presenta MQTT, un protocollo di comunicazione per oggetti e sensori collegati a Internet e non solo: Matteo specifica che si tratta dello stesso protocollo utilizzato dall'applicazione Facebook Messenger per lo scambio dei messaggi.

Funziona con node.js e con i browser moderni grazie a WebSocket. Per fare una dimostrazione pratica lo speaker ha utilizzato un sensore per pilotare l'avanzamento delle slide sul browser nel corso di tutta la presentazione.

Ti consigliamo anche