NFA022 : Programmation des smart-phones et tablettes tactiles



Documents pareils
J2ME. Développement d applications Java pour terminaux mobiles - 1 -

La technologie Java Card TM

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Machine virtuelle Java pour Palm TX

Point sur les solutions de développement d apps pour les périphériques mobiles

Vulgarisation Java EE Java EE, c est quoi?

WINDOWS Remote Desktop & Application publishing facile!

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015

La carte à puce. Jean-Philippe Babau

Android. Présentation d Android. Florent Garin

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Recommandations techniques

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE

Poste virtuel. Installation du client CITRIX RECEIVER

Encadré par : Michel SIMATIC

Optimiser pour les appareils mobiles

Programmation d'applications sur PDA

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

De l authentification au hub d identité. si simplement. Présentation OSSIR du 14fev2012

DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»

Java - la plateforme

Administration de systèmes

MMSCam. Travail de diplôme Pilotage à distance d un téléphone MMS. Département d électricité et d informatique. Auteur : Jeanmonod David

Java Licence Professionnelle CISII,

Atelier numérique. Développement économique de Courbevoie. Internet / Extranet / Mobilité : Prospection et Support d'aide à la vente

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Fonctions. Solution professionnelle pour le stockage de données, la synchronisation multi- plateformes et la collaboration

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

LA MOBILITE : ACTEURS, OUTILS,

Applications smartphones : enjeux et perspectives pour les communautés de l'eglise Catholique. Application Smartphone 1

Environnement Zebra Link-OS version 2.0

Exigences système Edition & Imprimeries de labeur

Didier Perrot Olivier Perroquin In-Webo Technologies

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Comment choisir sa tablette?

Chapitre 1 Retour en arrière

Comment paramétrer manuellement mon mobile pour accéder à la 2G/3G+ et configurer mes s?

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Cours 3 : L'ordinateur

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Environnements de développement (intégrés)

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Les supports de lecture et les formats des livres numériques JDD

Guide d installation JMap 5.0

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Pc Portable ou Tablette tactile?

Exigences système Edition & Imprimeries de labeur

Environnement Zebra Link-OS version 2.0

COMMENT CRÉER UNE APPLICATION MOBILE?

Guide d utilisation. Version 1.1

CREER UNE APPLICATION MOBILE

Wonderware Mobile reporting

as Architecture des Systèmes d Information

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

LES OUTILS DE LA MOBILITE

Panorama de l offre et des usages des tablettes

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung

12 novembre 2012 Montauban MOBILITÉ, APPLICATIONS ET SITES MOBILES

1. Installation standard sur un serveur dédié

Prise en compte des ressources dans les composants logiciels parallèles

LOGO Smartphones, tablettes, et autres gadgets quel impact sur notre métier d ASR

Comprendre les outils mobiles

Comment télécharger et

Page : N 1. Guide utilisateur Ma Banque

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

GASP: un intergiciel pour les jeux en réseaux multijoueurs sur téléphones mobiles

MailStore Server 7 Caractéristiques techniques

Une introduction à Java

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

FileMaker Server 14. Guide de démarrage

Les Fondements du langage Java & son évolution actuelle.

Linux embarqué: une alternative à Windows CE?

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Catalogue des stages Ercom 2013

Tutoriel pour la configuration des ipad et son «rattachement» au CG

Configuration Matérielle et Logicielle AGORA V2

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

LA DIVERSITE DES SUPPORTS ANDROID

Manuel d'installation et de déploiement. Sécurité complète pour portables d entreprise

Déploiement d applications Java ME

Xavier Costa. «Write once, run anywhere»

App vs. WebApp Best Of Mobile 5 avril 2012

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

LES TABLETTES : GÉNÉRALITÉS

Sans trop entrer dans les détails, la démarche IO Model consiste à : Pour cela, Microsoft découpe la maîtrise de l infrastructure en quatre niveaux :

MDM : Mobile Device Management

Manuel d installation de l application Dimona New via SMS

LOUVAIN SCHOOL OF MANAGEMENT

L intelligence intégrée et connectée au cœur de vos projets. Dossier de presse

LES OBJETS CONNECTES

Remote Method Invocation (RMI)

Le touristonaute en mobilité

Transcription:

NFA022 : Programmation des smart-phones et tablettes tactiles Jean-Ferdy Susini! Maître de Conférences - CNAM! Département Informatique Paris, 09/06/2014

Objectifs:! Structure du certificat CP48 Former des techniciens opérationnels dans tous les aspects de la programmation mobile (smart-phones, tablette tactile...) et possédant les connaissances nécessaires pour leur permettre de s adapter aux évolutions de ces technologies. code UE Intitulé ects Commentaire NFA031 Programmation avec Java : notions de base NFA003 Principes et fonctionnement des systèmes d exploitation 6 Les principes de programmation : oui mais NFA032 est fortement recommandée et probablement aussi NFA035 4 Les rudiments des systèmes d exploitations et leur principaux services NFA008 Bases de données 6 Les rudiments de bases de données NFA016 Développement Web 4 côté client (HTML/JavaScript) NFA022 NFA025 NFA024 Principes et programmation système et réseau pour smartphones et tablettes tactiles Mise en œuvre de la programmation de smart-phones et tablettes tactiles Projet application mobile : mise en pratique 4 Overture générale sur le monde de la programmation mobile. Facilite l adaptation. 6 La programmation mobile sur une plateforme : la plateforme Android 6 Projet UA333G Expérience professionnelle 6 Stage en entreprise ou rapport d activité pro Total 42 2

Organisation de NFA022 3 Équipe Pédagodique! Responsable : Olivier PONS (OP)! Jean-Ferdy SUSINI (JFS)! Samia BOUZEFRANE (SB)! Jérome DUPIRE (JD)! Un élément central pour les personnes suivant l UE en FOD ou en cours du soir :! http://jeanferdysusini.free.fr/cours/cp48/

Organisation de NFA022 3 Équipe Pédagodique! Responsable : Olivier PONS (OP)! Jean-Ferdy SUSINI (JFS)! Samia BOUZEFRANE (SB)! Jérome DUPIRE (JD)! Un élément central pour les personnes suivant l UE en FOD ou en cours du soir :! http://jeanferdysusini.free.fr/cours/cp48/

Organisation de NFA022 03/03/2014 ; 18h00-21h30 (CNAM : 17.02.15) : Introduction (JFS)! 4 10/03/2014 ; 18h00-21h30 (CMG : 4.42) : IOS (JFS)! 17/03/2014 ; 18h00-21h30 (CMG : 4.42) : IOS (JFS)! 24/03/2014 ; 18h00-21h30 (CMG : 4.42) : Android (JFS)! 31/03/2014 ; 18h00-21h30 (CMG : 4.42) : Android (JFS)! 28/04/2014 ; 18h00-21h30 (CMG : 4.42) : WebMobile (OP)! 05/05/2014 ; 18h00-21h30 (CMG : 4.42) : WebMobile (OP)! 12/05/2014 ; 18h00-21h30 (CMG : 4.42) : Carte SIM (SB)! 19/05/2014 ; 18h00-21h30 (CMG : 4.42) : Carte SIM (SB)! 26/05/2014 ; 18h00-21h30 (CMG : 4.42) : Capteurs IHM (JD)! 02/06/2014 ; 18h00-21h30 (CMG : 4.42) : Capteurs IHM (JD)! 30/06/2014 ; 18h00-21h00 (CMG :???????) : Examen.

Petit questionnaire 5 Combien d entre vous ont une expérience (avoir travaillé dans le domaine, avoir suivi des cours, fait des EDs, ou avoir pratiqué en amateur chez soi en s appuyant sur des ressources en ligne ou livresques) :! de la programmation informatique! de la programmation java! de la programmation objet! de la programmation objet java! de la programmation mobile! de la programmation Android! de la programmation Web côté client! de la programmation Web côté serveur! de la programmation Système?

Évolution des smart-devices Sources : Android.com, Wikipedia, developer.apple.com, www.oracle.com et différents autres sites Paris, 09/06/2014

Un peu d histoire 7 Années 90 : téléphonie cellulaire, Programmation propriétaire environnements totalement fermés! Parallèlement apparition des PDA (Psion, Apple, Palm, Microsoft )! Fin des années 90, évolution majeure de Java :version 1.2 rebaptisée un temps version 2.0. Décliné en 3 grandes éditions :! JEE : programmation des serveurs d applications! JSE : programmation des clients lourds! JME : informatique embarquée

Java 8 package optionnels package optionnels Java! Entreprise! Edition! (JEE) Java! Standard! Edition! (JSE) Personal! Profile Fondation! Profile CDC JVM MIDP CLDC JavaCard! API JVM CVM KVM CardVM La technologie J2ME se compose d une machine virtuelle et d un jeu d APIs appropriées pour fournir des environnements d exécution sur mesure aux terminaux mobiles.

Java 2 Micro Edition puis JME 9 Cette édition regroupe en fait différentes incarnations de Java différenciées par la notion de configuration et de profil :! Java Card orienté vers les cartes à puces! CLDC/MIDP : destiné à programmer des applications Java pour terminaux mobiles et PDA! CDC : supporté par les terminaux haut de gamme de l époque et set top box, et autres gateways! DOJA : profil spécifique porté par NTT-DOCOMO (en France c était BT avec i-mode)

J2ME 10 L architecture se découpe en plusieurs couches :! Les configurations : définissent une plate-forme minimale en terme de services, comprenant : (i) une spécification de machine virtuelle dédiée (ii) un ensemble de classes de bases! CLDC (Connected Limited Device Configuration)! CDC (Connected Device Configuration).! Les profiles : spécification des caractéristiques communes d utilisation (affichage, événements d entrées/sorties : pointage, clavier ). Les mécanismes de persistance (base de données légère intégrée)

CDC, Fondation Profile 11 CDC : Connected Device Configuration! gérer une grande variété d IHM, voir pas d IHM graphique! mémoire allouée de 2 à 16 Mo! processeur 16 bits ou 32 bits! connexion réseau! Cible : set-top boxes, Consoles internet, routeurs et équipements réseau, PDA haut de gamme.! Le Fondation Profile sert de brique de base et se focalise sur la gestion du réseau. Les profiles au dessus ajoutent des services (Personnal Profile pour l interface graphique, RMI pour le support de Java-RMI )

CLDC/MIDP 12 Popularise l idée de développer des applications sur téléphone mobile! Le profile le plus déployé, supporté par la plupart des opérateurs! Vocation principale : la programmation de casual games! Définit une notion particulière d application : la midlet, associée à un cycle de vie particulier et un modèle de sécurité

Les profiles sur CLDC pour la téléphonie 13

CLDC 14 Minimum 160 à 500 Ko de (RAM+ROM)! Processeur à 16-32 bits (vitesse 16Mhz ou +)! Alimentation limitée, prise en charge d une batterie! Connexion au réseau (non permanente)! Interface graphique limitée ou inexistante (en général, définie dans les profils)! KVM! Pré-vérification statique du bytecode +vérification à l exécution (au chargement)! Gestion adaptée des classes (jar+jad)

CLDC 15 Pas de support pour les opérations flottantes! Pas de gestion des finalize d objets! Nombre restreint d erreurs (Exceptions)! Pas de JNI (méthodes natives)! Pas de ClassLoader utilisateur! Pas d introspection -> pas de RMI, de serialize! Pas de groupe de threads ou de demons! Pas de Weak-References

CLDC 1.1 16 Support limité des Weak References (java.lang.ref)! Ajout des calculs en flottant (Double, Float) support matériel recommandé! Ajout Calendar, Date et TimeZone! Minimum mémoire 160 -> 192 (principalement pour le support des opérations flottantes)! Support des noms de threads! Introduction de la méthode interrupt sur la classe Thread pour permettre de jouer plus finement avec l ordonnancement

De nos jours : CLDC 8 17 Support d appareils plus conséquents :! Compatibilité ascendante avec les versions antérieures (malgré le saut de version)! 1 Mo de mémoire «non volatile» pour stocker CLDC et ses librairies! 1 Mo de RAM pour le runtime, les piles et le tas! Support étendu d un certains nombre d APIs :! Support des annotations! ajout de gestion réseau : sous ensemble java.net! Support étendu des WeakReferences avec l ajout des Collections (java.util)! Ajout partiel de la gestion des java.nio

CLDC 18 Bibliothèques principales :! java.lang.*! java.util.*! java.io.*! javax.microedition.io! Modèle de sécurité! Opérations d entrée/sorties! Support du réseau! Internationalisation

Mécanismes et classes de base 19 Le package java.lang :! Les interfaces : Runnable! Les classes : Boolean, Byte, Character, Class, Integer, Long, Math, Object, Runtime, Short, String, StringBuffer, System, Thread, Throwable! On retrouve des services de bases de Java mais la plupart des classes ont des méthodes en moins ou une implantation simplifiée des certaines autres.! Pas de gestion de processus externes, pas de clonage d objet, pas de sérialisation, introspection très limitée, gestion simplifiée des propriétés de l environnement

Mécanismes et classes de base 20 Le package java.io :! Les interfaces : DataInput, DataOutput! Les classes : ByteArrayInputStream, ByteArrayOutputStream, DataInputStream, DataOutputStream, InputStream, InputStreamReader, OutputStream, OutputStreamWriter, PrintStream, Reader, Writer! Mécanisme de base de gestion des flux de données de Java (mécanisme de gestion des entrées/sorties)

Mécanismes et classes de base 21 Le package java.util :! Les interfaces : Enumeration! Les classes : Calendar, Date, Hashtable, Random, Stack, Timer, TimerTask, TimeZone, Vector! Gestion des dates et du temps réel (vient étendre le modèle de concurrence à base de threads par des timers)! Collections primitives d objets à l aide de classique Pile, table de hashage et tableau dynamique. Les itérateurs ne sont pas proposé mais on dispose cependant d énumérations du contenu des collections

Mécanismes et classes de base 22 Le package javax.microedition.io :! Les interfaces : Connection, ContentConnection, Datagram, DatagramConnection, InputConnection, OutputConnection, StreamConnection, StreamConnectionNotifier! La classe : Connector! Défini le Generic Connection FrameWork (GCF) adaptation de Java au système mobile à capacité de connexion limité.! Gère les objets de connections en particulier les connexions réseau ; aucune spécification de service à ce niveau

Mécanismes et classes de base 23 Le paramètre String de la méthode Connector.open(String URL) a le format suivant : protocole:adresse:paramètres. Exemples :! Connexion HTTP :! Connector.open("http://java.sun.com/developper?exemple=toto"); Connexion Socket :! Connector.open("socket://129.144.111.222:9000"); Connexion Datagram :! Connector.open("datagram://adress:port"); Communication à travers un port série :! Connector.open("comm:com0;baudrate=9600"); Ouverture d un fichier! Connector.open("file://myFile.txt");

Environnement MIDP Classique 24 Matériel

Environnement MIDP Classique 24 Système natif (OS généralement Linux) Matériel

Environnement MIDP Classique 24 CLDC Système natif (OS généralement Linux) Matériel

Environnement MIDP Classique 24 MIDP CLDC Système natif (OS généralement Linux) Matériel

Environnement MIDP Classique 24 Ajouts Spécifiques MIDP CLDC Système natif (OS généralement Linux) Matériel

Environnement MIDP Classique 24 Applications! MIDP! Standard Applications! Spécifiques Ajouts Spécifiques Applications! Natives! MIDP CLDC Système natif (OS généralement Linux) Matériel

MIDP 25 Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel

MIDP 25 Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! Paused RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel

MIDP Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! 25 L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! Paused startapp Active RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel

MIDP Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! 25 L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! Paused startapp pauseapp Active RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel

MIDP Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! Paused startapp pauseapp Destroyed Active destroyapp RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel 25

MIDP Ciblé pour les téléphones mobiles/pda : une connexion réseau pas si intermittente, un écran pas terrible! L application s appelle la Midlet. 3 états :! Active (startapp)! Suspendue (pauseapp)! Détruite (destroyapp)! Paused startapp pauseapp Destroyed Active destroyapp destroyapp RMS gestion d enregistrements associés aux Mid-lets! MIDP impose au minimum HttpConnection : permettant une communication bidirectionnelle sans fil (non permanente) le support datagramme est optionnel 25

MIDP 26 Version 1 :! 128 Ko pour MIDP persistant! 8 Ko pour stocker le data de la Midlet persistant! 32 Ko pour le fonctionnement du Runtime Java (le tas et la pile)! Version 2 :! 256 Ko persistant! 8 Ko app persistant! 128 Ko heap

MIDP 27 Caractéristiques affichage min :! 96x54 pixels! 1 bit de profondeur! ratio 1:1! Caractéristiques dispositifs d entrées :! QWERTY kbd! ITU-T keyboard (téléphone)! touch pad

MIDP 28 3 packages :! javax.microedition.midlet (~Applet) : Socle technique destiné à gérer le cycle de vie d une application! javax.microedition.lcdui : gestion de l interface homme/machine (IHM).! Javax.microedition.rms : base de données persistante légère.

MIDP 29 Une midlet active a accès à la totalité de l écran, représenté par la classe l'unique instance de la classe Display. (Display.getDisplay(myMidlet))! La midlet affiche à tout moment sur l'écran un objet Displayable : de type Canvas ou Screen! 2 modes d affichage :! une API de haut niveau : fournit des composants simples qui favorise la portabilité (IHM de type formulaire)! une API de bas niveau : permet d exploiter les fonctionnalités du terminal ; accès direct à l'écran et aux événements touches et système de pointage

MIDP 30 Gestion de la persistance (RMS : Record Management System)! Classe : RecordStore! API indépendante des terminaux! Un enregistrement est un tableau de bytes! sauvegarde possible en mémoire permanente! partage entre applications possible! Support pour les énumérations et les ensembles! Mise à jour atomique des enregistrements simples

MIDP les menus de commandes 31

DOJA 32 Concurrent de MIDP développé par NTT DOCOMO au dessus de CLDC intégré à la solution i-mode (HTML adapté au mobile)! Spécifications plus précise de l architecture matérielle et des services nécessaires. On retrouve les caractéristiques suivantes :! Support du HTTP, HTTPS! Composants génériques pour une interface de haut niveau et contrôle de bas niveau du graphisme! Zone de stockage des données (ScratchPad)! Téléchargement, sécurité, gestion des applis (JAM, ADF )

DOJA 33 com.nttdocomo.lang! com.nttdocomo.io! com.nttdocomo.net! com.nttdocomo.ui

CE, Symbian, Palm, Brew, BlackBerry 34 Convergence PDA et téléphone mobile! Les OS pour smart-devices proposent leurs propres solutions pour le développement d applications (SDK, déploiement des applications -signatures-)! Développement assez complexes.! Les interfaces sont perçues comme des interfaces Desktop adaptées aux mobiles (clavier minimal, stylet, molette de défilement )! Réservé longtemps aux devices haut de gamme! orientation vers les milieux professionnels

l iphone d Apple 35 Un démarrage en 2 temps :

l iphone d Apple 35 Un démarrage en 2 temps : juin 2007 : iphone première génération bouleverse les usages et les standards d IHM. Apple promet un kit de dev basé sur les technos Web (HTML 5)

l iphone d Apple 35 Un démarrage en 2 temps : juin 2007 : iphone première génération bouleverse les usages et les standards d IHM. Apple promet un kit de dev basé sur les technos Web (HTML 5) juin 2008 : IOS 2, apparition de l AppStore. Un SDK et un modèle économique très efficace

l iphone d Apple 35 Un démarrage en 2 temps : juin 2007 : iphone première génération bouleverse les usages et les standards d IHM. Apple promet un kit de dev basé sur les technos Web (HTML 5) juin 2008 : IOS 2, apparition de l AppStore. Un SDK et un modèle économique très efficace Fixe certains standards des smart-phones : Grand écran tactile multipoints, GPS, accéléromètres, compas, caméra,wifi, GPRS (connectedless?) Transforme profondément la conception des applications

Android 36 1 an plus tard Google embraye le pas d Apple et lance Android Système ouvert, Open Source (licence Apache) basé sur un noyau Linux et sur le langage Java. Il reprend les grands principes d ios, et offre un environnement très complet à tous les constructeurs Le SDK est disponible pour un grand nombre de plateforme, le langage de prédilection est Java afin de favoriser l adoption par les développeurs. Possibilité de développer en Natif (C/C++) grâce au NDK, mais peu de support de déploiement

L avenir? 37 Évolution extrêmement rapide, difficile à prédire (voir impossible)

Les services de distributions d application AppStore d Apple : sert souvent de référence! GooglePlay (ex Google Market) : en forte croissance, porté par la déferlante de nouveaux terminaux Android! Windows Phone Store (ex MarketPlace) : assez loin derrière ses concurrents, Windows 8 ne semble pas parvenir à changer la donne! Amazon App-Shop for Android : encore jeune mais qui semble très rentable dans le monde android! On peut difficilement ignorer ce nouveau terrain de jeu pour les développeurs 38