développement d'applications mobiles
DESCRIPTION
Quelle technologie pour quelle application mobile ?Matelli Services fait un tour d'horizon des types d'applications mobiles et des outils de développement existants.TRANSCRIPT
Développement d’applications mobiles
Avril 2012
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Quels mobiles ?
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Quels mobiles ?
• iOS restera la 2ème plateforme mondiale jusqu’en 2014.
• Windows Phone en 3ème position grâce à l’alliace Nokia - Microsoft.
• Les parts de marchés de RIM continueront de baisser.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Quelles tablettes ?
OS 2010 2011 2012 2015 iOS 14,766 47,964 68,670 138,497 Market Share (%) 83.9 68.7 63.5 47.1 Android 2,502 13,898 26,382 113,457 Market Share (%) 14.2 19.9 24.4 38.6 MeeGo 107 788 1,271 3,057 Market Share (%) 0.6 1.1 1.2 1.0 WebOS 0 2,796 4,245 8,886 Market Share (%) 0.0 4.0 3.9 3.0 QNX 0 3,901 7,134 29,496 Market Share (%) 0.0 5.6 6.6 10.0 Other Operating Systems 234 432 510 700 Market Share (%) 1.3 0.6 0.5 0.2 Total Market 17,610 69,780 108,211 294,093
Source: Gartner (April 2011)
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Distribution d’applications mobiles
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Application Web mobile ou application mobile native ?
• Application Web mobile
• Application Mobile native
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Applications Web
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Les frameworks / helpers JavaScript
• Frameworks – jQuery Mobile – Sencha Touch – jQTouch (basé sur Zepto) – Jo
• Frameworks minimalistes – Xui.js – Zepto
• Helpers – Modernizr – Initializr
• PhoneGap
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Comment choisir un framework ?
• Besoin (utilisation des fonctionnalités de l’appareil, performance…)
• Plates-formes ciblées
• Licensing
• Simplicité
• Connaissance
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
JQUERY MOBILE
Framework Web pour Smartphone et tablettes
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
jQuery Mobile
• Un framework Web pour Smartphone et tablettes développé par la fondation jQuery.
• Un système d’interfaces utilisateurs basé sur l’HTML5.
• Créé à partir des frameworks éprouvés jQuery et jQuery UI.
• Léger, amélioré progressivement, possède un système de thèmes simple et flexible.
• http://jquerymobile.com/
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Licensing
• Licence MIT « La licence donne à toute personne recevant le logiciel le droit illimité de l'utiliser, le copier, le modifier, le fusionner, le publier, le distribuer, le vendre et de changer sa licence. La seule obligation est de mettre le nom des auteurs avec la notice de copyright. » Wikipedia (http://fr.wikipedia.org/wiki/Licence_MIT)
• Licence GPL
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Plates-formes supportées
• http://jquerymobile.com/gbs/
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Plates-formes supportées
• Système de notation et de « progressive enhancement »
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Simplicité / Connaissance
• Utilisable sans écrire une ligne de JavaScript
– http://jquerymobile.com/demos/1.1.0/
• Possède des outils graphique pour le theming
– http://jquerymobile.com/themeroller/
• Des outils de création d’interfaces existent
– http://www.codiqa.com/
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Documentation / Communauté
• Documentation – Complète et de bonne qualité
– Facile d’accès. De nombreux exemples sont disponibles.
• Communauté – jQuery dispose d’assez d’utilisateurs pour que de
réponses soient facilement trouvées via des moteurs de recherche.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
SENCHA TOUCH
Framework Web pour Smartphone et tablettes
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Sencha Touch
• Un framework Web pour Smartphone et tablettes développé par la société Sencha Inc.
• Un système d’interfaces utilisateurs basé sur l’HTML5.
• Basé sur le framework Web Sencha Ext JS.
• Possède une riche bibliothèque de composants.
• http://www.sencha.com/products/touch/
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Licensing
• Sencha Touch est disponible gratuitement pour un usage commercial et/ou une distribution open source.
• Une licence OEM est nécessaire si Sencha Touch: – est inlus dans un logiciel de création d’applications Web,
– est inclus dans un SDK,
– Est déployé nativement sur plus de 5000 terminaux embarqués (télévisions, caméras, appareils équipant voitures, réfrigirateurs… ne concerne pas téléphones et smartphones).
http://www.sencha.com/products/touch/license/
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Plates-formes supportées
• iPhone • Android • BlackBerry
• La version 9 d’Internet Explorer (présente sur
WindowsPhone 7) ne disposait pas d’assez de fonctionnalités pour que Sencha porte son framework. La version 10 serait prometteuse: – http://www.sencha.com/blog/ie10-preview-html5-
first-look
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Simplicité / Connaissance
• Tout développement Sencha Touch est réalisé en JavaScript.
• Prérequis: – Bonne connaissance du JavaScript et de sa syntaxe
orientée objet,
– Bonne connaissance du fonctionnement du framework Sencha Touch.
• Sencha Touch s’inspire beaucoup partie de la version Web Sencha ExtJS. Les connaisseurs apprécieront.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Documentation / Communauté
• Documentation – Complète et de bonne qualité – Très orienté développeurs: accès direct aux packages,
classes, méthodes, évènements…
• Communauté
– Sencha Touch est développé par une entité commerciale. Le produit ne dispose donc pas d’une communauté OpenSource.
– Sencha Touch dispose d’assez d’utilisateurs pour que des réponses soient facilement trouvées via les moteurs de recherche (sur le forum Sencha ou d’autres sites).
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
PHONEGAP
Applications web et fonctionnalités natives.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
PhoneGap
• PhoneGap est une plate-forme HTML5 qui permet, tout en utilisant des technologies Web, de créer des applications natives accédant aux différentes API et disponibles sur les stores. http://phonegap.com/
• PhoneGap est open source et gratuit.
• PhoneGap peut être utilisé par des développeurs ou des sociétés pour distribuer des applications gratuites, commerciales ou bien open source.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
PhoneGap
• Plates-formes supportées: Android, iOS, Windows Phone, WebOS, BlackBerry, Symbian, Bada.
• PhoneGap est généralement utilisé avec certains frameworks JavaScript:
– Sencha Touch
– jQuery Touch
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Fonctionnalités supportées
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Fonctionnement
Création de votre application avec les standards du Web.
Empaquetage de votre application avec PhoneGap.
Déploiement de votre application sur toutes les plates-formes supportées.
Copyright © 2012 MATELLI SERVICES
+33 1 82 52 19 59 - [email protected]
Fonctionnement
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Exemple: Diary Mobile
Application de gestion d’évènements, de tâches…
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Exemple: Just One More
Les dernières vidéos proposées par l’équipe Vimeo.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Exemple: Harmonious
Application de dessin.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Applications natives
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Développement d’applications mobiles natives
• Signification: utilisation de technologies natives, d’interfaces natives, d’outils natifs, d’API natives…
• Les solutions de développement natifs sont fournis par les éditeurs des différentes plates-formes.
• Chaque solution dispose d’outils de simulation.
Copyright © 2012 MATELLI SERVICES
+33 1 82 52 19 59 - [email protected]
Développement d’applications mobiles natives
Plates-formes Technologies Outils de développement
Plates-formes de développement
iOS Objective-C, iPhone SDK
XCode IDE Mac OS X
Android Java, C/C++ Eclipse Windows, Linux
Symbian, MeeGo C++, QML, Qt framework, platform SDK
Qt Creator Windows, Linux, Mac OS X
Windows Phone 7 C#, .Net, Silverlight, XNA
Visual Studio 2012, Expression Blend
Windows
BlackBerry Java, BlackBerry Java SDK
Eclipse, BlackBerry IDE
Windows, Mac OS X
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
DÉVELOPPEMENT ANDROID
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Langage et Framework
• Java / C++
• Framework Android
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Outils
• Un PC ou un Mac avec le système d’exploitation de votre choix
• Eclipse version Java – http://www.eclipse.org/downloads/
• SDK Android: contient entre autres l’émulateur Android
– http://developer.android.com/sdk/
• Le plug-in Android pour Eclipse (fourni et maintenu par les
équipes Google) – http://developer.android.com/sdk/eclipse-adt.html
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Distribution d’applications
• Licence – Nécessaire uniquement pour la publication sur Google
Play (anciennement Android Market)
– Coût: 25 $
• Processus de déploiement – Il est nécessaire de signer ses applications pour les
publier sur Google Play
– Un processus de publication très simple en comparaison des stores concurrents
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
DÉVELOPPEMENT IOS
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Langage et Framework
• Objective C
• Framework iOS
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
int main( int argc, const char *argv[] ) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
@"one", [NSNumber numberWithInt: 1],
@"two", [NSNumber numberWithInt: 2],
@"three", [NSNumber numberWithInt: 3], nil];
NSMutableDictionary *mutable = [[NSMutableDictionary alloc] init];
printf( "----static dictionary\n" );
print( dictionary );
// add objects
[mutable setObject: @"Tom" forKey: @"[email protected]"];
[mutable setObject: @"Bob" forKey: @"[email protected]" ];
Outils
• Un Mac
• Xcode: environnement de développement (IDE)
• Interface Builder
– Depuis Xcode 4, IB est inclus dans Xcode
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Distribution d’applications
• Licences – Programme standard
• Coût: 99 $ / an • But: distribuer des applications sur l’AppStore • Il est possible de distribuer des applications en mode ad-hoc sur 100
périphériques
– Programme Entreprise • Coût: 299 $ / an • Pour les entreprises de +500 employés • But: utilisation des applications en interne, aucune revente sur
l’AppStore n’es possible • Deux types de déploiement: ad-hoc et in-house
– Programme Université • Coût: gratuit mais soumis à validation de la part d’Apple • Réservé au monde de l’éducation
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Distribution d’applications
• Déploiement
– iOS Provisionning portal: permet de gérer ses certificats de développement ainsi que les périphériques en mode ad-hoc
– iTunes Connect: permet la soumission d’applications sur l’AppStore
• La soumission d’applications sur l’AppStore peut prendre une semaine.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
DÉVELOPPEMENT WINDOWS PHONE
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Langage et Framework
• C#, Silverlight ou XNA
– Silverlight permet de réaliser les interfaces graphiques de ses applications mobiles « fenêtrées » (possédant onglets, listes, boutons…),
– XNA permet de réaliser des jeux.
• Framework .Net
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Outils
• Un ordinateur sous Microsoft Windows Vista ou 7
• Visual Studio – Une version d’essai est disponible « Visual Studio 2010
Express pour Windows Phone » http://www.microsoft.com/visualstudio/en-us/products/2010-editions/windows-phone-developer-tools
– L’émulateur vient avec le kit de développement Windows Phone.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Distribution d’applications
• Licence – Coût de la licence développeur: 99 $ / an – But: déployer des applications sur le Marketplace – Microsoft fournit gratuitement des outils afin de
permettre aux développeurs de déployer leurs applications en AdHoc (http://msdn.microsoft.com/en-us/library/ff769512(v=vs.92).aspx)
• Processus de déploiement – Suivre les étapes de déploiment sur
http://create.msdn.com
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
GÉNÉRATION D’APPLICATIONS NATIVES MonoDroid / MonoTouch
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Génération d’applications mobiles natives
• Concept: utilisation d’une technologie tierce afin de créer des applications mobiles natives cross-platform.
• Avantages: – utilisation d’une même technologie quelque soit les
plateformes et donc possibilité de réutilisation de code métier,
– utilisation d’une technologie pouvant déjà être connue des développeurs,
– Une interface possédant le look&feel de la plate-forme adressée.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Génération d’applications mobiles natives
• Inconvénients:
– Un coût additionnel,
– La nécessité de bien comprendre le fonctionnement de la plate-forme mobile que l’on adresse.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
MONOTOUCH / MONODROID
Xamarin
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Langage, Framework et Outils
• Langage C#
• Framework .Net
• Outils nécessaires pour le développement iOS
– Un Mac sous Mac OS X
– L’environnement de développement intégré (IDE) MonoDevelop
– L’IDE d’Apple xCode
– MonoTouch
Copyright © 2012 MATELLI SERVICES
+33 1 82 52 19 59 - [email protected]
Langage, Framework et Outils
• Langage C#
• Framework .Net
• Outils nécessaires pour le développement Android
– Un ordinateur sous Microsoft Windows Vista ou 7 ou bien un Mac sous Mac OS X
– L’environnement de développement intégré (IDE) MonoDevelop ou bien Visual Studio avec un add-on
– MonoDroid
Copyright © 2012 MATELLI SERVICES
+33 1 82 52 19 59 - [email protected]
Coût
• Coût du programme de développement iOS ou Android
• Coût de licence de MonoTouch pour iOS ou de Mono pour Android. Les produits sont vendus séparément.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]
Merci à vous.
19 rue Béranger 75003 Paris +33 1 82 52 19 59 [email protected] www.matelli.fr
Ajoutez nous à vos contacts.
Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]