choisir sa plateforme de développement mobile

3

Click here to load reader

Upload: sqli

Post on 06-May-2015

1.986 views

Category:

Technology


4 download

DESCRIPTION

Quelques semaines après la disponibilité de Windows Phone 8, et pour le dernier numéro de l’année 2012, nous allons parler d’un sujet chaud pour le développeur : quel système mobile choisir pour développer ses applications ?

TRANSCRIPT

Page 1: Choisir sa plateforme de développement mobile

Quelques semaines aprèsla disponibilité deWindows Phone 8, et pourle dernier numéro del’année 2012, nous allonsparler d’un sujet chaudpour le développeur : quelsystème mobile choisirpour développer sesapplications ?

D’un côté, deux monstres dominent lesdébats sur le marché du smartphone :Android (Google) et iOS (Apple). De

l’autre côté, très loin derrière, vous avezWindows Phone, BlackBerry, etc. Récem-ment, IDC a livré quelques chiffres montrantl’archi-domination sur les systèmes (estima-tions 2012) :

• 68,3 % pour Android

• 18,5 % pour iOS

• 4,7 % pour BlackBerry OS

• 2,6 % pour Windows Phone

Il faut dire que Android est présent sur plu-sieurs dizaines de modèles, contrairement àApple qui est le seul à produire des termi-naux iOS, la prouesse de la Pomme n’en estque plus remarquable. Microsoft ne peutque faire mieux avec Windows Phone 8,mais le chemin sera très long pour espérertitiller Apple, voire, Google. Pour le 3e trimestre 2012, deux construc-teurs dominent le marché des smartphones :Samsung (56 millions d’unités vendues) etApple (27 millions d’unités vendues). Depuisun an, Nokia s’écroule et tombe à seulement10 mill ions (la nouvelle gamme Lumiadevrait, si tout va bien, améliorer cela). Laplateforme iOS demeure la première pour le

modèle économique et les applicationspayantes mais Google arrive peu à peu àmieux monétiser sa plateforme.

3 larrons en 2013Android et iOS seront donc sans contesteles premiers choix. Difficile de faire l’impas-se. Le troisième système est certainementWindows Phone 8, même si son marché selimite à environ 3 %, actuellement. C’est lesystème qui devrait logiquement le plus pro-gresser en 2013. Reste à étendre l’écosys-tème et à attirer les développeurs. Sansmarché de masse, Windows Phone 8 n’inté-ressera pas le développeur et les éditeurs.

PROgrammez ! < 30 > J A N V I E R 2013

i développement mobile

Toujours en 2013, il faudra suivre BlackBer-ry 10 qui sera dévoilé fin janvier. RIM joueavec BB 10 sa dernière carte, et mêmepurement et simplement sa survie. Nous nele mettons pas sur notre liste de choix àcause de sa non-disponibilité. Si BB 10 pro-pose de belles choses, il risque tout demême de se faire rapidement laminer parWindows Phone 8.Dans ce dossier spécial, nous allons vousfaire partager des avis de développeurs,nous interroger sur comment choisir sa pla-teforme, les outils, sans oublier les bonsconseils. A vous de jouer.

# François Tonic

Android, iOS, Windows Phone 8 :

Choisir sa plateforme de développement mobile

© is

tock

phot

o.co

m/

piar

t

30-49 19/12/12 21:53 Page 30

Page 2: Choisir sa plateforme de développement mobile

PROgrammez ! < 31 > J A N V I E R 2013

i développement mobile

Avant de se lancer dans le développe-ment d’applications mobiles, il impor-te de prendre en compte un certain

nombre de considérations. En effet, chaqueenvironnement informatique est différentavec ses besoins propres. De quel budget dispose-t-on ? De quellesfonctionnalités nouvelles a-t-on besoin ? Surquelle plateforme souhaite-t-on rendre dispo-nible son application ? Souhaite-t-on per-mettre la pratique du Bring Your Own Devicedans son entreprise, tendance récente deplus en plus répandue des employés qui utili-sent leur appareil mobile personnel pour utili-ser des serv ices et ressources del’entreprise comme la messagerie profes-sionnelle, ou accéder à des serveurs defichiers, des bases de données internes ?Les fonctionnalités natives sont-elles cri-tiques, indispensables ? De combien detemps dispose-t-on pour déployer l’applica-tion ? Quelle est l’importance de la vitesse,de la performance ? L’application requiert-ellela fonctionnalité spécifique d’un appareil ?Quels langages de programmation sont maî-trisés par les ressources internes ? ...Le choix de la plateforme de développementen elle-même soulève bon nombre d’interro-gations. Néanmoins, en les comparant les unes auxautres, trois approches distinctes de déve-loppement d’une application se profilent : 1)l’approche de développement en code natif,2) opter pour une solution Flex / Air, 3)recourir à la technologie HTML5.Chacune de ces trois options présente évi-demment des avantages et des inconvé-nients. L’enjeu est de savoir identifierl’approche qui sera le plus profitable à sonentreprise.

Quels critères pour quelle plateforme ?L’ère des travailleurs rivés à leur bureau 40 heures par semaine appartient désormaisau passé. Aujourd’hui l’utilisation de tablettes et smartphones dans l’entreprise seprésente comme une opportunité pour les employés, mais représente également un déficonséquent à relever pour les sociétés et comporte quelques risques qu’il faut savoirgérer. Indépendamment de la taille des structures, lagestion des problématiques informatiques et desquestions de sécurité ne cesse de croître à mesure queles entreprises rendent leurs données métier accessiblessur les terminaux mobiles.

CODE NATIF ?Le développement d’une application mobileen code natif présente des avantages signifi-catifs. Cette méthode permet d’accéder enprofondeur aux paramètres de l’appareil etd’optimiser de manière plus efficace la per-formance. Elle rend disponible certainesfonctionnalités qui ne sont pas accessiblesaux plateformes Flex et HTML5. Ainsi pourles applications requérant des fonctionnali-tés très spécifiques, uniques, il n’y a pas d’al-ternative au développement en code natif. Fiabilité, rapidité et puissance sont donc lesmaîtres mots. Mais il faut minorer cette per-formance par la dépendance : tout dévelop-pement en code natif correspond à undéveloppement spécifique pour un type d’ap-pareil mobile en particulier et tout déploie-ment sur un autre type de mobile nécessiteun nouveau développement. Il faut donc pré-voir autant de (re)développements de l’appli-cation que de terminaux… Parmi les avantages d’un développement encode natif, citons : • les outils, le support et les meilleures pra-

tiques fournis par les fabricants qui per-mettent d’accélérer les développements,

• les performances,• l’accès à la plupart des fonctions des plate-

formes,• des interfaces utilisateurs plus familières

(en termes de look & feel)• …

FLEX / AIRLorsque Adobe a remis à l’Apache SoftwareFoundation le code source de sa solutionFlex1, tous ses détracteurs ont hurlé à la

mort de Flash. Mais Flash est loin d’êtremort ! Il est vrai que Adobe ralentit progres-sivement ses efforts et son support de Flashpour la mobilité, mais la plateforme AdobeAir rencontre toujours un succès croissant.Apache Flex est parfaitement efficace aussibien pour des applications de poste de travailque pour des appareils mobiles (Android,iOS, …), voire des applications TV. Son grandavantage reste la rapidité de mise en œuvrepour un aspect visuel séduisant. Signalons encore que la plateforme continuemalgré tout de s’enrichir, notamment avecune série d’extensions pour plus de fonction-nalités natives des terminaux mobiles prisindividuellement.Avec la donation de Flex à la fondationApache, c’est juste une nouvelle ère quicommence. Le SDK Apache Flex sera pluslentement amélioré par Adobe, mais égale-ment par une communauté beaucoup pluslarge. Les nouvelles mises à jour logiciellesd’Apache Flex SDK, d’Adobe AIR Runtime etd’Adobe Flash Builder confèrent une puis-sance à ce jour inégalée pour le développe-ment multiplateforme. Ainsi, la dernièremise à jour d’Adobe AIR Runtime (3.5) com-porte déjà le support iOS 6 SDK, et la nou-velle version d’Adobe Flash Builder (4.7)comporte des fonctions de simulation, test,debogage pour iOS on-device.

1. PC World, Adobe Donates Flex to Apache :http://www.pcworld.com/article/244060/adobe_donates_flex_to_apache.html

30-49 19/12/12 21:53 Page 31

Page 3: Choisir sa plateforme de développement mobile

natives tend à se populariser. Généra-lement réparties selon leurs fonc-tions, les applications se créentdésormais avec des nouveaux compo-sants HTML plus rapides à construire.Elles sont réutilisables d’une platefor-me à une autre et se mettent à jourde manière transparente pour l’utilisa-teur, sans processus d’autorisation,tout en préservant une expérience uti-lisateur de qualité. Prenons l’exemplede Phonegap. Certes, ce frameworkpermet d’embarquer une page webHTML5/JS/CSS dans un shell natif,mais sa véritable force réside dansson potentiel hybride.

> Mais qu’est-ce qu’un framework hybride ?

Il s’agit de composants permettant l’afficha-ge : tout démarre par un afficheur web. Cetafficheur doit pouvoir charger et interpréterdu HTML (local ou distant), exécuter duJavaScript et des CSS. Puis permettre auJavaScript d’appeler des fonctions du codenatif, et réciproquement. Toutes les plate-formes le permettent aujourd’hui, mais mal-heureusement, sans unité et de façon trophétéroclite.Ainsi, les applications hybrides HTML5 seprésentent comme un compromis intéres-sant parce qu’elles assurent une compatibili-té entre les différentes plateformes dedéveloppement (dédiées au HTML5) etparce qu’elles peuvent utiliser les fonctionna-lités matérielles et logicielles propres des

HTML5 ?De nouveaux horizons pour le monde de l’appli-cation mobile ! L’évolution combinée du HTML,des feuilles de style CSS et de JavaScript estquand même phénoménale ! Les applica-tions HTML5 sont accessibles depuis lesnavigateurs embarqués sur les tablettes etsmartphones, mais peuvent également s’uti-liser comme des applications natives via desframeworks hybrides. Un énorme pas enavant. Mais attention : HTML5 reste néan-moins dépendant et limité par les capacitéspropres de chaque navigateur et des Web-Kits (moteurs d’affichages conçus pour lesnavigateurs web mobiles).Le HTML5 fournit aux développeurs desoutils pour le stockage web hors connexion,des API pour la géolocalisation, des applica-tions de dessin et bien d’autres encore…Simultanément aux évolutions du HTML5 etaux derniers développements web, de nou-veaux outils et frameworks plus complets etcohérents font leur apparition pour renfor-cer l’intégration HTML5 dans les naviga-teurs dédiés mobiles. On dénombre déjàplus d’une douzaine de frameworks dispo-nib les sur le marché. Citons à t i tred’exemple :• JQuery Mobile• Sencha Touch• Backbone.js• …

Aujourd’hui, l’idée d’un développement mixteentre technologies web et technologies

PROgrammez ! < 32 > J A N V I E R 2013

i développement mobile

téléphones et des tablettes mobiles. Lechoix d’une solution HTML5 développée surune plateforme PhoneGap, Titanium ou Sen-cha, par exemple, vous donne accès aux APIdes constructeurs et vous ouvre les portesdes App. stores.?

CONCLUSIONLa plateforme de développement mobile par-faite n’existe pas, mais il est possible d’opterpour celle qui répond le mieux à vos objectifsbusiness. Il y a beaucoup de questions à seposer, et autant de réponses associées.Enfin, au moment de se lancer, il faut voir leschoses en grand, mais démarrer modeste-ment !

# Hans Verreydt, Consultant, EoZen, Groupe SQLITraduction de l’article de Hans Verreydt : Choosingyour mobile development platform.

30-49 19/12/12 21:53 Page 32