Archivi categoria: IDE – sviluppo

IDE sviluppo mobile app

app mobile ibrida web o nativa le ragioni di una scelta

Già dai primi momenti in cui si decide di sviluppare una App mobile, ci si deve confrontare con il dover scegliere se essa sarà di tipo Nativo, Web o Ibrido ?

app nativa web ibrida
app nativa web ibrida

Si rende utile allora capire cosa sono le Mobile app.
Le mobile app sono programmi software sviluppati espressamente per essere installati nei dispositivi mobili chiamati oggi smartphone, tablet, PDA o altri mobile gadgets, sono piccoli applicativi software “specifici e specialistici” che rendono possibile ad un particolare utente, in determinati momenti, la sua connessione permanente con il web, la posta elettronica, i social, il proprio pc, il cloud, società di servizi ecc… (esiste anche la possibilità di utilizzare mobile app off-line).

Queste App sono gestite da un sistema operativo mobile Android, Blackberry, iOS, Windows Phone, Firefox OS, OS Sailfish, Symbian, Tizen, Ubuntu touch OS, Canonical Ltd. e possono svolgere una molteplicità di funzioni utilizzando le caratteristiche tecniche del proprio dispositivo: GPS di navigazione portatile, macchina fotografica, videocamera, riconoscimento vocale, registratore vocale, lettore musicale, Near Field Communication e blaster a infrarossi, touchscreen, cellulare, Bluetooth, Wi-Fi.

a questo punto viene chiaro a noi sviluppatori il chiedersi ma con quale di tutti questi sistemi operativi è meglio iniziare il processo di sviluppo della mobile app ?
la risposta è una nuova domanda, nell’ albero decisionale,  si vuole sviluppare una mobile app uni-piattaforma o multi-piattaforma ?

se la risposta è la prima si chiamano mobile App native, se è  la seconda si possono chiamare web mobile app… ma se è una combinazione di tutte le due decisioni si chiamano mobile app ibride.

ma quali le ragioni di una o altra scelta programmatica ?
la risposta la dà il marketing,  gli studi di mercato, la reale conoscenza del comportamenti di acquisto degli utenti delle app,  le tendenze del mercato….  oggi è ovvio sviluppare mobile App Native per il Mondo Android, iOS, e Blackberry e Windows Phone …

chi deve sviluppare o decidere deve pensare a … 4 sistemi operativi diversi !!!, quattro applicativi differenti, utilizzo di tecnologie per ogni piattaforma diverse e complesse, quasi quasi si ha la necessità di 4 esperti diversi, con conoscenze tecniche specifiche per ogni ambiente di sviluppo… ovvero Objective-C per iOS, Java per Android e. NET per Windows.  con tempi e costi da non sottovalutare…

allora arriva un dubbio ma come lasciare fuori il mercato trainato da Firefox OS, OS Sailfish, Symbian, Tizen, Ubuntu touch OS, Canonical Ltd ?

si tende a pensare alle soluzioni web e ibride che offrono oggi gli studiosi di HTML5 CSS3 e Javascript MVC. Molte soluzioni che emulano la visualizzazione della web app attraverso i browser. Sistemi che interpretano web view. Ambienti di sviluppo che creano una sola SOLUZIONE… Cross-platform che permettono di farle girare in tutte le piattaforme mobile (o cosi predicano…) senza grandi problemi di adattamento…

si è catapultati  allora in un approfondito studio su tutti i  toolkit mobili cross-platform un vero conglomerato… quasi infinito di soluzioni per  trovare LA unica SOLUZIONE … una App ibrida  (vedi Phonegap, AngularJs, Titanium, todoMVC, emberjs, backbone ecc..)  tutti con un minimo comune denominatore … quello di offrire una soluzione quasi miracolosa. che funziona uguale (o quasi) su tutte le piattaforme mobile.

viene da credere che questi tools di sviluppo siano caduti dal cielo … e anche che essi siano facili da apprendere, da utilizzare o si tende a credere che la curva di apprendimento sia corta… ma non è così .

che la mobile  App sia  ibrida web o nativa, il gruppo di lavoro, gli, analisti e gli sviluppatori, deveno conoscere molto bene il proprio mercato, le necessità del mercato obiettivo,  le specificità della app che si vuole sviluppare, la propensione al acquisto di apparecchiature mobile come iphone, android, winphone, o blackberry dei futuri utilizzatori e sopratutto del’utilizzo che farà l’utente della mobile app… sia in termini del dove, del come e del quando … mobile in movimento…

concludendo posso dire che  ci sono mobile app che è definitivamente necessario sviluppare in ambiente nativo (si pensi alla propria interazione con la piattaforma hardware, la connettività on-line off-line, la relazione con i meccanismi di gps, geo,ecc)….  altre che va bene sviluppare in ambiente web … per la facilità di reperimento dei dati on line, per le potenzialità che offrono oggi i browser, i linguaggi come html, la gestione diretta dei dati nei server, le web services (REST) e  i nuovi formati dati come  json, sqlite ecc… e infine ci sono mobile app che vanno bene sviluppate come ibride (con una architettura che unisce caratteristiche delle app native a delle web app… in fondo sono  nativa che sfruttano il web per adattarsi alle diverse piattaforme e ai diversi mobile devices).
… addirittura negli ultimi giorni c’è la tendenza di fare coesistere nei market o store le  App in due soluzioni …native e ibride.


 

collegamenti

vargas carmen
autor