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

Sviluppare app: gli approcci possibili

Un'introduzione allo sviluppo di app mobile in HTML5: la differenza tra lo sviluppo mobile nativo, ibrido e web.
Un'introduzione allo sviluppo di app mobile in HTML5: la differenza tra lo sviluppo mobile nativo, ibrido e web.
Link copiato negli appunti

HTML5 ha rappresentato una vera e propria rivoluzione del web. La quinta incarnazione del linguaggio nasce con lo scopo di realizzazre pagine più facilmente interpretabili dai browser, ma al tempo stesso ricche di funzionalità. Parallelamente, la massiccia diffusione dei sistemi mobile ha aperto agli sviluppatori scenari professionali inaspettati. Nuove opportunità portano inevitabilmente con sè nuovi interrogativi: quali know-how sono necessari per approfittarne? Quante delle conoscenze acquisite nelle pregresse attività professionali sono impiegabili? Quali nuovi skill acquisire?

La guida che qui prende il via vuole essere un anello di congiunzione tra queste due sfere – la tecnologia che ruota attorno ad HTML5 ed il mondo mobile – e fornire indicazioni per chi, in possesso di conoscenze legate allo sviluppo web, volesse iniziare a cimentarsi nella realizzazione di app. Non verrà trattata una sola soluzione, ma si illustrerà un ventaglio di possibilità: ognuna con i suoi vantaggi e svantaggi, ma tutte accomunate dalle stesse finalità. Sarà il lettore, al termine della guida, a scegliere, sulla base dei propri interessi, preparazione e disponibilità, l'uno o l'altro approccio. Le conoscenze pregresse richieste consistono per lo più in una buona base di HTML5 e CSS, il giusto per saper curare l'architettura e la presentazione di una pagina web, e possibilmente un'infarinatura di JavaScript. Quest'ultimo è un protagonista che potrà dare vita a volontà alle nostre applicazioni e per questo verrà introdotto – gradualmente – nel corso della guida, a livello di utilizzo pratico. Per gli aspetti di sintassi e approccio alla programmazione, si rimanda alla guida a JavaScript pubblicata su questo sito.

Approcci allo sviluppo mobile

Gli approcci possibili allo sviluppo mobile sono per lo più tre: nativo, web app e ibrido.

Per nativo, intendiamo lo sviluppo di applicazioni del tutto integrate con il sistema operativo, sfruttando SDK messi a disposizione dallo stesso produttore e con le tecnologie da esso previste. Realizzare web app, invece, significa creare delle applicazioni web in tutto e per tutto, ottimizzate per il mobile, e che siano pertanto perfettamente sfruttabili tramite i browser dei dispositivi mobili. Le applicazioni ibride consistono, infine, nel creare app native, installate nel dispositivo, in cui tutti gli aspetti applicativi sono realizzati con tecnologie web messe in relazione, quando necessario, con librerie interne del sistema operativo.

Evitando di dilungarsi sui molteplici aspetti di ognuno dei tre approcci, cerchiamo qui di seguito di evidenziare quelli fondamentali, in modo da inquadrare meglio il percorso che stiamo per intraprendere con questa guida:

  • integrazione con il sistema operativo mobile: la maggiore capacità di dialogo possibile, come presumibile, è appannaggio dello sviluppo nativo, dal momento che le applicazioni prodotte da questo approccio trovano nel sistema operativo il loro perfetto habitat naturale. Le web app, all'opposto, sono artefatti pensati per il web, e quindi individuano come loro habitat naturale il browser del dispositivo mobile; pertanto le loro capacità d'integrazione con la sfera hardware sono, generalmente, molto più limitate. Un buon compromesso è rappresentato dalle applicazioni ibride, contestualizzate all'interno di un'app nativa che offre loro uno strato di comunicazione con il sistema operativo;
  • tecnologie impiegate: il nostro interesse verte per lo più sulla possibilità di utilizzare le conoscenze in materia di sviluppo web derivanti da HTML, CSS e Javascript. Come detto, queste sono pienamente impiegabili nelle web app e nello sviluppo ibrido. Soprattutto quest'ultimo ha dimostrato il suo valore nella realizzazione di app da distribuire su più piattaforme, dove le aziende non si trovano costrette a dover moltiplicare sforzi, investimenti e risorse per istituire più gruppi di lavoro, uno per ogni sistema operativo. Nello sviluppo nativo, invece, lo stesso software per Android e iOS - ad esempio - deve essere realizzato con tecnologie diverse, e spesso da professionisti diversi;
  • distribuzione dei software: una volta completata, l'app va distribuita. Applicazioni realizzate con tecnologie native e ibride vengono accettate entrambe dagli store disponibili in rete. Tale discorso, ovviamente, è diverso per le web app, rese disponibili su server accessibili tramite Internet;
  • funzionamento off-line: sia le applicazioni native che quelle ibride possono funzionare mentre il dispositivo non è in linea per quanto riguarda le attività che, per loro natura, non richiedono l'accesso alla Rete. In modalità off-line non può essere raggiungibile invece una web app, per fruire della quale il device deve necessariamente poter raggiungere un server remoto.

Quando si pensa di utilizzare HTML5 per il mobile non ci si riferisce all'approccio nativo, bensì alla possibilità che un esperto di programmazione web possa cimentarsi con successo nello sviluppo di app. Tenderemo pertanto a concentrarci verso un approccio ibrido, che permetta di tradurre le nostre conoscenze in vere applicazioni di cui fruire sui dispositivi mobile.

Ti consigliamo anche