Programmazione iPhone e iPad: web app o app?

5 Flares 5 Flares ×

Quando si decide di creare una nuova applicazione per iPhone o per iPad bisogna sin dal principio sciogliere un dubbio: pensare una web application o programmare una applicazione nativa?

Le differenze fra queste due forme di applicazione sono certamente importanti, tali da giustificare un minimo ragionamento che proverò a riassumere in questo articolo.

Iniziamo a descriverne brevemente le caratteristiche dell’una e dell’altra soluzione.

Web App

Una web app è semplicemente una pagina web opportunamente costruita per essere meglio fruita da un dispositivo quale tablet o smartphone, quindi e un browser mobile. Per tale motivo diventano cruciali le scelte e le competenze circa JavaScript e le svariate librerie che permettono di costruire quelle che si chiamano Rich Internet Application.

Il vantaggio principale è quindi quello legato al fatto che si possono riusare e adattare le conoscenze dei programmatori circa i linguaggi del web: HTML, CSS, JavaScript, e magari PHP o Ruby o Python lato server.

L’altro vantaggio riguarda il fatto che l’applicazione sarà accessibile ovunque e da svariati dispositivi: computer desktop, laptop, smartphone, tablet e quanto altro.

Lo svantaggio è quello di dover rinunciare alle notifiche push (si potrebbe sfruttare un refresh della pagina web) o alla possibilità di controllare elementi del dispositivo quale la fotocamera, il magnetometro, il GPS.

In ultimo è evidentemente impossibile accedere allo store e, in tal senso, guadagnare con la vendita dell’applicazione per il cui utilizzo occorre l’accesso a Internet.

App

Le applicazioni native sono scritte sfruttando il linguaggio specifico del dispositivo, in questo caso Object C e i vari framework. In questo senso le applicazioni possono sfruttare tutta la potenza dei dispositivi, con la possibilità di usare sensori, GPS, accelerometro e via così.

Le applicazioni native possono avere tutta una grafica, e in genere una GUI, molto curata e misurata, costruita ad arte per l’applicazione in questione.

Uno sviluppatore può pubblicare sullo store potendo fare business.

Il vantaggio principale è, infine, quello di poter sfruttare le notifiche push e avviare l’applicazione in modalità offline, impossibile con una web app.

Conclusione

A mio avviso, dunque, occorre pianificare per bene il lavoro, cercando di capire che tipo di applicazione bisogna costruire. In genere i servizi web più popolari hanno di fatto prima costruito un portale per il web e poi adattato ad hoc un’applicazione nativa. Quest’ultima fornisce, nella maggior parte dei casi, solo un’interfaccia più comoda ai dati del portale, sfruttando le API del servizio.

Credo che le web app possono trarre ulteriore vantaggio dalla pubblicazione di HTML5, con tutto quello che comporta la nuova versione di questo linguaggio.

Viceversa, per giochi e applicazioni stand alone è preferibile ricorrere a un’applicazione nativa per tutti i vantaggi elencati sopra.

Tu che ne pensi?

5 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 5 Buffer 0 Email -- 5 Flares ×

9 Comments Programmazione iPhone e iPad: web app o app?

  1. Steve Jobs

    Mi sono sempre chiesto la differenza fra l’una e l’altra e questo articolo è abbastanza illuminante. Certo le due cose andrebbero approfondite.

    Chi non consosce obj c credo possa tranquillamente costruire web app, ma deve rinunciare allo Store. Tu che faresti, non l’hai scritto?

    Reply
  2. Mark

    Io tenderei a costruire web app: le usi dappertutto e non devi programmare due o tre cose differenti. Inoltre quando aggiorni, aggiorni solo la web app e basta, così è più semplice. Con HTML5 sarà inoltre più semplice

    Reply
  3. giovannino

    Beh la conclusione che hai scritto è stupenda e credo sia anche molto corretta. Certo chi ormai ha acquisito esperienza si diverte e credo guadagni pure. E non credo al recupero di Android: ormai iOS è troppo avanti. Bell’articolo, ciao

    Reply
  4. Pingback: upnews.it

    1. Kiko

      Non conosco nessuno che visto iPhone sia passato ad Android. Conosco gente che ha fatto il percorso inverso. Ho visto e tenuto in mano HTC e Galaxy: non mi sono trovato con le app e col sistema.

      Reply
      1. gtprof

        In italia Ios è + diffuso perchè siamo un popolo di bambascioni, se dobbiamo parlare di numeri nel mondo android ha superato ios per quanto riguarda gli smartphone da un pezzo.
        Personalmente avevo un Iphone ed oggi non rinuncerei alla versatilità di android, forse un pò meno utonto ready ma decisamente più personalizzabile ed utilizzabile.

        L’articolo è molto ben fatto ma non cita la “terza via” cioè le web app compilate per girare nativamente con framework come Titanium, a mio avviso un alternativa molto valida.

        Reply
        1. Kiko

          In effetti la “terza via” è quello che sto studiando nell’ultimissimo periodo. Non conoscendola di persona e non potendone parlare direttamente, avevo preferito limitare l’analisi. Per quanto concerne la guerra fra iOS e Android purtroppo sono troppo di parte. E’ indubbio che i dispositivi in sé, come numero, stanno crescendo verso Android, ma tendo ancora a raccontare la storiella “conosco gente che passa da Android a iOS e non torna più indietro, e non conosco gente che abbia percorso il cammino al contrario”. Troppo semplicistico ridurre tutta la storia qui.

          E’ evidente che Android nell’ultimo anno ha compiuti ottimi passi avanti, ma io mi tengo iOS e me lo tengo pure stretto in questo momento. In futuro chissà…!

          Reply
  5. Pingback: Social Media Report 2012: lo stato dell'arte | Francesco Corsentino.net

Lascia il tuo commento

Tranquillo: la tua email non verrà pubblicata.

Puoi usare i seguenti tag HTML e attributi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>