Una delle tante rivoluzioni di HTML5 è stata quella di fornire a tutti i developer degli strumenti e una tecnologia per sviluppare applicazioni web "cross-device", ovvero che funzionassero più o meno nello stesso modo a prescindere dal "device", sia esso il nostro desktop o un telefonino o tablet.

Questo, insieme a CSS3, ha reso possibile la nascita di un nuovo mondo, ovvero quello delle "mobile web apps": vere e proprie applicazioni che girano su piattaforma web (sono cioè, in sostanza, dei siti) ma che sfruttano JavaScript e tutte le novità di HTML5 per offrire all'utente una esperienza simile a quella presentata dalle applicazioni native. Con l'innegabile vantaggio, fra gli altri, di "girare" su diversi telefoni (iPhone e Android in particolare) con lo stesso identico codice.

Per semplificare e rendere possibile la creazione di queste "mobile web applications" sono stati creati dei framework, ovvero delle librerie JavaScript (tipo jQuery, per intenderci) che consentono l'utilizzo di "trucchi" tipici della programmazione per mobile (tipo la barra fissa in alto) in maniera relativamente semplice.

Vediamo in questo articolo quelli che, a nostro modo di vedere, sono i 3 principali framework.

jQuery Mobile

Il più famoso e utilizzato, "figlio" ed erede di jQuery è un framework che consente di creare pagine che funzionano bene su telefonini e device mobili dando una struttura apposita al nostro HTML. Come si vede dal demo (che è anche la documentazione del progetto) questo framework crea bottoni e un sistema di navigazione piuttosto simile a quello nativo, con una barra in alto, bottoni belli grossi e facili da cliccare e qualche movimento (lo slide da destra all'apertura di una pagina, ad esempio) che sono ormai tipici degli smartphones più avanzati.

I due vantaggi principali sono che, essendo figlio di jQuery e quindi usando una sintassi e una filosofia simile, ha una grande comunità di developer ed è piuttosto semplice da implementare. In più, funziona (abbastanza) bene su un numero piuttosto elevato di telefonini e non solo sui device Android e iPhone di ultima generazione

http://jquerymobile.com/

The-M-Project

Un framework JavaScript che adotta un approccio MVC (Model-View-Controller) per consentirci di creare applicazioni web cross-platform in HTML5. Ovviamente questo ne limita l'utilizzo per device e browser di ultima generazione (che capiscano, cioè, HTML5) ma ci consente di creare cose piuttosto carine come si può vedere dal loro KitchenSink.

Sicuramente questo framework consente di creare applicazioni web HTML5 che si avvicinano di più ad un esperienza nativa pur rimanendo abbastanza facili e veloci da sviluppare.

http://the-m-project.net/

Sench Touch

Sencha Touch è, a nostro modo di vedere, il vero e proprio re dei framework per mobile web apps. Grazie a questo completo sistema JavaScript, derivazione per device mobili del famoso e solidissimo ExtJS, si possono creare delle vere applicazioni web per device mobili, con un'interfaccia che pochissimo ha da invidiare alle applicazioni native e un engine JavaScript che, attraverso la sua modalità MVC e alcune soluzioni semplicemente geniali, rende lo sviluppo veloce e molto efficace. Basta dare un'occhiata ai demo e al KitchenSink per avere un'idea di quello che si può fare.

I due "difetti" di questo framework sono:

  • una curva di apprendimento molto ripida: la prima volta che vederete un'applicazione Sencha Touch penserete che si tratta di un linguaggio del tutto nuovo, altro che JavaScript… Appena si prende la mano si capisce invece quanto il framework sia potente ma il primo approccio può essere scoraggiante
  • le applicazioni che si creano funzionano solo su browser WebKit, e dunque solo su Safari o Chrome, e dunque solo su iPhone o Android.

http://www.sencha.com/products/touch/

Conclusioni

Il nostro suggerimento finale è di provare provare provare (ovviamente ci sono molti altri framework, questi sono i principali secondo noi). L'ordine con cui abbiamo elencato i tre framework in questo articolo rispecchia l'ordine di difficoltà ma anche di risultati che si possono ottenere. Per andare online abbastanza velocemente jQuery Mobile va bene ma se si vuole sviluppare una vera e propria applicazione mobile web based non si può prescindere da Sencha Touch

E voi? Che ne pensate?

 

The following two tabs change content below.
Silvio Porcellana
Silvio Porcellana è il fondatore di mob.is.it, il tool che centinaia di agenzie e professionisti di tutto il mondo utilizzano per creare con semplicità siti mobili e applicazioni native per i loro clienti. Tiene anche un podcast dove racconta ogni venerdì le sue avventure imprenditoriali, senza veli o segreti: Opus Digitalis