Good Ideas

App web

Creare una app per iOS e Android con HTML, AngularJs e PhoneGap

Posted by:

|

On:

|

Da mesi ho ho scoperto PhoneGap, uno strumento per trasformare un’applicazione web in un’app nativa per iOS e Android.

App web

L’idea di PhoneGap è di incapsulare un’applicazione web in un browser chromeless, cioè senza bordo, in modo da farla sembrare un’app nativa. Sta poi nell’abilità del web designer di disegnare l’interfaccia utente in modo intelligente e funzionale per gli smartphone. Usando tecnologie web standard come HTML5, CSS3 e JavaScript per lo sviluppo cross-platform evitiamo così di sviluppare la stessa app con i linguaggi nativi di ciascuna piattaforma.

PhoneGap non fa altro che creare un’app per iOS (o Android) che lancia un browser con pagina iniziale l’applicazione web che andiamo a costruire. Ci mette inoltre a disposizione alcune API che ci permettono di far uso dei sensori del dispositivo, come il GPS, l’accelerometro, la fotocamera, la bussola, lo stato della rete, ecc, che possiamo richiamare tramite chiamate Javascript.

Per creare un’applicazione a tutti gli effetti dobbiamo servirci della cosidetta Single Page Architecture, ovvero che non fa uso del classico paradigma client-server usando richieste HTTP per il cambio pagina, ma tutto deve essere gestito a livello client via Javascript.

Questo limite diventa una virtù perchè possiamo far uso dei tanto in voga framework Javascript. Il mio preferito è AngularJs, un framework Javascrip MVC, supportato da Google e davvero molto potente.

Per quanto riguarda l’interfaccia grafica, possiamo utilizzare Ratchet e Twitter Bootstrap anche insieme. Ratchet ci mette a disposizione alcuni componenti che emulano i widget nativi di iOS, mentre con Bootstrap possiamo creare il resto dell’interfaccia, sfruttando le capacità responsive di questo ottimo framework.

Nel prossimo articolo mi addentrerò nei dettagli dello sviluppo di un’app di esempio. Intanto installatevi PhoneGap sul vostro sistema.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *