PhoneGap VS Appcelerator

T
Tiyab K.Software Engineer à Mcom Multicartes
http://www.linkedin.com/in/tiyab
                                   Titanium Mobile
PROBLÉMATIQUE
Le développement d’applications pour
terminaux mobiles (iPhone, iPad, Android,
Blackberry, Windows Phone, Nokia Symbian,
Samsung Bada…) se heurte à la fragmentation
des technologies de développements:
iOS + Objective-C pour l’iPhone et l’iPad;
SDK Java spécifique pour Android;
J2ME pour Symbian;
C sharp/.Net pour Windows mobile
etc.
APPROCHES POSSIBLES
      Deux approches possibles lorsque l’on débute
un projet d’application ciblant plusieurs de ces
plateformes sont :
-Développer une application pour chacune d’elle,
-Développer un site Web compatible.

Dans le premier cas, l’inconvénient concerne bien
évidemment le coût des développements.

 Dans le deuxième, on sera limité en richesse de
l’application par les possibilités du Web.
SOLUTIONS
Entre ces deux approches se situe une offre assez fournie de
solutions de développement multiplateforme, proposées
par des éditeurs proposant leurs propres plateformes
d’exécution et leurs outils de développement.

Parmi celles-ci, nous nous nous concentrerons dans sur
PhoneGap et Titanium Mobile, qui sont aujourd’hui parmi
les plus abouties et sont représentatives des deux
principales approches de développement multiplateforme:
-L’utilisation des moteurs de rendus Web pour PhoneGap
-La translation de code source vers la plateforme cible pour
Titanium
PhoneGap VS Appcelerator
PhoneGap
PhoneGap est un outil open-source, et devrait
d’ailleurs rejoindre la fondation Apache.
Le principe de PhoneGap est de fournir des API
JavaScript aux navigateurs Web standards,
permettant d’appeler des fonctionnalités natives
non disponibles autrement: accéder à l’appareil
photo, à l’accéléromètre, au système de fichiers…
Cela nécessite d’embarquer le code source
HTML/CSS/JS dans une application native, grâce au
composant permettant d’inclure une vue Web dans
une application, disponible dans chaque SDK.
Titanium Mobile
Titanium Mobile
Développé par Appcelerator qui vend du support et
des formations sur Titanium, c’est également une
solution libre.
Le principe de Titanium est de fournir une machine
virtuelle JavaScript permettant d’accéder au
système natif, et ainsi de développer des
applications natives mais en JavaScript.
C’est la promesse d’applications plus réactives et à
l’expérience utilisateur plus proche du natif que
celles basées sur des pages Web, comme
PhoneGap.
Points communs
L’intérêt principal de l’utilisation d’une plateforme de
développement multiplateforme comme PhoneGap et
Titanium Mobile réside en 2 points:
• Pouvoir déployer l’application sur les magasins
   (AppStore, Android Market…) afin de bénéficier de ce
   canal de distribution et de communication. Cela est
   réellement assuré par ces deux outils;
• Réduire les coûts de développements en mutualisant du
   code. Cela est assuré par ces deux outils à condition de
   bien les utiliser et de limiter la part des développements
   spécifiques à chaque plateforme et donc de se limiter aux
   fonctionnalités supportées « out of the box ». On rogne
   donc sur l’expérience utilisateur et la richesse
   fonctionnelle.
COMPARAISON



  VS
Plateformes supportées

OS                     PhoneGap       Titanium

 iOS                            

 Android                        

 BlackBerry                     

 Bada             

 WindowsPhone     
  ;
                   

                   
Analyse
En pratique, les développements PhoneGap nécessitent
des adaptations pour chaque plateforme, dont les
capacités et l’expérience utilisateurs diffèrent fortement.

Concernant Titanium, le support de Blackberry est encore
récent et disponible uniquement sous Windows;

Pour cibler tous les terminaux mobiles à moindre coût, le
meilleur moyen reste de réaliser un site Web simple, qui
permet de diffuser de l’information mais ne permet ni de
fournir des fonctionnalités avancées (appareil photo,
etc.), ni de proposer une expérience utilisateur riche, ni
d’être visible sur l’AppStore.
Richesse de la plateforme

                PhoneGap                                Titanium


 Possibilités des navigateurs Web    Accès aux composants d’IHM natifs

 API PhoneGap :                      API Titanium :

       Appareil photo;                 Base de données;
       Système de fichier;             Géolocalisation;
       Accéléromètre;                  Gestion des contacts;
       Liste des contacts;             Intégration Facebook;
       Géolocalisation.                Appareil photo;
                                        Lecture et enregistrement audio/vidéo;
                                        ect…
Analyse
Titanium est indéniablement plus riche fonctionnellement et
fournira une apparence plus proche du natif, ce qui est en
général l’objectif des concepteurs d’applications.

PhoneGap est dans l’absolu plus limité en terme de
fonctionnalités, et on doit concevoir les écrans comme des
pages Web et non des écrans natifs.

Les deux plateformes sont extensibles, Titanium plus
facilement que PhoneGap, mais on pourrait déconseiller
globalement d’aller dans cette direction car cela devient très
coûteux à maintenir (on estime en général à 20% la part
maximale de code spécifique tolérable), et nécessite en outre
encore plus de compétences que de faire des applications
natives spécifiques à chaque plateforme.
Plateforme de développement
                PhoneGap                                       Titanium


HTML/CSS/JavaScript standard. On             JavaScript en utilisant des API spécifiques à
développe comme si c’était une application   Titanium, que ce soit pour créer les IHM ou
Web normale.                                 pour écrire des appels au système.

Les API PhoneGap sont bien documentées,      Le site d’Appcelerator propose la
par-contre on devra chercher sur le Web la   documentation des API ainsi qu’une
documentation pour les technologies          application démo (KitchenSink) et des
HTML/CSS/JS et les éventuelles librairies    vidéos.
JavaScript utilisées.
Analyse
On remarque l’utilisation de plus en plus large de
JavaScript, un langage décrié par ses côtés peu structuré et
trop tolérant.
Il est nécessaire, pour développer ce type d’applications,
de se former profondément à JavaScript et de connaître les
design patterns de structuration/modularisation du code
dans ce langage, qui existent mais sont souvent mal connus
des développeurs.

De manière globale, l’environnement de développement de
Titanium est mieux intégré et plus documenté.
Productivité des développement

                PhoneGap                                    Titanium



PhoneGap nécessite de développer pour       Titanium fourni un IDE dédié, basé sur
chaque plateforme ciblée dans l’IDE         Aptana, un des meilleurs IDE Web
correspondant, et ne fournit pas d’outils   reposant lui-même sur Eclipse (acheté
supplémentaires.                            récemment par Appcelerator)
Analyse
Titanium fournit un environnement de
développement « clé en main » et performant, là
où PhoneGap nécessite d’installer et configurer
soi-même plusieurs environnements.

La productivité est clairement côté
Titanium aujourd’hui.
Gestion des déploiements

              PhoneGap                                   Titanium



PhoneGap propose depuis peu un             Titanium ne fournit pas d’outil de
outil de build sur le cloud: PhoneGap      packaging multiplateforme. Vous devrez
Build, qui compile un projet PhoneGap      donc créer manuellement les packages
vers les différentes plateformes cibles,   applicatifs.
que vous pourrez ensuite publier sur
l’AppStore, l’Android Market, etc.
Analyse
L’automatisation du packaging et de la livraison
des applications sur les différentes plateformes
(magasins publics type AppStore ou comptes privés
« in house ») est un véritable enjeu concernant la
productivité des développements et le coût global
d’un projet.

L’outil PhoneGap Build (compatible uniquement
avec les applications PhoneGap), qui vient d’être
ouvert en version finale, était une véritable
nécessité.
Synthèse
FONCTIONNALITÉ                     SYNTHÈSE

Plateformes supportées             Avantage PhoneGap


Richesse (fonctionnalités + IHM)   Avantage Titanium


Langage de développement           Egalité



Productivité des développements    Avantage Titanium


Gestion des déploiements           Avantage PhoneGap
Synthèse sur PhoneGap
Les points forts de PhoneGap sont donc
aujourd’hui son support de plus de 6
plateformes, et le fait qu’il utilise au maximum
les technologies standards du Web.

Ses points faibles concernent ses limitations
fonctionnelles et sa moindre richesse d’IHM du
fait qu’il n’utilise pas les composants natifs, ainsi
que son manque d’outillage de développement.
Synthèse sur Titanium
Les points forts de Titanium sont sa richesse
fonctionnelle et graphique, ainsi que la
productivité de son environnement de
développement.

Son point faible concerne le peu de plateformes
supportées.
Conclusion
En conclusion, on a pu voir que Titanium est globalement
plus productif et fournit plus de fonctionnalités que
PhoneGap dans le but de développer des applications
mobiles multiplateformes. On le préfèrera en général, si l’on
ne doit pas supporter plus que iOS + Android + BlackBerry.

Au-delà du choix de l’outil, le conseil majeur restera
d’utiliser les outils pour ce qu’ils savent faire, et éviter de
« tordre » leur usage pour leur faire faire autre chose ou de
manière différente.

Cela s’approche des problématiques bien connues
d’utilisation trop personnalisée de progiciels, qui rend
rapidement très coûteuse la moindre évolution.
Un mot sur HTML5
D’ors et déjà, le choix de la technologie de
développement multiplateformes doit aussi se
faire par-rapport aux applications Web HTML5
qui apportent de plus en plus de fonctionnalités
et viennent sérieusement concurrencer les
approches natives et hybrides, et les solutions
Web existantes comme les moteurs de rendus
(BkRender, Wokup) et les nombreux Framework
Web pour mobiles (par exemple Sencha Touch).
Sources
http://blog.octo.com

http://www.appcelerator.com/

http://phonegap.com/
1 sur 26

Recommandé

Tuto Phonegap par
Tuto PhonegapTuto Phonegap
Tuto PhonegapSUN
1.4K vues16 diapositives
[FR] Présentation de PhoneGap par
[FR] Présentation de PhoneGap[FR] Présentation de PhoneGap
[FR] Présentation de PhoneGapThomas Bassetto
3K vues18 diapositives
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks... par
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...
Introduction au développement mobile avec Titanium Appcelerator @ Human Talks...Raphaël Kueny
2K vues14 diapositives
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android par
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidBosco Basabana
5.4K vues34 diapositives
Phonegap par
PhonegapPhonegap
PhonegapVISEO
1.9K vues18 diapositives
Apache Cordova 3.3 de zéro par
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroAlexandre Pereira
12.5K vues54 diapositives

Contenu connexe

Tendances

Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit par
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKitConstruire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKituncatcrea
2K vues10 diapositives
Panorama des solutions mobile hybrides par
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybridesekino
4.4K vues79 diapositives
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy par
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - AlloyMeetup Mobile Montpellier
740 vues86 diapositives
Paug aosp ice-creamsandwich_20120119 par
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paris Android User Group
828 vues16 diapositives
Développement Cross-Platform avec Titanium Mobile par
Développement Cross-Platform avec Titanium MobileDéveloppement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium MobileXavier Lacot
3K vues54 diapositives
Actionscript: du web au mobile par
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobileMartin Arvisais
1.7K vues51 diapositives

Tendances(20)

Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit par uncatcrea
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKitConstruire une Application Mobile en 30 minutes avec le plugin WP-AppKit
Construire une Application Mobile en 30 minutes avec le plugin WP-AppKit
uncatcrea2K vues
Panorama des solutions mobile hybrides par ekino
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybrides
ekino4.4K vues
Développement Cross-Platform avec Titanium Mobile par Xavier Lacot
Développement Cross-Platform avec Titanium MobileDéveloppement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium Mobile
Xavier Lacot3K vues
RedFabriQ - meetup Xamarin Paris - Session d'ouverture par zaak
RedFabriQ - meetup Xamarin Paris - Session d'ouvertureRedFabriQ - meetup Xamarin Paris - Session d'ouverture
RedFabriQ - meetup Xamarin Paris - Session d'ouverture
zaak868 vues
Conférence Titanium + Alloy au JUG Montpellier par Damien Laureaux
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
Damien Laureaux6K vues
Réaliser une application mobile pour un groupe de presse avec PhoneGap par Benjamin LUPU
Réaliser une application mobile pour un groupe de presse avec PhoneGapRéaliser une application mobile pour un groupe de presse avec PhoneGap
Réaliser une application mobile pour un groupe de presse avec PhoneGap
Benjamin LUPU5K vues
Drupagora 2013 : Drupal8 et Symfony2, quel impact ? par ekino
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
ekino12.3K vues
Formation Android (Initiation à la programmation sous Android) par G²FOSS ENIT
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)
G²FOSS ENIT1.5K vues
Kinect pour les développeurs Web par ekino
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
ekino2.3K vues
Devoxx France 2015 - Introduction à Ionic framework par Stéphanie Moallic
Devoxx France 2015 - Introduction à Ionic frameworkDevoxx France 2015 - Introduction à Ionic framework
Devoxx France 2015 - Introduction à Ionic framework
Stéphanie Moallic1.9K vues
Wygday 2011 - Introduction à HTML5 par wyggio
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5
wyggio1.5K vues
Booster votre application Windows Phone 8 par Microsoft
Booster votre application Windows Phone 8Booster votre application Windows Phone 8
Booster votre application Windows Phone 8
Microsoft1.3K vues

En vedette

ESCUELA POLITECNICA DEL EJERCITO VALORACION DE EMPRESAS par
ESCUELA POLITECNICA DEL EJERCITO VALORACION DE EMPRESASESCUELA POLITECNICA DEL EJERCITO VALORACION DE EMPRESAS
ESCUELA POLITECNICA DEL EJERCITO VALORACION DE EMPRESASInnovacion Empresarial Ecuador
1.6K vues21 diapositives
Herausforderungen für Wissenschaftler par
Herausforderungen für WissenschaftlerHerausforderungen für Wissenschaftler
Herausforderungen für WissenschaftlerMoritz Bradler
292 vues49 diapositives
Tipologías textuales par
Tipologías textualesTipologías textuales
Tipologías textualesSofía Díaz B.
2K vues31 diapositives
Newsletter octobre 2009.pdf par
Newsletter octobre 2009.pdfNewsletter octobre 2009.pdf
Newsletter octobre 2009.pdfCaritas Internationl
375 vues4 diapositives
Newsletter novembre 2008.pdf par
Newsletter novembre 2008.pdfNewsletter novembre 2008.pdf
Newsletter novembre 2008.pdfCaritas Internationl
451 vues4 diapositives
VIOLENCIA INTRAFAMILIAR par
VIOLENCIA INTRAFAMILIARVIOLENCIA INTRAFAMILIAR
VIOLENCIA INTRAFAMILIARcarmenmonge
1K vues14 diapositives

En vedette(20)

Herausforderungen für Wissenschaftler par Moritz Bradler
Herausforderungen für WissenschaftlerHerausforderungen für Wissenschaftler
Herausforderungen für Wissenschaftler
Moritz Bradler292 vues
La Guerra De Flandes Gtf par Gemma1991
La Guerra De Flandes GtfLa Guerra De Flandes Gtf
La Guerra De Flandes Gtf
Gemma1991312 vues
Sitzung 1 par scuy
Sitzung 1Sitzung 1
Sitzung 1
scuy539 vues
Judith et Mónica par School
Judith  et MónicaJudith  et Mónica
Judith et Mónica
School372 vues
Fr Gorras 2010 par frgorras
Fr Gorras 2010Fr Gorras 2010
Fr Gorras 2010
frgorras553 vues

Similaire à PhoneGap VS Appcelerator

Titanium, write in java script, run native everywhere par
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhereAyoub Zamouchi
385 vues21 diapositives
Parlons App Economie : du dev à l'usage par
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usageLaFrenchMobile
1.2K vues112 diapositives
2011 paug-presentation-de-titanium-mobile par
2011 paug-presentation-de-titanium-mobile2011 paug-presentation-de-titanium-mobile
2011 paug-presentation-de-titanium-mobileParis Android User Group
828 vues54 diapositives
Choisir sa plateforme de développement mobile par
Choisir sa plateforme de développement mobileChoisir sa plateforme de développement mobile
Choisir sa plateforme de développement mobileSQLI DIGITAL EXPERIENCE
2.7K vues3 diapositives
Web Mobile : quelles opportunités face aux apps ? par
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?NiceToMeetYou
7.4K vues76 diapositives
RapportProjetLibre-CrossplateformeMobiledev (1) par
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)Cyril Sabbagh
372 vues11 diapositives

Similaire à PhoneGap VS Appcelerator(20)

Titanium, write in java script, run native everywhere par Ayoub Zamouchi
Titanium, write in java script, run native everywhereTitanium, write in java script, run native everywhere
Titanium, write in java script, run native everywhere
Ayoub Zamouchi385 vues
Parlons App Economie : du dev à l'usage par LaFrenchMobile
Parlons App Economie : du dev à l'usageParlons App Economie : du dev à l'usage
Parlons App Economie : du dev à l'usage
LaFrenchMobile1.2K vues
Web Mobile : quelles opportunités face aux apps ? par NiceToMeetYou
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
NiceToMeetYou7.4K vues
RapportProjetLibre-CrossplateformeMobiledev (1) par Cyril Sabbagh
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)
Cyril Sabbagh372 vues
Ch1. Développement mobile par Haifa Chorfi
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
Haifa Chorfi160 vues
Les solutions mobiles (potentiel et enjeux) par SCALA
Les solutions mobiles (potentiel et enjeux)Les solutions mobiles (potentiel et enjeux)
Les solutions mobiles (potentiel et enjeux)
SCALA2K vues
Tk04 Iphone Vs Android Fr par Valtech
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android Fr
Valtech 556 vues
Strategies et developpements mobiles multi-plates-formes. par DocDoku
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
DocDoku2.1K vues
HTML 5, applications natives ou hybrides : comment choisir ? par Philippe Dumont
HTML 5, applications natives ou hybrides :  comment choisir ?HTML 5, applications natives ou hybrides :  comment choisir ?
HTML 5, applications natives ou hybrides : comment choisir ?
Philippe Dumont11.4K vues
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8 par Microsoft
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Microsoft1.5K vues
Présentation RIA avec Adobe Flex / RIA with Adobe Flex par Cynapsys It Hotspot
Présentation RIA avec Adobe Flex / RIA with Adobe FlexPrésentation RIA avec Adobe Flex / RIA with Adobe Flex
Présentation RIA avec Adobe Flex / RIA with Adobe Flex
Flutter: Alternative crédible pour vos applications mobiles ? par Nicolas Hodicq
Flutter: Alternative crédible pour vos applications mobiles ?Flutter: Alternative crédible pour vos applications mobiles ?
Flutter: Alternative crédible pour vos applications mobiles ?
Nicolas Hodicq257 vues
Plateformes de développement d’applications mobiles par Eric Toguem
Plateformes de développement d’applications mobilesPlateformes de développement d’applications mobiles
Plateformes de développement d’applications mobiles
Eric Toguem4.9K vues

PhoneGap VS Appcelerator

  • 2. PROBLÉMATIQUE Le développement d’applications pour terminaux mobiles (iPhone, iPad, Android, Blackberry, Windows Phone, Nokia Symbian, Samsung Bada…) se heurte à la fragmentation des technologies de développements: iOS + Objective-C pour l’iPhone et l’iPad; SDK Java spécifique pour Android; J2ME pour Symbian; C sharp/.Net pour Windows mobile etc.
  • 3. APPROCHES POSSIBLES Deux approches possibles lorsque l’on débute un projet d’application ciblant plusieurs de ces plateformes sont : -Développer une application pour chacune d’elle, -Développer un site Web compatible. Dans le premier cas, l’inconvénient concerne bien évidemment le coût des développements. Dans le deuxième, on sera limité en richesse de l’application par les possibilités du Web.
  • 4. SOLUTIONS Entre ces deux approches se situe une offre assez fournie de solutions de développement multiplateforme, proposées par des éditeurs proposant leurs propres plateformes d’exécution et leurs outils de développement. Parmi celles-ci, nous nous nous concentrerons dans sur PhoneGap et Titanium Mobile, qui sont aujourd’hui parmi les plus abouties et sont représentatives des deux principales approches de développement multiplateforme: -L’utilisation des moteurs de rendus Web pour PhoneGap -La translation de code source vers la plateforme cible pour Titanium
  • 6. PhoneGap PhoneGap est un outil open-source, et devrait d’ailleurs rejoindre la fondation Apache. Le principe de PhoneGap est de fournir des API JavaScript aux navigateurs Web standards, permettant d’appeler des fonctionnalités natives non disponibles autrement: accéder à l’appareil photo, à l’accéléromètre, au système de fichiers… Cela nécessite d’embarquer le code source HTML/CSS/JS dans une application native, grâce au composant permettant d’inclure une vue Web dans une application, disponible dans chaque SDK.
  • 8. Titanium Mobile Développé par Appcelerator qui vend du support et des formations sur Titanium, c’est également une solution libre. Le principe de Titanium est de fournir une machine virtuelle JavaScript permettant d’accéder au système natif, et ainsi de développer des applications natives mais en JavaScript. C’est la promesse d’applications plus réactives et à l’expérience utilisateur plus proche du natif que celles basées sur des pages Web, comme PhoneGap.
  • 9. Points communs L’intérêt principal de l’utilisation d’une plateforme de développement multiplateforme comme PhoneGap et Titanium Mobile réside en 2 points: • Pouvoir déployer l’application sur les magasins (AppStore, Android Market…) afin de bénéficier de ce canal de distribution et de communication. Cela est réellement assuré par ces deux outils; • Réduire les coûts de développements en mutualisant du code. Cela est assuré par ces deux outils à condition de bien les utiliser et de limiter la part des développements spécifiques à chaque plateforme et donc de se limiter aux fonctionnalités supportées « out of the box ». On rogne donc sur l’expérience utilisateur et la richesse fonctionnelle.
  • 11. Plateformes supportées OS PhoneGap Titanium  iOS    Android    BlackBerry    Bada   WindowsPhone  ;  
  • 12. Analyse En pratique, les développements PhoneGap nécessitent des adaptations pour chaque plateforme, dont les capacités et l’expérience utilisateurs diffèrent fortement. Concernant Titanium, le support de Blackberry est encore récent et disponible uniquement sous Windows; Pour cibler tous les terminaux mobiles à moindre coût, le meilleur moyen reste de réaliser un site Web simple, qui permet de diffuser de l’information mais ne permet ni de fournir des fonctionnalités avancées (appareil photo, etc.), ni de proposer une expérience utilisateur riche, ni d’être visible sur l’AppStore.
  • 13. Richesse de la plateforme PhoneGap Titanium  Possibilités des navigateurs Web  Accès aux composants d’IHM natifs  API PhoneGap :  API Titanium :  Appareil photo;  Base de données;  Système de fichier;  Géolocalisation;  Accéléromètre;  Gestion des contacts;  Liste des contacts;  Intégration Facebook;  Géolocalisation.  Appareil photo;  Lecture et enregistrement audio/vidéo;  ect…
  • 14. Analyse Titanium est indéniablement plus riche fonctionnellement et fournira une apparence plus proche du natif, ce qui est en général l’objectif des concepteurs d’applications. PhoneGap est dans l’absolu plus limité en terme de fonctionnalités, et on doit concevoir les écrans comme des pages Web et non des écrans natifs. Les deux plateformes sont extensibles, Titanium plus facilement que PhoneGap, mais on pourrait déconseiller globalement d’aller dans cette direction car cela devient très coûteux à maintenir (on estime en général à 20% la part maximale de code spécifique tolérable), et nécessite en outre encore plus de compétences que de faire des applications natives spécifiques à chaque plateforme.
  • 15. Plateforme de développement PhoneGap Titanium HTML/CSS/JavaScript standard. On JavaScript en utilisant des API spécifiques à développe comme si c’était une application Titanium, que ce soit pour créer les IHM ou Web normale. pour écrire des appels au système. Les API PhoneGap sont bien documentées, Le site d’Appcelerator propose la par-contre on devra chercher sur le Web la documentation des API ainsi qu’une documentation pour les technologies application démo (KitchenSink) et des HTML/CSS/JS et les éventuelles librairies vidéos. JavaScript utilisées.
  • 16. Analyse On remarque l’utilisation de plus en plus large de JavaScript, un langage décrié par ses côtés peu structuré et trop tolérant. Il est nécessaire, pour développer ce type d’applications, de se former profondément à JavaScript et de connaître les design patterns de structuration/modularisation du code dans ce langage, qui existent mais sont souvent mal connus des développeurs. De manière globale, l’environnement de développement de Titanium est mieux intégré et plus documenté.
  • 17. Productivité des développement PhoneGap Titanium PhoneGap nécessite de développer pour Titanium fourni un IDE dédié, basé sur chaque plateforme ciblée dans l’IDE Aptana, un des meilleurs IDE Web correspondant, et ne fournit pas d’outils reposant lui-même sur Eclipse (acheté supplémentaires. récemment par Appcelerator)
  • 18. Analyse Titanium fournit un environnement de développement « clé en main » et performant, là où PhoneGap nécessite d’installer et configurer soi-même plusieurs environnements. La productivité est clairement côté Titanium aujourd’hui.
  • 19. Gestion des déploiements PhoneGap Titanium PhoneGap propose depuis peu un Titanium ne fournit pas d’outil de outil de build sur le cloud: PhoneGap packaging multiplateforme. Vous devrez Build, qui compile un projet PhoneGap donc créer manuellement les packages vers les différentes plateformes cibles, applicatifs. que vous pourrez ensuite publier sur l’AppStore, l’Android Market, etc.
  • 20. Analyse L’automatisation du packaging et de la livraison des applications sur les différentes plateformes (magasins publics type AppStore ou comptes privés « in house ») est un véritable enjeu concernant la productivité des développements et le coût global d’un projet. L’outil PhoneGap Build (compatible uniquement avec les applications PhoneGap), qui vient d’être ouvert en version finale, était une véritable nécessité.
  • 21. Synthèse FONCTIONNALITÉ SYNTHÈSE Plateformes supportées Avantage PhoneGap Richesse (fonctionnalités + IHM) Avantage Titanium Langage de développement Egalité Productivité des développements Avantage Titanium Gestion des déploiements Avantage PhoneGap
  • 22. Synthèse sur PhoneGap Les points forts de PhoneGap sont donc aujourd’hui son support de plus de 6 plateformes, et le fait qu’il utilise au maximum les technologies standards du Web. Ses points faibles concernent ses limitations fonctionnelles et sa moindre richesse d’IHM du fait qu’il n’utilise pas les composants natifs, ainsi que son manque d’outillage de développement.
  • 23. Synthèse sur Titanium Les points forts de Titanium sont sa richesse fonctionnelle et graphique, ainsi que la productivité de son environnement de développement. Son point faible concerne le peu de plateformes supportées.
  • 24. Conclusion En conclusion, on a pu voir que Titanium est globalement plus productif et fournit plus de fonctionnalités que PhoneGap dans le but de développer des applications mobiles multiplateformes. On le préfèrera en général, si l’on ne doit pas supporter plus que iOS + Android + BlackBerry. Au-delà du choix de l’outil, le conseil majeur restera d’utiliser les outils pour ce qu’ils savent faire, et éviter de « tordre » leur usage pour leur faire faire autre chose ou de manière différente. Cela s’approche des problématiques bien connues d’utilisation trop personnalisée de progiciels, qui rend rapidement très coûteuse la moindre évolution.
  • 25. Un mot sur HTML5 D’ors et déjà, le choix de la technologie de développement multiplateformes doit aussi se faire par-rapport aux applications Web HTML5 qui apportent de plus en plus de fonctionnalités et viennent sérieusement concurrencer les approches natives et hybrides, et les solutions Web existantes comme les moteurs de rendus (BkRender, Wokup) et les nombreux Framework Web pour mobiles (par exemple Sencha Touch).