Thèse Professionnelle LE DEVELOPPEMENT SOUS OS MOBILEComment bien choisir le système d’exploitationcible lors du développement mobile ? Thèse Professionnelle 5e année Responsable formation : Olivier Buffat 2008-2013
Romain CARROUSSEL – THESE PROFESSIONNELLERomain Carroussel – Le développement sous OS mobile Page 2 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLERésumé Ce document présente ma thèse professionnelle que j’ai débuté dans le cadre de ma formationà l’Exia.cesi en 4e année Logicielle. Elle m’a permis d’aborder un sujet technique de mon choix enproposant une étude approfondie et une démarche adaptée pour répondre à une problématique. Le but de ce document est de savoir vers quel OS mobile les développeurs doivents’orienter compte tenu du marché actuel, et des évolutions futures ou quelles solutions alternativessont offertes pour réduire les coûts de développement et profiter du marché très lucratif que sont lesnouvelles technologies mobiles. Cet état de l’art présente les principaux OS mobiles ainsi que quelques solutions alternatives.La prise de position ne s’effectuera que lors de la deuxième partie de la thèse où je répondrais aprèsdes enquêtes à la problématique.Abstract This document presents my thesis that I began as part of my formation during the fourth yearin Exia.Cesi. It allowed me to approach a technical subject of my choice by offering a thorough andappropriate approach to address a problem. The purpose of my thesis is to help developers to find the best mobile OS taking accountabout the current market, and future evolutions or if there are some alternatives to reducedevelopment costs in order to enter and take advantage of the lucrative market that the new mobiletechnologies are. This paper presents the main mobile OS and some alternatives. The position that I will takewill be taken in the second part of my thesis after some investigations that will make. Romain Carroussel – Le développement sous OS mobile Page 3 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEMots clésSystème d’exploitation mobileDéveloppement natifDéveloppement unifiéEtude comparativeOS mobileAndroïdGoogleAppleiOSBlackberryOSSymbianWindows PhoneConseils en développement mobileNouvelles technologiesSmartphonesTablettes tactilesRomain Carroussel – Le développement sous OS mobile Page 4 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLETable des matières1. Objet de la thèse professionnelle ................................................................................................................7 1.1. Explication du sujet ............................................................................................................................7 1.2. Périmètre de la thèse...........................................................................................................................8 1.3. La problématique................................................................................................................................8 1.4. Hypothèses .........................................................................................................................................9 1.5. Le plan d’action..................................................................................................................................92. Etat de l’art...............................................................................................................................................11 2.1. Présentation du développement mobile ............................................................................................11 2.1.1. Historique du développement mobile .......................................................................................11 2.1.2. Le besoin naissant de nouvelles technologies ...........................................................................14 2.1.3. Les évolutions futures...............................................................................................................16 2.2. Présentation des différents OS mobiles ............................................................................................17 2.2.1. Historique des différents OS mobiles .......................................................................................17 2.2.2. Caractéristiques des différents OS mobiles...............................................................................23 2.2.3. Evolutions prévues ...................................................................................................................29 2.2.4. Portabilité .................................................................................................................................32 2.2.5. Avantages et défauts .................................................................................................................34 2.2.6. Tableau de synthèse..................................................................................................................36 2.2.7. Le marché actuel des OS mobiles .............................................................................................37 2.3. Les alternatives de développement unifié .........................................................................................39 2.3.1 Rhodes......................................................................................................................................39 2.3.1. PhoneGap .................................................................................................................................403. Investigations ...........................................................................................................................................42 3.1.1. Explication de la démarche.......................................................................................................42 3.1.2. Expérience personnelle .............................................................................................................42 3.1.3. Sondage ....................................................................................................................................49 3.1.4. Conclusions ..............................................................................................................................584. Réponses aux hypothèses et analyses .......................................................................................................595. Conclusion ...............................................................................................................................................60 5.1.1. La problématique ......................................................................................................................60 5.1.2. Ouverture..................................................................................................................................63Bibliographie....................................................................................................................................................64Table des figures ..............................................................................................................................................66Romain Carroussel – Le développement sous OS mobile Page 5 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEGlossaire ..........................................................................................................................................................68Annexes............................................................................................................................................................69Romain Carroussel – Le développement sous OS mobile Page 6 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE1. Objet de la thèse professionnelle 1.1. Explication du sujet En quelques années, nous avons pu assister à une explosion de plateformes mobiles trèsprisées des consommateurs telles que les smartphones, ou les tablettes tactiles. Pour répondre à cettedemande très forte, de nombreuses sociétés ont travaillé pour construire des systèmes d’exploitationadaptés à ces supports gérant au mieux la ressource et toutes les fonctionnalités propres auxtéléphones que les systèmes d’exploitation pour ordinateur ne prennent pas en compte. Ces OS (Operating system) sont pour les plus connus Androïd de Google, iOS d’Apple etSymbian OS de Nokia. Ces technologies, très prisées des consommateurs, sont l’avenir de l’informatique comme ledémontre le nombre d’applications disponibles sur les différents markets (plus d’un milliond’applications disponibles, tout OS confondu (journaldunet.com)). J’y reviendrais plus tard lorsqueje comparerais les ventes de chaque OS mobile, leur part de marché et quelles cibles sont et serontvisées par ces technologies. Les utilisateurs souhaitent dorénavant posséder des dispositifs qui permettent de pouvoircommuniquer, échanger, d’être informé tout au long de la journée. L’ordinateur portable, tropencombrant, coûteux, ne répond plus aux demandes. C’est toute l’intelligence des Smartphones oudes tablettes, qui sont des hybrides entre un ordinateur portable et un téléphone : alliant la portabilitéet l’autonomie d’un téléphone, et l’utilité d’un ordinateur portable. Mais aussi, les OS mobiles permettront dans le futur d’être intégré dans tout systèmeélectronique ! Comme le démontre déjà Apple avec le lancement prévu en 2012 de son Apple TV,comportant l’iOS avec quelques modifications en tant que système d’exploitation. J’ai donc décidé de faire ma thèse sur ce sujet d’actualité, car au-delà du fait que j’ai déjàeffectué deux stages en développement mobile, c’est surtout la possibilité d’étudier au plus près cesnouvelles technologies, d’apprendre à réagir au plus vite aux nouveaux besoins des futurs utilisateurstout en restant à jour au niveau technologique.Romain Carroussel – Le développement sous OS mobile Page 7 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 1.2. Périmètre de la thèse Les réponses apportées pour cette thèse peuvent être très diverses, il est donc indispensablede donner un fil directeur et surtout délimiter le périmètre de l’étude pour éviter de ne pas traiter laproblématique. Il existe plus d’une dizaine d’OS mobiles, il est donc important de se concentrer sur lesprincipaux et les plus vendus afin d’en tirer de meilleures conséquences. On retiendra donc : Androïdde Google, iOS d’Apple, Symbian OS de Nokia, Blackberry OS de RIM et Windows Phone/Mobilede Microsoft. J’ai volontairement omis de parler de webOS et de Bada, le premier étant pratiquementun OS mort-né à cause d’une stratégie trop hâtive, et le second est minoritaire au sein même duconcepteur qui le développe (Samsung). On s’intéressera à leurs historiques, leurs caractéristiques,leurs avantages et leurs défauts, afin de mieux les cerner, comprendre leur architecture. Il faudra aussi s’intéresser s’il existe des moyens de développement unifiés : c’est-à-dire s’ilexiste un moyen de développer sous un seul langage une application compatible tout support. La thèse n’abordera pas les frameworks permettant de faire des sites mobiles tels que JQueryMobile ou Sencha Touch puisqu’ils ne rentrent pas dans la définition d’application mobile. Ce sontdes sites web aménagés pour support mobile. On définira le terme « support mobile » tout support électronique permettant l’intégrationd’un OS mobile : tablettes, smartphones, écran de télévision, appareils photos, autoradios, netbooks,consoles de jeux, e-readers, lunettes de ski, etc… 1.3. La problématique La pléthore d’OS mobiles pose un problème pour les sociétés s’intéressant à ce nouveaumarché très lucratif. Sachant que le temps de développement d’une application pour un OS mobileest coûteux, et que développer son équivalent pour un autre OS le serait encore plus, car elledemande des connaissances techniques supplémentaires dans un autre langage de développement(tous les OS mobiles n’ont pas forcément le même langage). Dans ce contexte complexe de réduire les coûts de développement et de profiter au maximumde ce marché lucratif et en pleine expansion, une seule problématique se dégage : Comment bien choisir le système d’exploitation cible lors du développement mobile ? A cette problématique, plusieurs questions peuvent se poser : Existe-t-il un OS mobile dont le marché explose ? Sont-ils tous égaux en termes de part de marché ? Quels sont les avantages et les inconvénients de faire du développement natif ?Romain Carroussel – Le développement sous OS mobile Page 8 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Existe-t-il des solutions alternatives ? Quels sont les critères principaux et les outils qui permettent de choisir la bonne cible? Faire une étude avant d’aborder le développement est-elle bénéfique ?Ces questions seront abordées et traitées dans cette thèse. 1.4. Hypothèses Voici une liste d’hypothèses émises avant la phase de recherche : Il existe une pléiade de frameworks (gratuits ou payants) permettant le développement d’applications mobiles tous supports. Androïd est le système d’exploitation mobile le plus utilisé tout support confondu. Les critères principaux de sélection sont la part de marché, la performance et la technologie offerte par le système d’exploitation. Le principal inconvénient de faire du développement natif est la non-portabilité du code. Le principal avantage de faire du développement natif est d’utiliser les composants natifs. Ces hypothèses seront vérifiées durant la thèse. Elles définissent l’orientation des recherches,permettent de mettre à plat les idées et de voir l’opinion que l’on se fait du sujet, avant de s’êtreimprégné de toutes les informations actuellement disponibles. 1.5. Le plan d’action Dans cette partie, je vais présenter une ébauche des points abordés lors de ma thèseprofessionnelle. Après une présentation générale de ce qu’est le développement mobile, j’aborderaisur une présentation détaillée de chaque OS mobile délimité dans le périmètre de la thèse sous cinqpoints (Historique, Caractéristiques, Evolutions prévues, Portabilité, Avantages et défauts) suivisd’un tableau récapitulatif. Ensuite, nous verrons les alternatives de développement unifié, quels sont leurs points forts etleurs points faibles pour chacune puis je terminerais sur une confrontation des résultats de mesinvestigations avec mes hypothèses. Pour mener à bien cette thèse, j’ai défini un plan d’action et délimité un périmètre à ne pasdépasser, pour rester en adéquation avec la problématique. La thèse sera découpée en plusieurs phases de conception.Romain Carroussel – Le développement sous OS mobile Page 9 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEPhase 1 • Présenter le développement mobile • Présenter en détails les différents OS mobiles disponibles sur le marché. • Présenter en détails les différents frameworks permettant un développement unifié.Phase 2 • Identifier les problématiques du développement mobile. • Identifier les problématiques du développement sur framework unifiéPhase 3 • Faire un compte-rendu des différentes expériences vécues en stage dans le domaine mobile. • Réaliser un sondage afin d'affirmer/infirmer les parts de marchés des différents OS mobiles, connaître les besoins futurs des utilisateurs (par exemple : quels nouveaux types de supports, quel impact souhaite-t'il que les technologies mobiles prennent sur leurs vies ?)Phase 5 • Confronter mes investigations avec mes hypothèses émises avant l'étude. • Affirmer une prise de position et émettre des recommandations Romain Carroussel – Le développement sous OS mobile Page 10 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE2. Etat de l’art 2.1. Présentation du développement mobile Pour comprendre quels sont les besoins actuels des utilisateurs, quelles parts du marché desappareils électroniques vendus (tous confondus) sont développés sous système d’exploitation mobile,il est important tout d’abord de retracer un historique du développement mobile, plus précisémentpour les smartphones qui ont contribué à l’essor de la technologie mobile que nous connaissonsaujourd’hui. 2.1.1.Historique du développement mobile La frise présentée sur la page suivante représente l’historique du développement mobile etdes différentes sorties des OS mobiles. Elle n’aborde pas les différentes évolutions des OS, quiseront traitées précisément dans la partie 2.2 de cette thèse. En y regardant de plus près, on constate que l’émergence est apparue avec la sortie dupremier iPhone d’Apple en 2007 et la création de l’Open Handset Alliance pour concurrencer lesdifférents OS existants (Symbian, Blackberry OS, iOS, Windows Phone, Palm OS). Mais il est intéressant de comprendre pourquoi les entreprises ont fait le pari de miser sur cestechnologies, et pas sur d’autres (comme la création de nouvel OS pour PC afin de concurrencerceux déjà existants par exemple). Quels sont les besoins des utilisateurs ?Romain Carroussel – Le développement sous OS mobile Page 11 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 1979-1992 : 1996 : 2000 :les téléphones mobiles Le premier PDA Palm On parle enfin d'OS sont sur des systèmes Pilot 1000 sort avec mobile avec l'Ericsson R380, utilisant Symbian embarqués pour Palm OS. Dans le même OS. Il utilise à la foiscontrôler les opérations temps, Nokia sort son les technologies d'un téléphone, et d'un PDA. (tâches primaires) tout premier smartphone Nokia sort le premier développé sous GEOS écran en couleur pour 3.0 et Microsoft lance un téléphone. Windows CE 1992 : 1997 : 2002 : Le mot \"smartphone\" IBM sort le tout premier Le Kyocera 6035 est le smartphone appelé est utilisé pour la premier smartphone première fois lors de la sous PalmOS \"Simon\", contenant un sortie du Ericsson G88 calendrier, un carnet d'adresse, une Figure 1 : Frise Historique sur le développement mobile (partie 1) calculatrice, une boîte e- mail, et des jeux Romain Carroussel – Le développement sous OS mobile Page 12 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2002 : 2007 : 2008 : Les premiers Apple lance le tout Apple lance l'Apple smartphones sous premier iPhone et son Store. OHA le tout Windows CE sortent OS iOS, incluant la premier smartphone sous le nom de : sous Androïd 1.0 avec \"Microsoft Windows technologie \"multi- l'HTC Dream, ainsi quePowered Smartphones\", touch\" ainsi que de l'Androïd market. ainsi que RIM sort le nombreuses applicationstout premier Blackberry facilitant le quotidien de ses utilisateurs. 2004 : 2007 : 2009 : OHA est crée par Le Nokia 9500 est le l'alliance de Google, webOs est lancé après tout premier smartphone HTC, Sony, Dell, Intel, l'acquisition de Palm par Motorola, Samsung, HP. Samsung annonce à utiliser les LG, etc... afin de la sortie de Bada sur le technologies Wi-Fi, Bluetooth, infrarouge, concurrencer Samsung S8500. USB, GPRS et EDGE. Apple,Microsoft,Nokia et Palm. Figure 2 : Frise Historique sur le développement mobile (partie 2) Romain Carroussel – Le développement sous OS mobile Page 13 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.1.2.Le besoin naissant de nouvelles technologies Pour comprendre pourquoi les consommateurs s’orientent vers ces technologies plutôtqu’un téléphone basique, retraçons étymologiquement le mot « smartphone » : « smart »signifie intelligent et « phone » désigne téléphone en anglais. Au départ, le smartphone a été conçu dans le but d’améliorer et de faciliter le travaildes professionnels : l’idée était de rassembler en un seul appareil tous les impératifs d’unhomme d’affaires (concept du PDA (Personnal Digital Agent)) dans son téléphone mobileafin d’alléger la charge de documents transportés, de limiter le nombre de matérielsélectroniques utilisés, mais aussi pour lui permettre de croiser les différentes informationsentre les diverses fonctionnalités. D’où le concept de téléphone intelligent, fusion entre toutes les technologiesdisponibles sur un téléphone portable (appels, SMS, MMS) et celles du PDA : agenda, listesde tâches à faire, carnet d’adresses, bloc-notes, calculatrice. Avec l’arrivée de l’iPhone sur le marché en 2007, le smartphone a changé de classe deproduits, passant d’un produit réservé au monde professionnel à un produit de hautetechnologie pour le quotidien. Mais le marketing ne s’arrête pas là : pour vendre un tel produitcoûteux, il faut le rendre nécessaire, utile, indispensable. Tout le business de hautetechnologie est basé sur ceci. Pour rendre ce produit attirant, il a fallu implémenter sans cesse de nouvellestechnologies : lecteur audio et vidéo, appareil photo, caméra numérique, navigateur internet,Bluetooth, GPS, Wi-Fi, mais surtout, et c’est là que réside l’intérêt des smartphones, lesapplications mobiles. La possibilité d’installer sans cesse de nouvelles applications tout aussi utiles (pouvoirconsulter la météo, lire les dernières actualités, être informé en temps direct du trafic routierpar exemple) qu’inutiles (jouer de la guitare, mimer un fusil en utilisant l’accéléromètre duportable) a séduit toute une clientèle attirée par les dernières sorties technologiques : lesmoins de 40 ans. Sur le graphique suivant (Figure 3) réalisé en Juillet 2011, on peut observer que lescatégories jeunes sont les plus demandeuses en terme de smartphones frôlant les 60 % pourles catégories 25-34 ans, et que plus l’âge avance, moins les personnes interrogées possèdentun téléphone mobile.Romain Carroussel – Le développement sous OS mobile Page 14 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Figure 3 : Répartition des possesseurs de smartphones par âge Afin d’étayer mon argumentation sur le fait que les smartphones sont de plus en pluspopulaires, il faut étudier la tranche que représentent les smartphones sur toutes les personnespossédant un portable. Selon une étude menée par Médiamétrie en Avril 2011, 81% desfrançais possèdent un téléphone mobile soit 43,5 millions de personnes. Sur la Figure 4, on observe une augmentation de 293% depuis le premier trimestre2009 au premier trimestre 2012 sur la part que représentent les smartphones sur tous lestéléphones mobiles, soit un utilisateur sur trois environ.Figure 4 : Evolution des smartphones en France de 2009 à 2011Romain Carroussel – Le développement sous OS mobile Page 15 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Cet énorme marché potentiel représente un formidable moyen de développer desinnovations au niveau matériel et applicatif. 2.1.3.Les évolutions futures Les différents supports définis pour cette thèse ne sont qu’une vue actuelle sur lessupports implémentant des OS mobiles. D’autres sont à venir, notamment dans le domaine dela domotique où certains fabricants, dont Samsung, ont imaginé, conceptualisé, et commencéà produire de l’électroménager, tel que des réfrigérateurs, fours incluant des OS mobiles.Dans le reportage « Un Œil sur la Planète » diffusé sur France 2 au cours des championnatsdu monde d’athlétisme de 2011 en Corée du Sud, les dernières innovations de Samsung y sontmontrées, et il est possible de voir toutes les innovations qui ont été conceptualisées et quichangeront les habitudes de leurs futurs utilisateurs : paiement en direct avec son smartphoneou sur une tablette, visualisation de menus au restaurant sur support mobile, échange dedonnées via la NFC (Near Field Communication). Autre innovation, il sera possible detélécommander la lumière de chaque pièce de sa maison, la porte de son garage,l’ouverture/fermeture de ses volets électriques (déjà mis en place par la société Somfy) viason téléphone mobile. Pour mettre en place de telles technologies, certains concepteurs d’OS mobilesdéveloppent des framework adaptés pour permettre d’être installé sur du matériel nepossédant ni récepteur Wi-Fi, ni Bluetooth. En Mai 2011, Google a annoncé la sortied’Android@Home, projet destiné à faire communiquer l’OS Androïd avec différents objets dela maison. A partir de son écran (tablette, smartphone), il sera possible de communiquer viaun nouveau protocole de communication avec sa console de jeux, la lumière, hi-fi, matérielsélectroménagers. Une entreprise, Lightning science, a conçu la première ampoule compatibleavec Android@Home. Ce n’est bien sûr qu’un exemple parmi tant d’autres que seront les futures innovationsdans ce domaine. Tout est imaginable en termes de possibilités au niveau applicatif pourexploiter la richesse offerte par les OS mobiles. Cependant, la problématique exposée danscette thèse pose la limite avec la quantité d’OS mobiles mis à disposition. C’est pourquoi il sera intéressant d’aborder et de présenter chacun des principaux OSmobiles.Romain Carroussel – Le développement sous OS mobile Page 16 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2. Présentation des différents OS mobiles 2.2.1.Historique des différents OS mobiles 2.2.1.1. Androïd Androïd est un système d'exploitation open source utilisant le noyau Linux, pour smartphones,PDA et terminaux mobiles conçu par Androïd, une startup rachetée par Google, et annoncéofficiellement le 5 novembre 2007. D'autres types d'appareils possédant ce système d'exploitationexistent, par exemple des téléviseurs et des tablettes (Wikipedia.fr). La société Android,Inc. a été fondée en 2003 à Palo Alto en Californie par quatrepersonnes dans le but de créer un OS pour les téléphones portables. Suite à des problèmesfinanciers, l’entreprise fut rachetée par Google en 2005 faisant d’elle une filiale du géantaméricain. Google annonça ouvertement son intention de se positionner sur le marché destéléphones mobiles avec ce rachat. Durant deux ans, la société développa son OS et présentade nombreux prototypes aux opérateurs téléphoniques ainsi qu’aux constructeurs. En 2007, le projet pris une grande ampleur avec la formation de l’OHA, consortium denombreuses entreprises incluant Broadcom Corporation, Google, HTC, Intel, LG, MarvellTechnology Group, Motorola, Nvidia, Qualcomm, Samsung, Sprint Nexel, T-Mobile et TexasInstrument : leur but étant de développer ensemble des normes ou spécifications pour lessupports mobiles. Dans le même temps, l’OHA annonça la sortie d’Androïd, leur nouveauproduit, basé sur un noyau Linux Kernel en version 2.6. Le projet Androïd devient alors un projet open source, dirigé et maintenu par Google.Figure 5 : Logo d'AndroïdRomain Carroussel – Le développement sous OS mobile Page 17 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Depuis la première version, Androïd a énormément évolué, bénéficiant du travail denombreux développeurs.Version Nom API level Date de sortie Pourcentage (en mai 2013)1.6 Donut 4 Septembre 2009 0.1%2.0/2.1 Eclair 7 Octobre- 5.4% Décembre 20092.2 Froyo 8 Mai 2010 25.3%2.3.X Gingerbread 9-10 Décembre 2010 38.5%3.X.X Honeycomb 11-13 Février 2011 0.1%4.0.X 14-15 Octobre 2011 27.5% Ice Cream4.1.X Sandwich 15-16 Juillet 2012 28.4 % Jelly Bean (Android, 2013) Figure 6 : Tableau référençant les différentes versions d'Androïd Les dernières versions d’Androïd corrigent certains bugs et ajoutent de nouvellesfonctionnalités : 2.3 Gingerbread redéfinit l’interface utilisateur, implémente le copier-coller ainsi que la technologie NFC, améliore les performances pour les jeux, autorise les appels par VoIP. 3.0 Honeycomb est une version orientée tablette, supportant des écrans plus larges, introduisant une nouvelle interface utilisateur, le support des processeurs multicœurs, l’accélération graphique. 4.0.X Ice Cream Sandwich est la dernière version sortie d’Androïd apportant les modifications d’Honeycomb aux smartphones. Elle y inclut en plus la reconnaissance faciale, le partage d’informations via NFC, le contrôle et l’affichage des données transitant par le réseau. 4.1.X Jelly Bean intègre la prise de photo à 360°, la gestion de plusieurs comptes sur les tablettes tactiles, l’utilisation de la commande vocale hors- ligne ainsi que l’amélioration des performances. Romain Carroussel – Le développement sous OS mobile Page 18 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Figure 7 : Evolution de l'Android Market Selon la Figure 7, on peut voir que depuis 2010 le nombre de téléchargements surl’Androïd Market a explosé passant de 1 milliard milieu 2010 à 10 milliards à fin 2011. Cecireprésente une importante évolution dans l’histoire d’Androïd. 2.2.1.2. iOS iOS, anciennement iPhone OS, est le système d'exploitation mobile développé par Apple pourl'iPhone, l'iPod touch, et l'iPad. Il est dérivé de Mac OS X dont il partage les fondations (le kernelhybride XNU basé sur le micro-noyau Mach, les services Unix et Cocoa, etc.). iOS comporte quatrecouches d'abstraction, similaires à celles de Mac OS X : une couche « Core OS », une couche « CoreServices », une couche « Media » et une couche « Cocoa ». Le système d'exploitation occupe moinsd'un demi-gigaoctet (Go) de la capacité mémoire totale de l'appareil (Wikipedia.fr). Steve Jobs, PDG d’Apple, conçut l’idée d’utiliser un écran tactile multi-touch pourinteragir avec un ordinateur directement, enlevant tout périphérique physique tel que clavier etsouris de la même façon qu’une tablette numérique. L’idée se matérialisa lorsque le projet futlancé sous le nom de « Project Purple 2 » en 2005, où une collaboration fut établie avec lasociété Cingular Wireless.Romain Carroussel – Le développement sous OS mobile Page 19 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Après avoir investi plus de 150 millions de dollars dans le développement d’une telletechnologie sur une période de plus de 30 mois, Apple rejeta le premier prototype implantésur un Motorola ROKR E1. Figure 8 : Photo du Motorola ROKR E1 Cependant, Cingular Wireless donne à Apple les ressources pour concevoir untéléphone qui les satisferait entièrement C’est en Juin 2007 qu’Apple décida de lancer le tout premier iPhone, équipé de sonOS dérivé Mac OS X : iPhone OS 1.0. Selon les mots de Steve Jobs, l’iPhone est lacombinaison d’un iPod à écran large, d’un téléphone mobile révolutionnaire, et d’unepasserelle sans frontière vers Internet. Plusieurs années plus tard, iOS 3.1.3 équipa lespremières générations d’iPod Touch et d’iPhone. C’est en partie grâce au génie commercial d’Apple qu’aujourd’hui ces technologiesréservés aux professionnels au début sont devenus des produits que les amateurs de nouvellestechnologies s’arrachent. Depuis sa création, Apple a sorti cinq versions (dont plusieurs sous-versions) de sonOS mobile dont la dernière version iOS 6.0 équipe les iPod Touch de troisième et quatrièmegénération, ainsi que les iPhone 3GS, 4, 4S, tous les iPad et l’AppleTV. Sur la Figure 7, on peut voir une explosion des ventes d’iPhone au premierquadrimestre 2012 (coincidant avec la sortie du dernier iPhone 4S)Romain Carroussel – Le développement sous OS mobile Page 20 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Figure 9 : Chiffres de vente au niveau mondial d'iPhone 2.2.1.3. Symbian Symbian est un OS mobile pour smartphones et actuellement maintenu par la sociétéAccenture. La plateforme Symbian est la suite de Symbian OS et du Nokia S60, oùcontrairement à Symbian OS qui avait besoin d’un système additionnel pour la GUI, Symbianinclut les composants fourni par la cinquième édition du S60. Il appartient à Nokia depuis2008, qui décida de changer la licence pour en faire un logiciel Open Source en 2009. Nouveau changement dans la politique de Symbian : Février 2011, le PDG de Nokiaannonce que les téléphones Nokia opteront pour un système Windows Phone 7 afin deconcurrencer Androïd et iOS. Deux ans après avoir opté pour de l’open source, Symbian redevient un modèlepropriétaire. Quelques mois plus tard, Nokia annonce un nouveau contre-pied où certains deses nouveaux modèles tourneront sur Symbian version 3 (sortie en 2011 pour la dernière miseà jour). 2.2.1.4. Blackberry OS BlackBerry OS est un système d'exploitation propriétaire pour téléphone mobile de la gammeBlackBerry, concu par la société canadienne Research In Motion (RIM).Il s'agit d'un systèmemultitâches. Le système est surtout connu pour son support natif des courriels à travers le protocoleMobile information device profile (MIDP 1.0), et plus récemment un sous-ensemble de MIDP 2.0 quipermet une synchronisation complète avec les messageries d'entreprise telles que Microsoft Exchangeou IBM Lotus Domino.(Wikipedia.fr)Romain Carroussel – Le développement sous OS mobile Page 21 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE La première version de BlackBerry OS sortir en Janvier 1999, sur le Pager BlackBerry580, hybride entre un téléphone et une messagerie. Déjà capable de s’appuyer sur latechnologie push passant par les serveurs BlackBerry, il était capable d’envoyer et de recevoirdes mails, de recevoir des fax, de surfer sur internet et de lire des documents Offices. L’une des forces de BlackBerry OS déjà à cette époque fut le multitâches, permettant àson utilisateur de téléphoner tout en consultant son calendrier. En Mai 2011, RIM officialise la sortie du nouveau BlackBerry OS en version 7 sur leBlackBerry Bold (9900/9930), Torch (9810/9850/9860) et Curve (9350/9360/9370/9380)seulement. En Janvier 2013, avec la sortie de la tablette Playbook et des smartphones Blackberryabandonnant l’utilisation d’un clavier physique sort la version 10 de BlackBerry OS. Cettenouvelle version inclut la gestion multitâches, un lecteur d’applications Androïd (à partir de laversion 4.1), la commande vocale, ainsi qu’une messagerie gérant mails et notifications deréseaux sociaux. (Blackerry) Figure 10 : Part de marché des BlackBerry dans le milieu professionnel en 2009 (Pénard, 2008/2009) Sur ces statistiques de 2009, on peut voir que BlackBerry séduit le milieuprofessionnel par son expérience sur les smartphones considérés plutôt comme un instrumentde travail que gadget électronique. 2.2.1.5. Windows Phone/Windows Mobile Windows Phone 8 est un système d'exploitation mobile développé par Microsoft poursuccéder à Windows Mobile, sa précédente plateforme logicielle qui a été renommée pourl'occasion en Windows Phone Classic (Wikipedia.fr). Afin de se repositionner sur le marché des téléphones mobiles et le déclin de WindowsMobile, l’équipe en charge du projet mobile chez Microsoft décida de travailler sur un nouvelRomain Carroussel – Le développement sous OS mobile Page 22 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEOS, plus performant, plus ergonomique, plus adapté aux utilisateurs lambda plus qu’auxprofessionnels. Arrivé début Automne 2010 avec la mise en ligne du nouveau SDK, la nouvelle IHMde Windows Phone 7 (passée en version 8) réside dans la technologie tactile multipoints.Cette interface, nommée Métro, est implémentée dans Windows 8 ainsi sur toutes les tablettesWindows. En 2011, Microsoft signe un contrat avec Nokia afin que le constructeur finlandais aiten exclusivité et de façon privilégiée les dernières avancées technologiques de WindowsPhone. 2.2.1.6. Tableau récapitulatif Androïd Tableau 1 : Tableau récapitulatif Blackberry Windows OS PhoneSociété OHA/Google iOS Symbian RIMVersion 4.1.2 10 MicrosoftFamille Linux Apple Nokia Mobile OS 8OS 6.0 3 Windows CELicence Gratuite/Open Darwin Mobile OS Propriétaire 7 Source Propriétaire EULA Certaines sources sont toujours open source.2.2.2.Caractéristiques des différents OS mobiles 2.2.2.1. Androïd Afin de permettre aux développeurs d’accéder facilement à toutes les fonctionnalités,Google met à disposition l’Android SDK, incluant un débugger, les librairies, un émulateur, ladocumentation, des exemples de codes et des tutoriaux. Le SDK est installable sur tous OS(Linux, Mac OS X, Windows XP et supérieur). L’IDE (environnement de développement) officiel est Eclipse, utilisant l’ADT Plugin(Android Developpement Tools). Outre sa communauté de développeurs importante où les ressources sur Internet sontnombreuses, Google a mis en place le site developper.android.com, site riche et complet surtoutes les fonctionnalités d’Androïd, incluant du code pour aider au mieux les développeurs. La structure d’un programme Androïd se repose en deux parties : Fonctionnel : Ecrit en Java. Une application Androïd nécessite une Activity pour pouvoir démarrer. Les Activity sont des composants permettant aux Romain Carroussel – Le développement sous OS mobile Page 23 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE utilisateurs d’interagir avec le programme, ceux-ci ont un cycle de vie bien précis qui sera décrit plus bas. GUI : Pour construire une application Androïd, il faut dessiner impérativement une vue avec l’aide d’un fichier XML. Pour chaque Activity crée doit correspondre un fichier XML. Figure 11 : Cycle de vie d'une application Android Lorsqu’on crée une Activity, il est possible de définir, réguler les opérations àdifférents moments (à la création, au démarrage, à la pause, lors de l’arrêt, lors de ladestruction, lors du redémarrage). Cette architecture est utile pour les développeurs quipeuvent manipuler à souhait toutes les opérations.Romain Carroussel – Le développement sous OS mobile Page 24 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLECi-dessous un tableau de toutes les fonctionnalités gérées par Android : Tableau 2 : Fonctionnalités d'AndroïdStockage SQLite.Connectivité GSM/EDGE, IDEN, CDMA, Bluetooth, Wi-Fi, LTE, NFC et WiMAX.Messagerie SMS, MMS, C2DM servant au Push.Support Java Le programme Java est compilé en exécutable Dalvik et interprété par Dalvik, machine virtuelle crée spécifiquement pour Androïd.Support Media MP4,3GP,AAC,MP3,Midi,OGG,FLAC,WAV,JPG,PNG, GIF,BMP.Streaming Supporte le Flash, RTP, téléchargement progressif de vidéos en HTML.Fonctions Appareil photo/vidéo, GPS, écran tactile, accéléromètre, gyroscope, baromètre, capteurs de proximité, de pression, accélérationFonction Multi- graphique, multitâches, VoIP.touch Uniquement sur certains supports.Navigateur internetGère le Flash ? Intégré avec le moteur de Chrome V8.Gère la JVM ? OuiGère le .Net ? Non Oui grâce à Mono (.Net) mais payant. 2.2.2.2. OS Etant donné que le noyau de l’iOS est divisé en quatre couches, Apple a créé un SDKà la portée des développeurs le divisant lui aussi en quatre parties : Cocoa Touch correspond à toute la partie GUI d’une application développée sous iOS. Développée en Objective-C, suivant un modèle MVC, cette couche permet de gérer les évènements, l’accéléromètre, la localisation, l’appareil photo. Media est la couche permettant tout le traitement de données médias, tels que l’utilisation de moteurs graphiques, gestion audio. Core Services sert à traiter toute la couche de gestion de threads, réseau et base de données embarquée. Mac OS X Kernel correspond aux besoins primaires de l’application, contenant les protocoles TCP/IP, les fichiers systèmes, la sécurité, et la gestion de la batterie.Romain Carroussel – Le développement sous OS mobile Page 25 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Pour développer une application iOS, il faut tenir compte qu’on ne peut développer surune version inférieure à Mac OS X Snow Leopard sous Mac. Windows et Linux ne peuventpas être utilisés pour développer une application iOS. Apple se charge de fournir un IDE propre à Mac OS contenant l’iPhone simulator, quin’est pas un émulateur, mais un programme servant à émuler l’interface d’un iPhone sur lebureau du développeur. Autre inconvénient, il ne démarre pas le code généré pour une cible64 bits. Nouvel inconvénient dans le développement de l’iOS, il faut payer 99$/an à Applepour pouvoir maintenir/mettre à disposition des applications, et sur les revenus générés parune application, 30% reviennent à Apple. Egalement, iOS interdit la lecture par navigateur des technologies Flash et Java. Applese défend que Flash est trop gourmand en ressources et que Java ne respecte pas lesconditions du SDK. 3.3.2 — An Application may not itself install or launch other executable code by any means,including without limitation through the use of a plug-in architecture, calling other frameworks, otherAPIs or otherwise. No interpreted code may be downloaded or used in an Application except for codethat is interpreted and run by Apple’s Documented APIs and built-in interpreter(s). (iOS SDKAgreement) . Comme pour Androïd, iOS peut lire des programmes écrits en .Net grâce auframework MonoTouch développé par l’entreprise Novell. 2.2.2.3. Symbian Pour décrire les caractéristiques de Symbian, je me limiterais à la toute dernièreversion (version 3.0). Pour développer sous Symbian, il existe deux SDK selon la plateformesous laquelle sera développée l’application : Symbian SDK pour Windows, et Nokia Qt pourLinux et Mac OS X. Egalement, pour développer en C++ (langage officiel pour Symbian), ilfaut utiliser un IDE spécifique : Qt Creator. Il est également possible de travailler en Java ME, en Python, .NET, Ruby, Flash Litepour créer une application Symbian.Romain Carroussel – Le développement sous OS mobile Page 26 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Tableau 3 : Fonctionnalités de SymbianStockage SQLite.Connectivité GSM/EDGE, IDEN, CDMA, Bluetooth, Wi-Fi, LTE, NFC et WiMAX.Messagerie SMS, MMS, Push.Support Media MP4,3GP,WMV,MP3,Midi,OGG,FLAC,WAV,JPG,PNG, GIF,BMP.Fonctions Appareil photo/vidéo, GPS, écran tactile, multitâches, VoIP.Fonction Multi-touch Uniquement sur certains portables.Navigateur internet Oui WebKit engine version 7Gère le Flash ? OuiGère la JVM ? OuiGère le .Net ? Oui2.2.2.4. Blackberry OS Actuellement, il existe cinq SDK pour développer sur BlackBerry, mais il faut faire ladifférence entre ceux qui sont pour BlackBerry mobile, et ceux pour la tablette BlackBerry(appelée BlackBerry Playbook) : BlackBerry mobile : Un seul SDK est disponible sur les cinq. Il s’agit du BlackBerry Java. Comme son nom l’indique, il se base sur le langage Java et l’IDE Eclipse, utilisant comme Androïd des émulateurs pour les phases de tests. BlackBerry Playbook : - C/C++ Native SDK : Il permet le développement de jeu, ou de porter du code déjà existant sur Androïd. L’avantage d’un tel SDK est qu’on peut importer des projets directement sur BlackBerry. - Java Androïd Runtime : Package très intéressant pour les développeurs Androïd voulant s’exporter sur BlackBerry. En quelques clics, l’application Androïd se transforme en application BlackBerry. - ActionScript Adobe AIR : La même chose que pour Androïd Runtime. - HTML5 WebWorks : Ce SDK est aussi disponible pour les mobiles, mais a été développé en premier lieu pour le PlayBook. En utilisant du JavaScript, CSS et HTML, ce SDK permet de créer des applications très simplement en utilisant le moteur et les fonctionnalités de BlackBerry.Romain Carroussel – Le développement sous OS mobile Page 27 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Les smartphones BlackBerry s’appuient sur les technologies destinées aux entreprisescomme argument principal de vente, et de différenciation. Par exemple, il est possibled’étendre les environnements de travail de l’entreprise aux BlackBerry comme recevoir endirect la fiche du client avec qui traite le professionnel.2.2.2.5. Windows Phone/Windows Mobile Windows Phone profite de tout l’environnement Microsoft.Net déjà existant pour êtredéveloppé, sans compter qu’il peut s’appuyer sur les différents framework ou technologiesannexes de Microsoft (Silverlight, XNA). Ce qui nous intéressera pour le Windows Phone sont les caractéristiques actuelles,notamment son interface Metro. S’appuyant sur la technologie de Zune HD, celle-ci se basesur une interface minimaliste mettant en avant typographie et iconographie. Etant organiséeen « Hubs », chaque fonctionnalité forme un lien avec les réseaux sociaux que sont WindowsLive, Facebook, et Twitter. Par exemple dans « Photos » seront affichés les photos duportable ainsi que ceux de l’utilisateur Facebook connecté. Le Windows Phone a une volonté d’interconnecter tous les réseaux sociaux et leportable en faisant tout pour que l’utilisateur puisse commenter, échanger directement toutesses informations. Ce qui a été d’ailleurs repris par Apple pour son iOS 5.0. (Microsoft's JoeBelfiore kicks off iOS5 'we did it first' contest, sarcasm meter hits 11, 2011). Egalement, Windows Phone profite de la suite Microsoft Office pour lire tous lesdocuments, et de synchroniser ceux-ci avec Microsoft Skydrive. Tableau 4 : Fonctionnalités de Windows PhoneStockage LINQ to SQLConnectivité GSM/EDGE, HSDPA, HSUPA, Wi-Fi, Bluetooth, GPS, Micro-USBMessagerie SMS, MMS, Push.Support Media MP4,3GP,WMV,MP3,Midi,OGG,FLAC,WAV,JPG,PNG, GIF,BMP.Fonctions Appareil photo/vidéo, accéléromètre, boussole, capteur de luminosité, capteur de proximité, Assisted GPS, radioFonction Multi-touch FM, gyroscope (configuration minimale imposée parNavigateur internet Microsoft)Gère le Flash ? 4 points de 800x480 (WVGA)Gère la JVM ? Internet ExplorerGère le .Net ? Non Non OuiRomain Carroussel – Le développement sous OS mobile Page 28 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.2.6. Tableau récapitulatif Tableau 5 : Tableau récapitulatifSociété Androïd iOS Symbian Blackberry WindowsVersion OS PhoneFamille OS OHA/Google Apple Nokia RIM MicrosoftLicence 4.1.2 6.0 3 10 8 Linux Darwin Mobile OS Mobile OS Windows CE 7Langage Gratuite/Open EULA Certaines Propriétaire Propriétaire Source sources sont Objective-C toujours open Java .Net + Java source. Framework C++,Qt (XNA, Silverlight)IDE Eclipse Xcode Qt Creator Eclipse Visual Studio 2010Développable Linux, Mac OS Mac OS X Linux, Mac Linux, Mac Windowssur X, Windows (Snow Os X, OS X, Leopard et Windows Windows OuiVoIP Oui plus) Oui Oui (ou par Oui Windows Store Skype)Plateforme Google Play App Store Nokia suite App Worldd’applications 2.2.3.Evolutions prévues 2.2.3.1. Androïd Une nouvelle version de Jelly Bean (4.3) serait prévue en Août 2013. Aucuneinformation n’a encore filtré concernant les prochaines nouveautés. (PCImpact, 2013) Romain Carroussel – Le développement sous OS mobile Page 29 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.3.2. iOS A l’heure actuelle, il est prévu une nouvelle version d’iOS en version 7 pour Automne2013. Aucune information en a filtré, des rumeurs circulent sur le changement d’interface.1 L’AppleTV sera traitée dans le sous-chapitre 2.2.4.2. Ayant parlé de domotique pour Androïd, l’iOS n’est pas en reste. Au Japon, unesociété, Glams Inc., a conçu un boitier permettant de prendre à distance le contrôle d’appareilsménagers ou électroniques à partir d’un terminal iOS. Ce boîtier, raccordé à internet, permetd’imiter les fréquences infrarouges des télécommandes de chaque appareil. Ainsi, via uneinterface web sur le site de cette entreprise, il est possible modeler soi-même l’interface deson application pour contrôler au mieux ses propres systèmes. 2.2.3.3. Symbian Le flou entourant Symbian empêche de tirer des conclusions sur les évolutionspossibles de cet OS mobile, à cause de déclarations contradictoires entourant Nokia. Ladernière version Nokia Belle (appelée au départ Symbian Belle) équipée sur trois smartphonesde Nokia (603, 700, 701) laisse présager que l’OS a peut-être encore de l’avenir devant lui,suivant les chiffres. 2.2.3.4. Blackberry OS Aucune nouvelle version n’est annoncée publiquement. Seuls les quatre SDK destinés au PlayBook persistent, dont les principales applicationsseront développées en HTML/Javascript, C/C++, Androïd et Flash AIR.1 http://www.journaldugeek.com/2013/05/24/ios-7-rumeurs/ Page 30 sur 74 Romain Carroussel – Le développement sous OS mobile
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.3.5. Windows Phone/Windows Mobile La dernière mise à jour de Windows Phone, appelée Apollo, est sortie courantautomne 2012. Certaines fonctionnalités principales qui vont être détaillées sont à mettre auconditionnel car elles ne sont pas encore toutes validées par Microsoft. - Support des processeurs multi-cœurs* - Support des différentes résolutions d’écrans - Ajout du NFC, en incluant le partage avec les machines équipées de Windows 8.* - Simplification du portage d’application de bureau vers des applications mobiles. - Intégration approfondie de Skydrive, incluant la synchronisation des données.* - Simplification du portage d’application Androïd et iOS vers Windows Phone. 2.2.3.6. Tableau récapitulatif Tableau 6 : RécapitulatifSociété Androïd iOS Symbian Blackberry WindowsVersion OS PhoneFamille OS OHA/Google Apple Nokia RIM MicrosoftLicence 4.1.2 6.0 3 10 8 Linux Darwin Mobile OS Mobile OS Windows CE 7Langage Gratuite/Open EULA Certaines Propriétaire Propriétaire Source sources sont Objective-C toujours open Java .Net + Java source. Framework C++,Qt (XNA, Silverlight)IDE Eclipse Xcode Qt Creator Eclipse Visual Studio 2010Développable Linux, Mac OS Mac OS X Linux, Mac Linux, Mac Windowssur X, Windows (Snow Os X, OS X, Leopard et Windows Windows OuiVoIP Oui plus) Oui Oui (ou par Oui Windows Store Skype)Plateforme Google Play App Store Nokia suite App World ?d’applications 4.3 (Jelly Bean) iOS 7 ? ?Prochaineversion Romain Carroussel – Le développement sous OS mobile Page 31 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEDate de sortie Août 2013 Automne ? ? ? 20132.2.4.Portabilité2.2.4.1. Androïd L’un des avantages d’Androïd est sa portabilité. En effet, de nombreux constructeursont choisi de faire fonctionner leurs portables avec Androïd plutôt qu’avec un autre OS, carses multiples versions permettent de s’adapter aux ressources dont disposent les téléphones.De plus, le fait d’être l’OS officiel de l’OHA lui confère la priorité d’être installé sur le plusgrand nombre de supports. Outre les smartphones et les tablettes, Androïd s’implémente sur les E-readers,Netbooks, lecteurs MP4, radios, lunettes de ski, box pour télévisions, Google TV. En 2012,une console de jeu nommée EVO 2 sortira avec Androïd 2.3.4 installé. Très récemment, en avril 2013, Google a mis en tests les premières Google Glass,lunettes intégrant Androïd et toutes les fonctionnalités d’un smartphone. 2.2.4.2. iOS Conformément à la politique d’Apple, aucun autre produit que ceux d’Apple ne peutsupporter l’installation de l’iOS. C’est pourquoi, l’iOS est très restrictif en termes deportabilité sur les supports, et il faut donc attendre qu’Apple décide de porter l’iOS sur teltype de supports. 2.2.4.3. Symbian Au départ OS sur de nombreux mobiles de Sony Ericsson et Nokia, il n’estaujourd’hui disponible que sur trois smartphones de Nokia. Les droits exclusifs de Nokia surcet OS laissent présager, comme pour Apple, que la portabilité ne sera que très limitée dansun futur prochain. 2.2.4.4. Blackberry OS BlackBerry s’appuie sur une solution pour les professionnels, et reste majoritaire chezcette tranche de population. Néanmoins, la société commence à se positionner sur le marchédes tablettes avec la sortie de sa première tablette nommée PlayBook. Malheureusement,celle-ci fut critiquée dès sa sortie. (Test BlackBerry PlayBook, 2011).Romain Carroussel – Le développement sous OS mobile Page 32 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.4.5. Windows Phone/Windows Mobile Windows Phone est un OS exclusivement mobile, mais qui se développe en étroitecollaboration de Windows 8. Il est donc important de ne pas oublier que Microsoft va lancerWindows 8 en automne 2012, disponible sur PC et tablettes partenaires de Microsoft, utilisantl’interface graphique Metro, donc faisant de toutes applications développées sur WindowsPhone compatible Windows 8.2.2.4.6. Tableau récapitulatif Androïd Tableau 7 : Récapitulatif Blackberry Windows OS Phone iOS Symbian RIM Microsoft 10 8Société OHA/Google Apple Nokia Mobile OS Windows CE 7Version 4.1.2 6.0 3 Propriétaire PropriétaireFamille OS Linux Darwin Mobile OSLicence Gratuite/Open EULA Certaines Java .Net + Source sources sont FrameworkLangage Objective-C toujours open (XNA, Java source. Silverlight)IDE C++,Qt Visual Studio 2010Développable Eclipse Xcode Qt Creator Eclipse Windowssur Linux, Mac OS Mac OS X Linux, Mac Os Linux, Mac OuiVoIP X, Windows (Snow X, Windows OS X, Leopard et WindowsPlateforme Oui plus) Windows Stored’applications Oui ?Prochaine Oui (ou par Ouiversion Google Play App Store Skype) App World ?Date de sortie Nokia suite PC, Tablettes,Supports 4.3 (Jelly iOS 7 ?? Smartphones Bean) Août 2013 Automne ?? 2013 Tous Tous Smartphones Smartphones, supports uniquement. tablettes Apple Romain Carroussel – Le développement sous OS mobile Page 33 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.5.Avantages et défauts 2.2.5.1. Androïd L’avantage d’Androïd est son principal défaut : en effet, sa portabilité énorme ainsique le nombre de périphériques utilisant l’OS de Google fait de lui un OS extrêmementpopulaire, et accessible. Cependant, pour développer sous Androïd, il faut prendre en comptechaque version d’OS, chaque périphérique différent pouvant utiliser l’application, chaquerésolution d’écran, etc… Ceci faisant des tests une charge extrêmement lourde et pénible. Ilexiste des solutions pouvant corriger et atténuer ce problème comme Robotium, permettant letraitement rapide et automatique de tests unitaires. L’autre avantage d’Androïd est qu’il est depuis quelque temps premier sur le marchédes OS mobiles (nous étudierons ceci dans 2.2.7), donc représentant un marché très fort avecun catalogue conséquent d’applications, dont un très fort pourcentage sont gratuites.Cependant, pour se faire une place sur le marché, il faut réellement innover tant il y ad’applications dans tous les domaines. S’appuyant sur toutes les solutions Google (Maps, Documents, etc…), c’est le pointd’orgue d’Androïd facilitant ainsi l’utilisation de toute une série d’applications liées entreelles au quotidien. 2.2.5.2. iOS iOS est un OS stable, fluide, bénéficiant de l’expérience de Mac OS X et de latechnologie d’Apple dans ce domaine. Le fait qu’Apple choisisse les applications pouvant êtremise à disposition sur son marché prouve qu’il y a une exigence de qualité demandée (par sesclients) contrairement à Androïd où n’importe quel développeur peut mettre son applicationen ligne (application parfois non terminée, ou buguée). Apple a fait en sorte que tout produit Mac s’intègre parfaitement les uns avec lesautres, et soit compatible avec iTunes. Cependant, cette rigidité imposée par Apple fait que certains ne peuvent pas pousserplus loin dans l’exploitation du téléphone. Il faut donc s’adapter à ces conditions extrêmementbloquantes afin de pouvoir s’intégrer au marché d’Apple. (obligation de développer sous Mac,de payer pour être visible sur l’App store). Autre inconvénient, il est possible pour l’iOS d’être « jailbreaké », c’est-à-dire d’êtrepiraté, pour que les applications sensées être payantes deviennent gratuites. Ceci peutreprésenter un manque à gagner non conséquent pour une entreprise.Romain Carroussel – Le développement sous OS mobile Page 34 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.5.3. Symbian Symbian n’est hélas pas un OS mobile dans lequel il faudra miser à l’avenir à cause denombreux retards en termes d’innovation, de politiques marketing et développement confuses.Beaucoup de critiques ont été formulées, dont la faiblesse de sécurité par l’apparition denombreux virus, dont les plus connus sont Cabir, Drever.A, Locknut.B, Mabir.A, Fontral.A,ou par le hacking des systèmes fonctionnant sous Symbian OS 9. Les constructeurs, tels que Sony Ericsson, faisant partie du projet Symbian au départl’ont abandonné au profit d’Androïd. 2.2.5.4. BlackBerry OS BlackBerry OS est catégorisé comme OS mobile pour professionnel, leur apportant unréel plus. En dépit des efforts de RIM d’améliorer son image auprès des autres catégories depopulation, BlackBerry reste dans les esprits un smartphone orienté professionnel. En terme de développement, il bénéficie dans de SDK riches, où il est possibled’intégrer toutes ses applications Androïd, C/C++, HTML ou Flash. 2.2.5.5. Windows Phone/Windows Mobile S’appuyant sur toutes les technologies Microsoft (.NET, XNA, Silverlight, Office), ilsemblerait que le géant américain souhaite revenir fort sur les marchés smartphones, arguantcomme principal argument toutes les nouvelles fonctionnalités, l’interconnexion avec lesréseaux sociaux, et les nouveaux systèmes hébergeant Windows 8. Le problème est que l’hypothèse du développement et de l’expansion des WindowsPhone reste à l’état d’hypothèse. Tout dépendra de l’évolution du marché.Romain Carroussel – Le développement sous OS mobile Page 35 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.2.6.Tableau de synthèse Tableau 8 : Tableau de synthèse Androïd iOS Symbian Blackberry Windows OS PhoneSociété OHA/Google Apple NokiaVersion 4.1.2 6.0 3 RIM MicrosoftFamille OS Linux Darwin Mobile OS 10 8Licence Gratuite/Open EULA Certaines Mobile OS Windows CE 7 Source sources sont Propriétaire Propriétaire toujours openLangage Java Objective-C source. Java .Net + C++,Qt FrameworkIDE Eclipse Xcode Eclipse (XNA, Qt Creator Linux, Mac OS Silverlight)Développable Linux, Mac OS Mac OS X X, Windows Visual Studiosur X, Windows (Snow Linux, Mac 2010 Leopard et Os X, WindowsVoIP Oui plus) Windows Oui Oui Oui Oui (ou parPlateforme Google Play App Store Skype) App World Windows Stored’applications Nokia suiteProchaine 4.3 (Jelly iOS 7 ??version Bean) ?Date de sortie Août 2013 Automne ?? 2013 ?Supports Tous Tous Smartphones, PC, Tablettes, supports SmartphonesPrincipaux Marché Apple uniquement. tablettes Smartphonesavantages énorme, Marché s’appuie sur les conséquent, ? Destiné à des S’appuie surPrincipaux technologies OS stable professionnels, toutes lesdéfauts Google, OS SDK nombreux technologies innovant Rigidité pratiquement et riches. Microsoft Trop de imposée par mort, peu périphériques Apple, OS sécurisé, Destiné à des Faible différents, jailbreakable politique professionnels représentation phases de tests hasardeuse sur le marché longues. Romain Carroussel – Le développement sous OS mobile Page 36 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE2.2.7.Le marché actuel des OS mobilesFigure 12 : Evolution des parts de marché des OS mobiles dans le monde (pour les smartphones) 2Figure 13 : Evolution des parts de marché des ventes de smartphones en France2 http://www.frandroid.com/le-monde-de-la-mobilite/130100_parts-de-marche-smartphone-windows-phone-en-nette-progressionRomain Carroussel – Le développement sous OS mobile Page 37 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 3Figure 14 - Répartition des parts de marché mondiales des OS au premier quadrimestre 2013OS mobile Part de marché au Evolution depuis Q3 Ventes au Q1 2013 Q3 2011 2011Androïd 74.4 %Symbian 53 % + 51% 0.6 %iOS 17 % - 32% 18.2%BlackBerry 15 % + 4% 3.0 %OS 21 % - 10%MicrosoftAutres 11 % - 8% 2.9 % 1.0 % 8% -6% Tableau 9 : Synthèse des parts de marchés des smartphones A partir de ces études, on peut constater qu’un smartphone sur deux fonctionnesous Androïd ! Ce qui confirme l’expansion au niveau mondial de cet OS depuis plus dedeux ans (+51% de parts) et qui continue sans cesse de se positionner en tant que leaderincontesté comme l’en atteste sa domination au Q1 2013 et ses 74.4 % de ventes. En France, la statistique se vérifie également. Cependant depuis début 2013, unebaisse des ventes a été observée au profit d’iOS, Windows Phone et Blackberry OS 10. Cesdeux derniers OS essaient de grappiller des parts de marchés aux deux leaders en se proposantcomme des alternatives. Nous nous limiterons à deux framework : Rhodes et PhoneGap. La liste exhaustive sesitue ici : http://www.markus-falk.com/mobile-frameworks-comparison-chart/3 http://www.ibtimes.com/android-powers-almost-75-all-smartphones-sold-q1-2013-samsung-gains-highest-market-share-308-says Romain Carroussel – Le développement sous OS mobile Page 38 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 2.3. Les alternatives de développement unifié 2.3.1 Rhodes Rhodes est un framework MVC open-source, basé sur le langage Ruby, sous licencedu MIT afin de créer rapidement des applications natives pour les principaux OS mobiles(iOS, Androïd, BlackBerry OS, Windows Phone 7), c’est-à-dire qu’il permet de gérer lescaractéristiques du téléphone (GPS, Bluetooth, Contacts, Calendrier, etc…). Son fonctionnement est basé sur la création de pages HTML et le CSS pour la mise enforme, intégrant du code Ruby on Rails (un équivalent du PHP pour la création de sites web),et faisant intervenir des classes Ruby. Le framework contient un interpréteur Ruby permettantde comprendre les données envoyées (en JSON ou XML), de les transmettre au RhoSyncServer (via le RhoSync Client) qui communique avec la base de données. L’interface de développement (IDE) est RhoHub, qui est hébergée sur le net et quipermet le cloud-computing (l’accès à distance par plusieurs personnes en même temps, viades comptes personnels) : idéal pour le travail en équipe mais payant. Une version gratuite estdisponible mais ne permet que peu de choses. Figure 15 : Architecture du Framework Rhodes Points forts de Rhodes : o Compatibilité des OS : quatre plateformes-mobile supportées o Robuste et facile à prendre en main : l’environnement du framework est similaire au mode de développement client-serveur classique.Romain Carroussel – Le développement sous OS mobile Page 39 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE o Des APIs riches : afin de traiter, gérer les données. o L’extensibilité du framework via les extensions natives Points faibles de Rhodes : o La performance : Embarquer le framework Rhodes, une VM Ruby, et un serveur web simplifié a un impact sur les performances, principalement au démarrage de l’application. o L'expérience utilisateur : malgré la possibilité d’intégrer des librairies JavaScript pour l’interface (jQTouch, jQuery Mobile...), le rendu d’une application Rhodes ne sera pas celui d’une application native. o Pas de débuggeur, sauf pour Mac OS X. 2.3.1. PhoneGap PhoneGap est un framework JavaScript/HTML 5 qui permet aux développeurs deconcevoir des applications mobiles hybrides (et non plus natives !) en JavaScript, HTML etCSS pouvant exploiter les principales fonctionnalités et ressources (géolocalisation,accéléromètre, etc.) des plateformes mobiles. Depuis le rachat par Apache Foundation,PhoneGap s’appelle aussi Apache Callback. Le principal objectif de cet outil est de fournir aux développeurs un moyen deconstruire des applications sur une seule plateforme et les déployer sur n’importe quelappareil mobile (Windows Phone, iOS, Android, etc.). Il se démarque de Rhodes par sa gratuité, et le fait qu’il n’utilise pas d’interpréteurRuby, simplement HTML, CSS et JavaScript, et utilise le SDK natif de la plateforme cible.Romain Carroussel – Le développement sous OS mobile Page 40 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Figure 16 : Architecture de Phone GapLes avantages de PhoneGap sont nombreux : Le développement s'effectue en HTML, CSS et JavaScript, des langages très diffusés Aucune phase de génération de code pouvant complexifier ou ralentir les développements Beaucoup de tutoriels sont disponibles sur Internet. Unification de l'API d'accès aux ressources matérielles des téléphones (accéléromètre, géolocalisation, appareil photo, etc.) Aucune restriction d'accès à l'Apple Store et ceci même quand Apple avait durci son règlement en interdisant les applications développées avec d'autres technologies que celles prévues par lui.Il existe toutefois quelques inconvénients à PhoneGap : Il n'est pas possible de debugger le JavaScript car il n'y a aucun accès au moteur JavaScript des émulateurs. Le JavaScript reste un langage possédant quelques lacunes (typage faible, syntaxe parfois exotique, erreurs peu parlantes, etc.) ce qui peuvent ralentir les développements, à fortiori quand le debug est impossibleRomain Carroussel – Le développement sous OS mobile Page 41 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE3. Investigations 3.1.1.Explication de la démarche Cette partie permet de vérifier, regrouper les informations obtenues dans l’état de l’art.Ces investigations permettront de répondre aux problématiques, d’affirmer ou d’infirmer leshypothèses émises en début de thèse. J’ai décidé de partir sur deux démarches : la première étant d’appuyer ma thèseprofessionnelle par mes expériences en stage et mes projets personnels dans le développementmobile. La deuxième est d’effectuer un sondage auprès de développeurs, ou de simplesusagers de technologie mobile afin de confronter les statistiques relevées précédemment. Pour le sondage, il sera tenu compte de plusieurs critères : - La tranche d’âge - La situation professionnelle - La connaissance du monde de la programmation 3.1.2.Expérience personnelle Au cours de mon cursus scolaire à l’EXIA, j’ai effectué deux stages en relation avec ledéveloppement mobile. Pour chacun d’entre eux, j’ai eu l’occasion de me confronter àcertaines hypothèses émises, et à la problématique de cette thèse. Stage Mai 2010 – Entreprise Livespot L’entreprise Livespot développe des solutions et des outils pour le spectacle vivant ets’adresse plus particulièrement aux tourneurs (métier s’occupant d’agencer les dates deconcerts). Le but du stage était de réaliser une étude et un prototype d’application mobile deréférencements de spectacles. L’application devait permettre à son utilisateur de rechercher (par ville, parlocalisation GPS, par date, par type) des spectacles et si possible de les ajouter à son agenda. En préambule du stage avait été réalisée par l’entreprise une étude de marché afin desavoir si une application du même domaine avait été publiée. En début de stage, les problématiques imposées ont été : « Quel système d’exploitationmobile choisir ? Existe-t-il des moyens de développer une seule fois pour tous les systèmesd’exploitation ?». La première mission qui m’a été confiée était de répondre à ces questions,en sachant que mon tuteur souhaitait que l’application soit présente sur au moins deuxsystèmes différents. La première étude avait isolé deux hypothèses : - Développement multi-supports : Framework Rhodes (Phonegap étant peu connu et à ses prémices, il n’avait pas été retenu)Romain Carroussel – Le développement sous OS mobile Page 42 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE - Développement natif : Androïd puis iOS.Hypothèses Avantages InconvénientsFramework Rhodes Un seul développement Technologie Ruby non maîtrisée, Performance moindre, peu de documentationDéveloppement natif Performance native, langage Temps de développement JAVA et Objective-C doublé Tableau 10 : Tableau comparatif Rhodes/Développement natif De plus, il fallait prendre en compte la performance des futurs supports qui n’avaientpas les mêmes caractéristiques qu’aujourd’hui. Pour comparer les deux hypothèses, un tableau comparatif avait été dressé pourévaluer principalement : - Le langage de développement - La prise en compte des différentes fonctions du téléphone (GPS, Wifi, mémoire interne/externe, Bluetooth, etc…) - La présence de documentation - La procédure de publication de l’application L’hypothèse retenue a été celle du développement natif après quelques tests duFramework Rhodes principalement pour des raisons de complexité technique. L’étude des OSn’a pas été réalisée, celle-ci ne semblait pas indispensable puisque l’application devait êtreprésente sur les leaders du marché. Cependant pour le stage, seul le prototype sur Androïd a pu être réalisé puisquel’entreprise ne possédait pas de Mac OS et l’ordinateur de travail n’était pas assez puissantpour travail sur une machine virtuelle de Mac. Conclusion Cette première expérience en entreprise a donné quelques éléments de réponse surl’attitude à adopter vis-à-vis des problématiques posées dans cette thèse. Lorsqu’on souhaitefaire du multi-support il serait plus intéressant en premier lieu de définir un systèmed’exploitation cible afin de réaliser un prototype pour ensuite s’intéresser aux autres systèmes.Nous verrons ensuite si cette affirmation se révèle exacte. Egalement, on peut déjà inclure le tableau comparatif dans la boîte à outils d’aide à ladécision auquel on peut ajouter les variables suivantes : langage de développement, fonctionsdu téléphone, documentation riche, procédure de publication.(liste qui sera complétée par lasuite de cette thèse). Romain Carroussel – Le développement sous OS mobile Page 43 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Stage Février 2013 – Entreprise Studec L’entreprise Studec est spécialisée dans l’ingénierie documentaire, c'est-à-dire qu’elleproduit, réalise, traduit de la documentation technique principalement dans le domaine del’aéronautique. En parallèle, elle possède un pôle informatique qui développe des solutionsadaptées à ses clients, dont un outil de publication et de visualisation de documentationtechnique. Le but du stage est de réussir à adapter l’outil de visualisation de documentationtechnique sur tablette tactile. La charge qui m’a été confiée en début de stage fut de réaliser une étude de portabilité.Celle-ci doit permettre de choisir le système d’exploitation cible ainsi qu’aborder laproblématique du développement multi-OS. On m’a soumis cependant quelques contraintesqui ont aiguillé les recherches et les outils : - Il faut établir des critères et des indicateurs - L’application devra être fluide et ergonomique, disponible en mode déconnectée et devra pouvoir se connecter à un serveur - L’application doit lire la documentation technique - Pas de contraintes de temps, ni de coûts En préambule, une analyse de la valeur a été réalisée et il a été défini des critèresd’exigences pour l’application. Pour mener l’étude, j’ai isolé cinq indicateurs et leur ai affecté une échelle de 1 à 4 queje répertorie pour chacun des éléments de l’étude dans un tableur Excel. Ceci a pour but dedéduire un radar (voir Figure 17 : Exemple de radar). Cet outil est utile en complément dutableau comparatif, car il permet de visualiser graphiquement les points forts et les pointsfaibles de chaque solution.Voici les cinq critères retenus : Le critère « Performance » mesure la solution vis-à-vis des critères de validationformulés pour chaque fonction.Note Description 1 La solution ne répond pas aux critères de validations. 2 La solution égale ou est légèrement inférieure des critères de validations. 3 La solution surpasse les critères de validations. 4 La solution surpasse les critères de validations, ainsi que les solutions concurrentes. Tableau 11 : Critères d'évaluations de performance Romain Carroussel – Le développement sous OS mobile Page 44 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLELe critère « Technique » évalue la dimension technique de la solution.Note Description 1 La solution est complexe, demande une analyse poussée, et requiert un 2 3 temps démesuré. La solution est complexe, demande du temps de mise en œuvre. 4 La solution est simple d’implémentation et demande du temps de mise en œuvre. La solution est simple d’implémentation et rapide à mettre en œuvre. Tableau 12 : Critères d'évaluations techniqueLe critère « Financier » comprend le coût représenté par la solution (logicielle ou matérielle).Note Description 1 La solution présente une version uniquement payante. 2 La solution présente une version d’essai limitée dans le temps. 3 La solution présente une version gratuite limitée en fonctionnalités. 4 La solution présente une version complète gratuite. Tableau 13 : Critères d'évaluations économiques Le critère « Documentation » recense la qualité et la quantité de la documentation présentesur internet. Cela comprend la documentation du constructeur, les tutoriaux, et les forums.Note Description 1 La solution présente peu ou pas de documentation. Pas de tutoriaux, solution peu usitée. 2 La solution présente une documentation mais complexe. Peu ou pas de tutoriaux et d’articles. 3 La solution présente une documentation claire. Quelques tutoriaux et forums abordent la solution. 4 La solution présente une documentation construite. De nombreux forums et tutoriaux abordent la solution. Tableau 14 : Critères évaluations de la documentation disponibleLe critère « Evolution » mesure la facilité de la solution à être amélioréeNote Description 1 2 La solution est obsolète. La solution n’est pas évolutive ou présente des incertitudes majeures sur 3 son évolution. La solution n’est pas évolutive ou présente des incertitudes mineures sur 4 son évolution ou les librairies ne se mettent pas à jour seules. La solution est évolutive (présence de mises à jour nombreuses et stables) Tableau 15 : Critères d'évaluations évolution Romain Carroussel – Le développement sous OS mobile Page 45 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Développement multi-support Documentatio Performance Financier n 4 3 Développement natif 2 Développement unifié 1 Technique Evolution Figure 17 : Exemple de radarRésultats de l’étude La première partie de l’étude a concerné la problématique du développement multi-support. Tout d’abord en comparant deux frameworks de développement unifié se basant surla technnologie HTML5 : PhoneGap/Apache Cordova et Titanium.Framework Apache Cordova Titanium AppceleratorPerformance Note Commentaires Note Commentaires 2 Entre une et deux secondes 2 Entre une et deux secondesFinancier 4 Gratuit 4 GratuitEvolution 3 Ne se met pas à jour 4 Se met à jour grâce à son automatiquement IDETechnique 2 Attention au JavaScript 1 Attention au JavaScript, utilise leur propre API JSDocumentation 4 Documentation riche (+ 4 Documentation riche (+ HTML/JS) HTML/JS) Tableau 16 : Comparatif PhoneGap/Titanium Romain Carroussel – Le développement sous OS mobile Page 46 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE Etude frameworks de développement unifié Apache Cordova Titanium Appcelerator Documentation Performance Financier 4 3 2 1 Technique Evolution Figure 18: Radar comparatif PhoneGap/Titanium L’étude réalisée sur les deux frameworks montre que ceux-ci sont quasimentidentiques dans pratiquement tous les critères. La seule différence notoire entre les deux estl’utilisation d’un SDK propriétaire pour Titanium et l’ajout d’une libraire pour ApacheCordova. A partir de cette enquête, il a été mené une étude sur la différence développementnatif/développement unifié. Le but étant d’afficher le plus rapidement des documents de typeHTML. Des tests ont été réalisés sur un smartphone Androïd (en version 4.0) avec les deuxméthodes. Par exemple, voici les résultats trouvés pour le projet sur lequel j’ai été affecté :Avantages développement unifié Désavantages développement unifiéCode réutilisable Performances moindresIntégration de plugins (Jquery) Ne supporte pas toutes les fonctionnalités du téléphone (doit être mis à jour)Avantage aux web développeurs (une seule A l’exception de Cordova, il faut utiliser l’IDEtechnologie) propriétaire.Réduit les coûts de développement Utilisation de JavaScript propriétaire.Déploiement facile Pas de débuggage JavaScript Tableau 17 : Avantages/Défauts développement unifiéAvantages développement natif Désavantages développement natifPerformances élevées Code utilisable que pour une technologie (pas toujours Androïd 2.3 > Blackberry OS)Utilisations de frameworks, librairies Augmente les coûts de développementsimplifiant le développement (ORM, etc...) Romain Carroussel – Le développement sous OS mobile Page 47 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLEEvolutif Temps de développement plus longDéploiement rapideDébuggage facile par consoleUtilisation de webviews Tableau 18 : Avantages/Défauts développement natifFramework Développement natif Développement unifiéPerformance Note Commentaires Note Commentaires 4 Moins d'une seconde 2 Entre une et deux secondesFinancier 4 Gratuit 4 GratuitEvolution 4 Pas d'impact sur le projet 4 Pas d'impact sur le projetTechnique 3 Une bonne analyse est 2 Attention au JavaScript (pas de débug) nécessaire 4 Documentation richeDocumentation 4 Documentation étoffée Tableau 19 : Tableau comparatif développement natif/unifié Etude développement natif/unifé Performance 4 3Documentation 2 Financier 1 Développement natif Développement unifié Technique Evolution Figure 19 : Radar comparatif développement natif/unifié Pour la suite du projet, n’ayant ni contraintes de temps, ni de budget, ni d’obligations àêtre sur plusieurs OS, le développement natif a été choisi. C’est le critère performance qui aprévalu dans le choix final puisque le développement natif propose un affichage inférieur àmoins d’une seconde sur un périphérique Androïd. Romain Carroussel – Le développement sous OS mobile Page 48 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 3.1.3.Sondage 3.1.3.1. Démarche Par le biais du sondage, on veut obtenir ou vérifier les informations suivantes : - Le pourcentage d’études réalisées (pour choisir la cible du développement mobile) avant d’effectuer le développement sur mobile. - Les critères importants lors du choix du système. - Les outils comparatifs retenus pour l’étude. - Le pourcentage de développeurs ayant déjà travaillé sur des projets mobiles - Le pourcentage de développeurs qui aimeraient travailler dans ce domaine. - Les raisons qui motivent à ne pas réaliser une étude - Ce qu’aurait amené une étude si elle n’a pas été faite, et mesurer son impact en termes de bénéfices - Le système d’exploitation qui va être privilégié par les développeurs pour réaliser leur prochaine application mobile. Une deuxième partie du sondage (adressée également aux non-développeurs) vamesurer : - La part de marché actuelle des systèmes d’exploitation mobiles sur smartphones et sur tablettes. - L’application qui est faite du smartphone. - Les avantages/inconvénients d’une tablette tactile par ceux qui en possèdent une. - Les inconvénients d’une tablette tactile par ceux qui n’en possèdent pas. - Le pourcentage de sondés qui aimeraient utiliser les dispositifs mobiles dans leur travail et l’utilisation qui en serait faite. Cette dernière information ne sera pas diffusée à travers ce sondage puisqu’il s’agitd’informations commerciales.Romain Carroussel – Le développement sous OS mobile Page 49 sur 74
Romain CARROUSSEL – THESE PROFESSIONNELLE 3.1.3.2. Interprétation des résultats Le sondage a été réalisé avec Google Form et est disponible à cette adresse :https://docs.google.com/forms/d/1PLmT2O6JoGCM5ifiDEWCfCuwcJSdL9F-sOWg-NbyOSQ/viewform Plus de 100 personnes y ont répondus, dont 74% sont compris entre 20-29 ans. moins de 20 ans 18 18 % 20-29 ans 75 74 % 30-39 ans 5 5% 40-49 ans 2 2% 50-59 ans 0 0% Plus de 60 ans 1 1 %Figure 20 : Répartition en âge des sondés Majoritairement, ce sont des étudiants ou des jeunes salariés qui y ont répondu dont 83% ont déjà été initié à la programmation. Collégien, Lycéen 6 6 % Etudiant 79 78 % Salarié 14 14 % Travailleur indépendant 1 1 % Retraité 0 0% Autre 1 1%Figure 21 : Répartition des professions des sondés Oui 84 83% Non 17 17% Figure 22 : Répartition des développeurs Enquête mobile – Développement mobile A la question « Avez-vous déjà développé une application pour smartphones,tablettes ? », seuls 39% en ont déjà développé. Sur les 61% qui n’ont jamais programmé surdispositifs mobiles, 63% seraient intéressés pour créer une application mobile.Romain Carroussel – Le développement sous OS mobile Page 50 sur 74
Search