Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Sviluppare una app mobile net oriented

451 vues

Publié le

Steps to develop apps for mobile that access internet realted contents.
It simply explores basic concepts of developmnet. Written in italian.

---

Espone i passi necessari a sviluppare un app mobile in grado di accedere a contenuti su web. Espone i concetti basilari del processo di sviluppo.

Publié dans : Logiciels
  • Login to see the comments

Sviluppare una app mobile net oriented

  1. 1. Sviluppare una app mobile net-oriented Principi fondamentali • Una app non è una applicazione semplice. Le interazioni con l’utente devono risultare il più possibile semplici e naturali, ma il termine non è sinonimo di codice corto e semplice. Anzi, spesso la realizzazione risulta più complessa di un applicativo tradizionale. • Lo sviluppo multipiattaforma richiede degli accorgimenti dedicati. • Il software deve essere progettato correttamente prima di iniziare la stesura del codice sorgente, tenendo comunque presente del fatto che il programma stesso potrebbe girare su dispositivi con hardware limitato e con alimentazione a batteria, quindi con una autonomia ridotta. • E’ opportuno sfruttare tutte le possibilità per rendere appetibile l’app: servizi web, servizi offline, grafica accattivante. Non bisogna sottovalutare la componente grafica dell’app!
  2. 2. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 1 – Progettazione della logica server-side Componenti necessari • Utilizzo di Web API (REST) per il trasporto dei dati da al server di backend • Caching dei dati sul dispositivo mobile • Gestione dello stato offline del server sul dispositivo Componenti opzionali • Implementazione di un sistema di autenticazione (Web Forms, Facebook, Google, Live ID, Federazione di dominio) • Implementazione della sicurezza della connessione tramite SSL (richiede un certificato SSL valido)
  3. 3. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 1 – Progettazione della logica server-side Possibilità di deploy del servizio di backend Soluzone standard - SERVER LOCALE PRO • Il server è fisicamente localizzato all’interno delle proprie strutture • Si ha il controllo completo sulle impostazioni della rete locale • I dispositivi che utilizzano il servizio all’interno della LAN possono usufruire di una velocità solitamente maggiore rispetto a una connettività internet CONTRO • Acquisire una infrastruttura ad alta disponibilità può risultare particolarmente costoso • Non ci sono garanzie di uptime • Potrebbe non essere possibile esporre il servizio su una connessione a banda sufficientemente alta
  4. 4. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 1 – Progettazione della logica server-side Possibilità di deploy del servizio di backend Soluzione alternativa - CLOUD PRO • E’ possibile rilasciare il backend su più datacenter • Non si devono gestire gli aggiornamenti del software • La banda e la potenza delle macchine possono scalare in base alle necessità dell’applicativo in un determinato momento. L’uptime è garantito oltre il 90% CONTRO • Solitamente non si ha accesso al datacenter. I propri dati sono affidati a terzi • E’ necessario Internet anche per la gestione delle proprie macchine • Sono necessari accorgimenti nel codice sorgente per poter funzionare su una infrastruttura di tipo cloud
  5. 5. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 2 – Progettazione della app mobile Piattaforme disponibili • Windows Phone • Apple iOS (versioni iPhone e iPad) • Android Queste tre piattaforme insieme detengono circa il 98% del mercato. Android è la piattaforma più diffusa. Symbian è stato dismesso. Blackberry detiene una fetta di mercato non commercialmente valida.
  6. 6. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 2 – Progettazione della app mobile Tre diverse piattaforme di sviluppo • Windows Phone: .NET (Visual Basic, C#, F#, C++) • Apple iOS: Objective-C (lo sviluppo richiede un computer Apple) • Android: Java Solitamente è necessario scrivere una app per ogni dispositivo per ottenere le massime performance. Esistono soluzioni multipiattaforma. • PhoneGAP: frame HTML5 in esecuzione sul telefono, dipendente dall’implementazione della libreria HTML. • Xamarin: versione multipiattaforma del Framework .NET
  7. 7. Sviluppare una app mobile net-oriented Fasi di sviluppo - Progettazione Fase 2 – Progettazione della app mobile PhoneGAP risulta utile per applicativi semplici, ma solitamente è difficilmente applicabile a progetti complessi. Non sono disponibili tutte le API specifiche per la piattaforma. In aggiunta, le performance dipendono dal motore HTML delle piattaforme target. Xamarin genera un eseguibile nativo per la piattaforma target e incapsula tutte le API disponibili sulla piattaforma, facilmente accessibili tramite codice condizionale basato sulla versione della piattaforma su cui si vuole compilare. Xamarin ha un costo di utilizzo annuo, basato su una licenza per piattaforma.
  8. 8. Sviluppare una app mobile net-oriented Fase 2 – Progettazione della app mobile Qualsiasi sia la scelta della piattaforma di sviluppo (nativo, PhoneGAP, Xamarin), la progettazione dell’applicativo segue questi step. • Progettazione delle funzionalità dell’app e della UX • Creazione di uno scheletro base dell’applicativo, con gli oggetti basilari di funzionamento. • Realizzazione della logica dell’applicazione. Il modello deve rimanere disgiunto dalla parte visuale. • Realizzazione della parte di collegamento tra il modello e la parte visuale. • Realizzazione della componente grafica, tra cui icone e studi di design (opzionale, ma fortemente consigliato). • Realizzazione della parte visuale e binding tra vista e controller. Fasi di sviluppo - Progettazione
  9. 9. Sviluppare una app mobile net-oriented Informazioni generali Conclusioni • E’ necessario comunque scrivere una app per ogni piattaforma. E’ consigliabile utilizzare le peculiarità di ogni sistema operativo su cui si vuole pubblicare l’applicazione. Significa quindi che, malgrado alcune giornate di sviluppo possano essere risparmiate, bisogna comunque calcolare giornate aggiuntive per ogni piattaforma su cui si vuole sviluppare. • Utilizzare un framework come Xamarin permette di scrivere codice nativo per tutte le principali piattaforme, perdendo una quantità minima di prestazioni. La UX deve comunque essere adattata per ogni piattaforma, ma è possibile condividere tutto il codice che non dipende dal dispositivo su tutte le piattaforme. • Per pubblicare l’applicativo è solitamente possibile utilizzare lo store della piattaforma di destinazione (Windows Store, Apple Store, Google Play). L’iscrizione agli store è a pagamento su base annua o una tantum, in base alle politiche commerciali del produttore. • Alcune piattaforme permettono di scrivere app Universali. Android e Windows permettono di scrivere applicativi in grado di girare su tablet, PC Desktop e dispositivi cellulari.
  10. 10. Sviluppare una app mobile net-oriented Informazioni generali Costi di produzione • In media, sviluppare una app mobile richiede 18 settimane, criticità escluse. I tempi possono variare in base alle funzionalità dell’applicativo e alle API esposte dal sistema operativo. • Utilizzare framework come Xamarin che mette a disposizione la stessa piattaforma per tutti i dispositivi solitamente dimezza il tempo necessario a passare da una piattaforma all’altra, partendo da una app mobile già realizzata. I costi di una licenza Xamarin possono raggiungere i 1899 $ all’anno per piattaforma. • I costi di registrazione agli store variano da produttore a produttore. Ad oggi, sono richiesti circa 99 $ per un account aziendale da sviluppare Microsoft e 25$ per un account Google Play. Apple fornisce due livelli di account per sviluppatore: standard, 99$, e Enterprise, 299$. La differenza sta nel fatto che l’account Enterprise permette il deploy di uno store privato. Microsoft e Google richiedono il pagamento una tantum, mentre l’account Apple viene rinnovato annualmente secondo la tariffa della tipologia di account scelto. • Microsoft permette lo sviluppo tramite le versioni Express dei suoi tools, portando virtualmente a zero i costi del software. Sono supportate tutte le versioni a pagamento di Visual Studio. Google utilizza Eclipse, software Open Source. Apple richiede XCode, gratuito, e l’acquisto di computer Mac. Non è possibile compilare il codice su dipositivi non Apple.
  11. 11. Sviluppare una app mobile net-oriented Credits • Data ultima modifica: 10/11/2014 • Autore: Morvillo Alessandro Le informazioni sulla durata media delle fasi di sviluppo di una app provengono da Kinvey e una ricerca AYTM su 100 app iOS, Android e HTML5.

×