SlideShare une entreprise Scribd logo
1  sur  11
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!
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)
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
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
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.
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
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.
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
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.
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.
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.

Contenu connexe

En vedette

Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...
Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...
Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...Pasquale Borriello
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentStefano Dindo
 
B2b Marketing with LinkedIn
B2b Marketing with LinkedInB2b Marketing with LinkedIn
B2b Marketing with LinkedInDML Srl
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaMarcello Teodori
 
Android App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appAndroid App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appNicola Corti
 
Mobile apps-marketing-2011
Mobile apps-marketing-2011Mobile apps-marketing-2011
Mobile apps-marketing-2011DML Srl
 
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...MOCA Interactive
 
StartApp. Dall'App alla Startup #bto2011
StartApp. Dall'App alla Startup #bto2011StartApp. Dall'App alla Startup #bto2011
StartApp. Dall'App alla Startup #bto2011Fabio Lalli
 

En vedette (9)

Wp app studio_new
Wp app studio_newWp app studio_new
Wp app studio_new
 
Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...
Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...
Applicazioni e Mobile Marketing - ENADA Primavera 2013 - Rimini - Pasquale Bo...
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & Development
 
B2b Marketing with LinkedIn
B2b Marketing with LinkedInB2b Marketing with LinkedIn
B2b Marketing with LinkedIn
 
Sviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con JavaSviluppare su OpenOffice.org con Java
Sviluppare su OpenOffice.org con Java
 
Android App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appAndroid App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima app
 
Mobile apps-marketing-2011
Mobile apps-marketing-2011Mobile apps-marketing-2011
Mobile apps-marketing-2011
 
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...
Come Promuovere un'App Mobile per Smartphone e Tablet - Strategie di Mobile M...
 
StartApp. Dall'App alla Startup #bto2011
StartApp. Dall'App alla Startup #bto2011StartApp. Dall'App alla Startup #bto2011
StartApp. Dall'App alla Startup #bto2011
 

Similaire à Sviluppare una app mobile net oriented

Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile PowerappsGiuneco S.r.l
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Sviluppo di applicazioni web in ambito mobile
Sviluppo di applicazioni web in ambito mobileSviluppo di applicazioni web in ambito mobile
Sviluppo di applicazioni web in ambito mobileRoberto Cappelletti
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfFlorence Consulting
 
Horizontal and vertical integration
Horizontal and vertical integrationHorizontal and vertical integration
Horizontal and vertical integrationT3basilicata
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Codemotion
 
C# Mobile application architecture
C# Mobile application architectureC# Mobile application architecture
C# Mobile application architectureLeonardo Alario
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione LelliMatteo Lelli
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...DrupalDay
 

Similaire à Sviluppare una app mobile net oriented (20)

Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
App Mobile Powerapps
App Mobile PowerappsApp Mobile Powerapps
App Mobile Powerapps
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Sviluppo di applicazioni web in ambito mobile
Sviluppo di applicazioni web in ambito mobileSviluppo di applicazioni web in ambito mobile
Sviluppo di applicazioni web in ambito mobile
 
Intel AppUp Webinar Italiano html5
Intel AppUp Webinar Italiano html5Intel AppUp Webinar Italiano html5
Intel AppUp Webinar Italiano html5
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
Horizontal and vertical integration
Horizontal and vertical integrationHorizontal and vertical integration
Horizontal and vertical integration
 
Intro xamarin forms
Intro xamarin formsIntro xamarin forms
Intro xamarin forms
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
 
Sviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi MobiliSviluppare applicazioni Domino Web per dispositivi Mobili
Sviluppare applicazioni Domino Web per dispositivi Mobili
 
C# Mobile application architecture
C# Mobile application architectureC# Mobile application architecture
C# Mobile application architecture
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
v2 Presentazione Lelli
v2 Presentazione Lelliv2 Presentazione Lelli
v2 Presentazione Lelli
 
WordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWAWordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWA
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
 

Sviluppare una app mobile net oriented

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.