Costruire applicazioni omnichannel

by Andrea Maioli on 16 giugno 2015

La scorsa settimana abbiamo visto come il mondo di oggi ci chieda di creare un nuovo tipo di applicazioni, con una user experience raffinata ed utilizzabile sui diversi canali oggi disponibili, dallo smartphone al desktop. Applicazioni che vivono in un cloud, ma funzionano anche offline. Applicazioni con caratteristiche sociali avanzate e che raccolgono automaticamente i dati di utilizzo dagli utenti.

Ma quali tecnologie, linguaggi e strumenti permettono di farlo? Quando abbiamo iniziato a rispondere a questa domanda ci siamo resi conto che c’erano tre ostacoli da superare:

  1. Le tecnologie “server” non permettevano di creare applicativi che potessero funzionanare anche offline nei dispositivi mobile a partire dalla medesima codebase.

  2. I meccanismi base di comunicazione dei browser con i server (protocollo http) erano troppo lenti e sincroni con le richieste dei browser.

  3. Non esisteva un sistema pratico per la creazione di frontend html con performance così spinte da poter offrire un tipo di user experience confrontabile con quella mobile nativa.

La risposta ai primi due ostacoli è nelle tecnologie web di ultima generazione: NodeJS permette di creare application server ad alte prestazioni basati su javascript, mentre WebSocket è uno standard di comunicazione che permette di usare due canali sempre aperti, bidirezionali ed asincroni con basso tempo di trasferimento.

Tuttavia senza la risposta al terzo ostacolo esse non si possono applicare praticamente alle applicazioni omnichannel di cui abbiamo parlato. Per questa ragione abbiamo sviluppato una nuova tecnologia di descrizione e movimentazione delle pagine chiamata RemoteDOM, con caratteristiche decisamente interessanti:

  1. Permette di sviluppare applicazioni server based, dove lo strato di frontend e backend sono accoppiati direttamente in memoria per garantire prestazioni e sicurezza.

  2. Utilizza i medesimi accorgimenti di alcune piattaforme di videogiochi online per realizzare applicazioni belle, animate e soprattutto velocissime.

  3. Consente di riutilizzare i migliori widget javascript presenti su internet e tecniche responsive per interfacce che si adattano ai vari fattori di forma.

  4. Risolve il problema dell’inferno delle callback che ben conosce chi lavora nel mondo asincrono di NodeJS, mettendo a disposizione già oggi tecnologie che saranno disponibili solo fra qualche anno nelle future versioni di javascript.

  5. Permette di costruire applicazioni che funzionano sia online che offline a partire dalla stessa codebase e che funzionano anche nei dispositivi mobile grazie ad un container cordova.

  6. Include modalità di funzionamento avanzate come la telecollaborazione applicativa, la raccolta di dati analitici ed il test automatico.

Volete vedere un esempio? Provate photo, che simula una lista contatti di quasi 6000 nominativi a partire da un elenco di foto pubbliche raccolte dal web. Provate a scorrere le liste e a vedere i dettagli. Una user experience così la si trova solo nelle migliori applicazioni native!

Ora passo la tastiera a Giovanni Foschini che la prossima settimana ci farà capire come queste tecnologie sono state integrate all’interno del mondo Instant Developer.

{ 2 trackbacks }

Dopo il come, il quando | il blog di pro gamma
30 giugno 2015 alle 14:04
Javascript e CSS, un mondo pieno di sorprese | il blog di pro gamma
3 luglio 2015 alle 18:32

{ 1 comment… read it below or add one }

1 poidomani giovanni 19 giugno 2015 alle 08:49

l’idea mi piace molto ma non mi è ancora chiaro come va configurato un server aziendale che adotti questa tecnologia e cosa si può aggiungere e con quale semplicità di quel che si trova sul web come ad esempio bootstrap, angular.js, jquery, sass, ecc.

Leave a Comment

Previous post:

Next post: