SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
TechBar




 Sviluppo di applicazioni mobile con
 Titanium Appcelerator
  @lorenzomassacci
  @g_mandolini
  @emanuele_r
Cos'è un TechBar?

TechBar è il nome con cui abbiamo pensato di chiamare questo tipo di
eventi, in cui si va oltre all'apprendimento di nozioni in modo frontale, come
nelle classiche conferenze: si ha la possibilità di sperimentare in prima
persona, ad esempio "giocando" direttamente con il codice, e di confrontarsi
con gli altri, il tutto con un tono molto colloquiale, come amici al bar!

Twitter: @TechBarIt (https://twitter.com/TechBarIt)
Facebook: https://www.facebook.com/groups/techbar/




                4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 2
TechBar                               e-xtrategy srl - www.e-xtrategy.net
Esperienze con Titanium?
Esperienza con Javascript?
Esperienze sviluppo Mobile con altre piattaforme/framework?




                                http://www.flickr.com/photos/duskolo/2777742751/




                 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 3
TechBar                                e-xtrategy srl - www.e-xtrategy.net
Appcelerator Titanium




    Titanium is an open source framework for building
    Native, Hybrid and Mobile Web apps from a single
    JavaScript-based SDK




           4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 4
TechBar                          e-xtrategy srl - www.e-xtrategy.net
Piattaforme Supportate Android




           4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 5
TechBar                          e-xtrategy srl - www.e-xtrategy.net
Piattaforme Supportate iOS(iPhone/iPad)




           4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 6
TechBar                          e-xtrategy srl - www.e-xtrategy.net
Piattaforme Supportate - Mobile Web

browser

*richiede Titanium SDK > 1.7.2




                4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 7
TechBar                               e-xtrategy srl - www.e-xtrategy.net
BlackBerry? Windows Phone? Windows 8?


The goal of Titanium Mobile is to provide a high level, cross-platform JavaScript
runtime and API for mobile development (today we support iOS, Android, and
the browser, with BlackBerry 10 and Windows Phone coming soon and
eventually, respectively).


(Maggio, 2012 - http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html)




                    4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 8
TechBar                                   e-xtrategy srl - www.e-xtrategy.net
Write once, run DEBUG everywhere iOS/Android
Titanium is built on two assertions about mobile development:
  ●
      There is a core of mobile development APIs which can be normalized across
      platforms. These areas should be targeted for code reuse.
  ●
      There are platform-specific APIs, UI conventions, and features which developers
      should incorporate when developing for that platform. Platform-specific code
      should exist for these use cases to provide the best possible experience.
So for those reasons, Titanium is not an attempt at “write once, run everywhere”. We
think there are great, user-experience enhancing features across multiple platforms that
developers should be using. We think that native apps should, where appropriate,
take advantage of familiar, high-performance native UI widgets. However, we think
it is unnecessary that native developers need to learn platform-specific APIs to
draw a rectangle, or make an HTTP request.


(Maggio, 2012 - http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html)



                    4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 9
TechBar                                   e-xtrategy srl - www.e-xtrategy.net
Performance vs. Flexibility




                           http://www.titaniumninja.com
            4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 10
TechBar                            e-xtrategy srl - www.e-xtrategy.net
it's only javascript, baby




             4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 11
TechBar                             e-xtrategy srl - www.e-xtrategy.net
it's only javascript, baby




                            http://www.titaniumninja.com
             4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 12
TechBar                             e-xtrategy srl - www.e-xtrategy.net
API
 ●
     Contacts
 ●
     Database
 ●
     Filesystem
 ●
     Geolocation
 ●
     Map                              Supports 5,000+ native APIs
 ●
     Media
 ●
     Network                          http://docs.appcelerator.com/titanium/2.0/index.html#!/api

 ●
     UI
 ●
     Accelerometer
 ●
     Gesture
 ●
     ....




                   4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 13
TechBar                                   e-xtrategy srl - www.e-xtrategy.net
cloud services

   ●
       Users
   ●
       photos
   ●
       push notifications
   ●
       email template
   ●
       custom objects
   ●
       places
   ●
       ratings, reviews, like
   ●
       analytics
   ●
       .....


               SDK > 2.0




                    4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 14
TechBar                                    e-xtrategy srl - www.e-xtrategy.net
Extending api

                     why?                                                              how?
   ●
       Accessing specific OS features                            ●
                                                                     Creating one or more native
   ●
       Leveraging existing native                                    modules throught the Titanium
       libraries                                                     Module SDK
   ●
       Optimizing critical portions of                           ●
                                                                     Great flexibility
       the app                                                   ●
                                                                     Easy to distribute (Open Source,
   ●
       Extending portions of the                                     Binary packages, Appcelerator
       Titanium Mobile framework                                     Marketplace)


                                                               http://www.appcelerator.com/marketplace




       http://www.slideshare.net/omorandi/extending-appcelerator-titanium-mobile-through-native-modules



                   4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 15
TechBar                                   e-xtrategy srl - www.e-xtrategy.net
Titanium Studio

  Titanium Studio Eclipse-based IDE. (ex Aptana)
   ●
       Use Titanium Studio build, test, package and publish mobile and web
       applications.
   ●
       Code assisting, ACS integration, module management, Git integration,
       publishing workflow and a full-featured editor.
   ●
       Manage Titanium projects,
       test your mobile apps in the
       simulator or on device,
       automate app packaging
       deploy to a public or private App




                4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 16
TechBar                                e-xtrategy srl - www.e-xtrategy.net
Titanium Project




            4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 17
TechBar                            e-xtrategy srl - www.e-xtrategy.net
tiapp.xml




            4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 18
TechBar                            e-xtrategy srl - www.e-xtrategy.net
Demo




          4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 19
TechBar                          e-xtrategy srl - www.e-xtrategy.net
Watch your step
 ●
     su iOs ok :-) Android crash :-(
     android first
 ●
     sul simulatore va sul device no
     non fidarsi troppo del simulatore
 ●
     risoluzioni diverse dei device
     dp e misure relative
 ●
     performance
     moduli nativi
 ●
     non prevede una suite di test
     jasmine con node (forse Anvil)
 ●
     gestione memoria
     best practices js
 ●
     bug di titanium
     armarsi di pazienza
     (aggirarli o correggerli è open source)



                         http://www.flickr.com/photos/modowd/352920834/
                     4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 20
TechBar                                     e-xtrategy srl - www.e-xtrategy.net
links
 ●
     http://docs.appcelerator.com/titanium/2.0/index.html
 ●
     http://developer.appcelerator.com/questions/newest
 ●
     http://docs.appcelerator.com/titanium/2.0/index.html#!/guide
 ●
     http://docs.appcelerator.com/titanium/2.0/index.html#!/video
 ●
     https://wiki.appcelerator.org/display/guides/Managing+Memory+and+Finding+Lea
 ●
     @LearningTi
 ●
     @appcelerator
 ●
     https://github.com/appcelerator (KitchenSink)
 ●
     http://titaniumninja.com/




                   4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 21
TechBar                                   e-xtrategy srl - www.e-xtrategy.net
Hands on
 1)Creiamo una Tabella con dei dati fissi (es: una lista della spesa)

 2)Facciamo provenire questi dati da un database (popolato con valori di default all'avvio
   dell'app se vuoto)

 3)Diamo la possibilità di aggiungere una riga (togliendo il ripristino db all'avvio e
   rendendo l'app usabile)
   suggerimenti:
   la window iniziale viene sostituita da un tabGroup e viene usata per la lista
   aggiungiamo una seconda window per gestire l'aggiunta del nuovo prodotto

 4)Gestiamo il refresh della lista per vedere le modifiche (attualmente viene popolata
   solo all'avvio dell'app)

 5)Cancelliamo tutti i prodotti con uno shake

 6)Ottimizzazioni, spunti e conquista del mondo con un click :-)

   https://github.com/e-xtrategy/titanium-shopping-list
                 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 22
TechBar                                 e-xtrategy srl - www.e-xtrategy.net
Contatti




                               www.e-xtrategy.net
                               info@e-xtrategy.net




           4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 23
TechBar                           e-xtrategy srl - www.e-xtrategy.net

Weitere ähnliche Inhalte

Ähnlich wie Sviluppo di applicazioni mobile con Titanium Appcelerator

Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelliSMAU
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeedAntonio Cafiero
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchStefano Ottaviani
 
Angular e asp.net core: un framework sul framework
Angular e asp.net core: un framework sul frameworkAngular e asp.net core: un framework sul framework
Angular e asp.net core: un framework sul frameworkMichele Aponte
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT orientedfirenze-gtug
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNukeMassimo Bonanni
 
NowIT s.r.l. - Presentazione Aziendale
NowIT s.r.l. - Presentazione AziendaleNowIT s.r.l. - Presentazione Aziendale
NowIT s.r.l. - Presentazione Aziendalemauriziogabriele
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01Paolo Dadda
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
 
Capire e implementare la tecnologia per l'Industria 4.0
Capire e implementare la tecnologia per l'Industria 4.0Capire e implementare la tecnologia per l'Industria 4.0
Capire e implementare la tecnologia per l'Industria 4.0Marco Parenzan
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioAntonio Musarra
 
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
 
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
 
Le 10 estensioni da tenere sempre a disposizione
Le 10 estensioni da tenere sempre a disposizioneLe 10 estensioni da tenere sempre a disposizione
Le 10 estensioni da tenere sempre a disposizioneNicola Della Marina
 
Sviluppare e vendere applicazioni per iPhone
Sviluppare e vendere applicazioni per iPhoneSviluppare e vendere applicazioni per iPhone
Sviluppare e vendere applicazioni per iPhoneOmar Cafini
 

Ähnlich wie Sviluppo di applicazioni mobile con Titanium Appcelerator (20)

Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelli
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Web service persino nei sistemi embedeed
Web service persino nei sistemi embedeedWeb service persino nei sistemi embedeed
Web service persino nei sistemi embedeed
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
 
Angular e asp.net core: un framework sul framework
Angular e asp.net core: un framework sul frameworkAngular e asp.net core: un framework sul framework
Angular e asp.net core: un framework sul framework
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT oriented
 
Introduzione a DotNetNuke
Introduzione a DotNetNukeIntroduzione a DotNetNuke
Introduzione a DotNetNuke
 
NowIT s.r.l. - Presentazione Aziendale
NowIT s.r.l. - Presentazione AziendaleNowIT s.r.l. - Presentazione Aziendale
NowIT s.r.l. - Presentazione Aziendale
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
 
Capire e implementare la tecnologia per l'Industria 4.0
Capire e implementare la tecnologia per l'Industria 4.0Capire e implementare la tecnologia per l'Industria 4.0
Capire e implementare la tecnologia per l'Industria 4.0
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
 
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
 
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
 
Le 10 estensioni da tenere sempre a disposizione
Le 10 estensioni da tenere sempre a disposizioneLe 10 estensioni da tenere sempre a disposizione
Le 10 estensioni da tenere sempre a disposizione
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
Sviluppare e vendere applicazioni per iPhone
Sviluppare e vendere applicazioni per iPhoneSviluppare e vendere applicazioni per iPhone
Sviluppare e vendere applicazioni per iPhone
 

Mehr von extrategy

Un approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page ApplicationUn approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page Applicationextrategy
 
L'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoL'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoextrategy
 
Adaptive planning
Adaptive planningAdaptive planning
Adaptive planningextrategy
 
Usare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web ApplicationUsare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web Applicationextrategy
 
Il Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleIl Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleextrategy
 
L’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svoltoL’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svoltoextrategy
 
CSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraCSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraextrategy
 
Learning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessitàLearning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessitàextrategy
 
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...extrategy
 
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous DiscoveryIAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous Discoveryextrategy
 
Real time project portfolio management
Real time project portfolio managementReal time project portfolio management
Real time project portfolio managementextrategy
 
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoDalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoextrategy
 
Web design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationWeb design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationextrategy
 
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?extrategy
 
Real time strategy for you
Real time strategy for youReal time strategy for you
Real time strategy for youextrategy
 
come il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamcome il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamextrategy
 
Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda? Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda? extrategy
 
Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.extrategy
 
ModulAngular
ModulAngularModulAngular
ModulAngularextrategy
 
Co-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious PlayCo-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious Playextrategy
 

Mehr von extrategy (20)

Un approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page ApplicationUn approccio Frameworkless per sviluppare la tua Single Page Application
Un approccio Frameworkless per sviluppare la tua Single Page Application
 
L'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svoltoL'arte di massimizzare la quantità di lavoro non svolto
L'arte di massimizzare la quantità di lavoro non svolto
 
Adaptive planning
Adaptive planningAdaptive planning
Adaptive planning
 
Usare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web ApplicationUsare i Design System - Un approccio Frameworkless per la tua Web Application
Usare i Design System - Un approccio Frameworkless per la tua Web Application
 
Il Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personaleIl Pair Coaching come evoluzione professionale e personale
Il Pair Coaching come evoluzione professionale e personale
 
L’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svoltoL’arte di massimizzare la quantità di lavoro non svolto
L’arte di massimizzare la quantità di lavoro non svolto
 
CSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application eraCSS day 2018 - Layout Saga in the web application era
CSS day 2018 - Layout Saga in the web application era
 
Learning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessitàLearning over Delivery: il business e l'innovazione ai tempi della complessità
Learning over Delivery: il business e l'innovazione ai tempi della complessità
 
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
Mini IAD Torino: Il collante strategico durante lo sviluppo: Continuous Disco...
 
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous DiscoveryIAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
IAD17 Il collante strategico durante lo sviluppo: Continuous Discovery
 
Real time project portfolio management
Real time project portfolio managementReal time project portfolio management
Real time project portfolio management
 
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quandoDalle Styleguide alla Pattern Libraries: cosa serve e quando
Dalle Styleguide alla Pattern Libraries: cosa serve e quando
 
Web design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformationWeb design patterns nell'era della digital transformation
Web design patterns nell'era della digital transformation
 
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?visione e immaginazione: dove vogliamo portare le nostre aziende domani?
visione e immaginazione: dove vogliamo portare le nostre aziende domani?
 
Real time strategy for you
Real time strategy for youReal time strategy for you
Real time strategy for you
 
come il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il teamcome il front-end automation aiuta tutto il team
come il front-end automation aiuta tutto il team
 
Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda? Inclusiveness, openness, leanness: dove voglio portare l’azienda?
Inclusiveness, openness, leanness: dove voglio portare l’azienda?
 
Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.Innovazione. ovvero, le imprese non sono più quelle di una volta.
Innovazione. ovvero, le imprese non sono più quelle di una volta.
 
ModulAngular
ModulAngularModulAngular
ModulAngular
 
Co-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious PlayCo-creare una strategia con Lego Serious Play
Co-creare una strategia con Lego Serious Play
 

Kürzlich hochgeladen

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 

Kürzlich hochgeladen (9)

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 

Sviluppo di applicazioni mobile con Titanium Appcelerator

  • 1. TechBar Sviluppo di applicazioni mobile con Titanium Appcelerator @lorenzomassacci @g_mandolini @emanuele_r
  • 2. Cos'è un TechBar? TechBar è il nome con cui abbiamo pensato di chiamare questo tipo di eventi, in cui si va oltre all'apprendimento di nozioni in modo frontale, come nelle classiche conferenze: si ha la possibilità di sperimentare in prima persona, ad esempio "giocando" direttamente con il codice, e di confrontarsi con gli altri, il tutto con un tono molto colloquiale, come amici al bar! Twitter: @TechBarIt (https://twitter.com/TechBarIt) Facebook: https://www.facebook.com/groups/techbar/ 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 2 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 3. Esperienze con Titanium? Esperienza con Javascript? Esperienze sviluppo Mobile con altre piattaforme/framework? http://www.flickr.com/photos/duskolo/2777742751/ 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 3 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 4. Appcelerator Titanium Titanium is an open source framework for building Native, Hybrid and Mobile Web apps from a single JavaScript-based SDK 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 4 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 5. Piattaforme Supportate Android 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 5 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 6. Piattaforme Supportate iOS(iPhone/iPad) 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 6 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 7. Piattaforme Supportate - Mobile Web browser *richiede Titanium SDK > 1.7.2 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 7 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 8. BlackBerry? Windows Phone? Windows 8? The goal of Titanium Mobile is to provide a high level, cross-platform JavaScript runtime and API for mobile development (today we support iOS, Android, and the browser, with BlackBerry 10 and Windows Phone coming soon and eventually, respectively). (Maggio, 2012 - http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html) 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 8 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 9. Write once, run DEBUG everywhere iOS/Android Titanium is built on two assertions about mobile development: ● There is a core of mobile development APIs which can be normalized across platforms. These areas should be targeted for code reuse. ● There are platform-specific APIs, UI conventions, and features which developers should incorporate when developing for that platform. Platform-specific code should exist for these use cases to provide the best possible experience. So for those reasons, Titanium is not an attempt at “write once, run everywhere”. We think there are great, user-experience enhancing features across multiple platforms that developers should be using. We think that native apps should, where appropriate, take advantage of familiar, high-performance native UI widgets. However, we think it is unnecessary that native developers need to learn platform-specific APIs to draw a rectangle, or make an HTTP request. (Maggio, 2012 - http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html) 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 9 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 10. Performance vs. Flexibility http://www.titaniumninja.com 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 10 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 11. it's only javascript, baby 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 11 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 12. it's only javascript, baby http://www.titaniumninja.com 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 12 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 13. API ● Contacts ● Database ● Filesystem ● Geolocation ● Map Supports 5,000+ native APIs ● Media ● Network http://docs.appcelerator.com/titanium/2.0/index.html#!/api ● UI ● Accelerometer ● Gesture ● .... 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 13 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 14. cloud services ● Users ● photos ● push notifications ● email template ● custom objects ● places ● ratings, reviews, like ● analytics ● ..... SDK > 2.0 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 14 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 15. Extending api why? how? ● Accessing specific OS features ● Creating one or more native ● Leveraging existing native modules throught the Titanium libraries Module SDK ● Optimizing critical portions of ● Great flexibility the app ● Easy to distribute (Open Source, ● Extending portions of the Binary packages, Appcelerator Titanium Mobile framework Marketplace) http://www.appcelerator.com/marketplace http://www.slideshare.net/omorandi/extending-appcelerator-titanium-mobile-through-native-modules 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 15 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 16. Titanium Studio Titanium Studio Eclipse-based IDE. (ex Aptana) ● Use Titanium Studio build, test, package and publish mobile and web applications. ● Code assisting, ACS integration, module management, Git integration, publishing workflow and a full-featured editor. ● Manage Titanium projects, test your mobile apps in the simulator or on device, automate app packaging deploy to a public or private App 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 16 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 17. Titanium Project 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 17 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 18. tiapp.xml 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 18 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 19. Demo 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 19 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 20. Watch your step ● su iOs ok :-) Android crash :-( android first ● sul simulatore va sul device no non fidarsi troppo del simulatore ● risoluzioni diverse dei device dp e misure relative ● performance moduli nativi ● non prevede una suite di test jasmine con node (forse Anvil) ● gestione memoria best practices js ● bug di titanium armarsi di pazienza (aggirarli o correggerli è open source) http://www.flickr.com/photos/modowd/352920834/ 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 20 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 21. links ● http://docs.appcelerator.com/titanium/2.0/index.html ● http://developer.appcelerator.com/questions/newest ● http://docs.appcelerator.com/titanium/2.0/index.html#!/guide ● http://docs.appcelerator.com/titanium/2.0/index.html#!/video ● https://wiki.appcelerator.org/display/guides/Managing+Memory+and+Finding+Lea ● @LearningTi ● @appcelerator ● https://github.com/appcelerator (KitchenSink) ● http://titaniumninja.com/ 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 21 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 22. Hands on 1)Creiamo una Tabella con dei dati fissi (es: una lista della spesa) 2)Facciamo provenire questi dati da un database (popolato con valori di default all'avvio dell'app se vuoto) 3)Diamo la possibilità di aggiungere una riga (togliendo il ripristino db all'avvio e rendendo l'app usabile) suggerimenti: la window iniziale viene sostituita da un tabGroup e viene usata per la lista aggiungiamo una seconda window per gestire l'aggiunta del nuovo prodotto 4)Gestiamo il refresh della lista per vedere le modifiche (attualmente viene popolata solo all'avvio dell'app) 5)Cancelliamo tutti i prodotti con uno shake 6)Ottimizzazioni, spunti e conquista del mondo con un click :-) https://github.com/e-xtrategy/titanium-shopping-list 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 22 TechBar e-xtrategy srl - www.e-xtrategy.net
  • 23. Contatti www.e-xtrategy.net info@e-xtrategy.net 4° TechBar – Sviluppo di applicazioni mobile con Titanium Appcelerator | pag. 23 TechBar e-xtrategy srl - www.e-xtrategy.net