55
Développement d’applications mobiles Avril 2012 Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Développement d'applications mobiles

  • Upload
    matelli

  • View
    4.605

  • Download
    3

Embed Size (px)

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.

Citation preview

Page 1: Développement d'applications mobiles

Développement d’applications mobiles

Avril 2012

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 2: Développement d'applications mobiles

Quels mobiles ?

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 3: Développement d'applications mobiles

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]

Page 4: Développement d'applications mobiles

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]

Page 5: Développement d'applications mobiles

Distribution d’applications mobiles

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 6: Développement d'applications mobiles

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]

Page 7: Développement d'applications mobiles

Applications Web

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 8: Développement d'applications mobiles

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]

Page 9: Développement d'applications mobiles

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]

Page 10: Développement d'applications mobiles

JQUERY MOBILE

Framework Web pour Smartphone et tablettes

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 11: Développement d'applications mobiles

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]

Page 12: Développement d'applications mobiles

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]

Page 14: Développement d'applications mobiles

Plates-formes supportées

• Système de notation et de « progressive enhancement »

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 15: Développement d'applications mobiles

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]

Page 16: Développement d'applications mobiles

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]

Page 17: Développement d'applications mobiles

SENCHA TOUCH

Framework Web pour Smartphone et tablettes

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 18: Développement d'applications mobiles

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]

Page 19: Développement d'applications mobiles

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]

Page 20: Développement d'applications mobiles

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]

Page 21: Développement d'applications mobiles

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]

Page 22: Développement d'applications mobiles

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]

Page 23: Développement d'applications mobiles

PHONEGAP

Applications web et fonctionnalités natives.

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 24: Développement d'applications mobiles

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]

Page 25: Développement d'applications mobiles

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]

Page 26: Développement d'applications mobiles

Fonctionnalités supportées

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 27: Développement d'applications mobiles

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]

Page 28: Développement d'applications mobiles

Fonctionnement

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 29: Développement d'applications mobiles

Exemple: Diary Mobile

Application de gestion d’évènements, de tâches…

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 30: Développement d'applications mobiles

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]

Page 31: Développement d'applications mobiles

Exemple: Harmonious

Application de dessin.

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 32: Développement d'applications mobiles

Applications natives

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 33: Développement d'applications mobiles

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]

Page 34: Développement d'applications mobiles

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]

Page 35: Développement d'applications mobiles

DÉVELOPPEMENT ANDROID

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 36: Développement d'applications mobiles

Langage et Framework

• Java / C++

• Framework Android

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 37: Développement d'applications mobiles

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]

Page 38: Développement d'applications mobiles

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]

Page 39: Développement d'applications mobiles

DÉVELOPPEMENT IOS

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 40: Développement d'applications mobiles

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]" ];

Page 41: Développement d'applications mobiles

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]

Page 42: Développement d'applications mobiles

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]

Page 43: Développement d'applications mobiles

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]

Page 44: Développement d'applications mobiles

DÉVELOPPEMENT WINDOWS PHONE

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 45: Développement d'applications mobiles

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]

Page 46: Développement d'applications mobiles

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]

Page 47: Développement d'applications mobiles

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]

Page 48: Développement d'applications mobiles

GÉNÉRATION D’APPLICATIONS NATIVES MonoDroid / MonoTouch

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 49: Développement d'applications mobiles

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]

Page 50: Développement d'applications mobiles

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]

Page 51: Développement d'applications mobiles

MONOTOUCH / MONODROID

Xamarin

Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - [email protected]

Page 52: Développement d'applications mobiles

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]

Page 53: Développement d'applications mobiles

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]

Page 54: Développement d'applications mobiles

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]

Page 55: Développement d'applications mobiles

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]