Développement d'applications mobiles

  • 4,720 views
Uploaded on

Quelle technologie pour quelle application mobile ? …

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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,720
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
313
Comments
1
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Développement d’applications mobiles Avril 2012 Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 2. Quels mobiles ? Copyright © 2012 MATELLI SERVICES+33 1 82 52 19 59 - services@matelli.fr
  • 3. 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 - services@matelli.fr
  • 4. Quelles tablettes ? Source: Gartner (April 2011) OS 2010 2011 2012 2015iOS 14,766 47,964 68,670 138,497Market Share (%) 83.9 68.7 63.5 47.1Android 2,502 13,898 26,382 113,457Market Share (%) 14.2 19.9 24.4 38.6MeeGo 107 788 1,271 3,057Market Share (%) 0.6 1.1 1.2 1.0WebOS 0 2,796 4,245 8,886Market Share (%) 0.0 4.0 3.9 3.0QNX 0 3,901 7,134 29,496Market Share (%) 0.0 5.6 6.6 10.0Other Operating Systems 234 432 510 700Market Share (%) 1.3 0.6 0.5 0.2Total Market 17,610 69,780 108,211 294,093 Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 5. Distribution d’applications mobiles Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 6. Application Web mobile ou application mobile native ?• Application Web mobile• Application Mobile native Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 7. Applications Web Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 8. 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 - services@matelli.fr
  • 9. 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 - services@matelli.fr
  • 10. JQUERY MOBILEFramework Web pour Smartphone et tablettes Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 11. 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 - services@matelli.fr
  • 12. Licensing• Licence MIT« La licence donne à toute personne recevant le logiciel le droitillimité de lutiliser, le copier, le modifier, le fusionner, le publier,le distribuer, le vendre et de changer sa licence. La seuleobligation est de mettre le nom des auteurs avec la noticede copyright. » Wikipedia(http://fr.wikipedia.org/wiki/Licence_MIT)• Licence GPL Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 13. Plates-formes supportées• http://jquerymobile.com/gbs/ Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 14. Plates-formes supportées• Système de notation et de « progressive enhancement » Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 15. 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 - services@matelli.fr
  • 16. 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 - services@matelli.fr
  • 17. SENCHA TOUCHFramework Web pour Smartphone et tablettes Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 18. 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 - services@matelli.fr
  • 19. 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 - services@matelli.fr
  • 20. 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 - services@matelli.fr
  • 21. 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 - services@matelli.fr
  • 22. 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 - services@matelli.fr
  • 23. PHONEGAPApplications web et fonctionnalités natives. Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 24. 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 - services@matelli.fr
  • 25. 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 - services@matelli.fr
  • 26. Fonctionnalités supportées Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 27. FonctionnementCréation de votre application avec lesstandards du Web.Empaquetage de votre application avecPhoneGap.Déploiement de votre application surtoutes les plates-formes supportées. Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 28. Fonctionnement Copyright © 2012 MATELLI SERVICES+33 1 82 52 19 59 - services@matelli.fr
  • 29. Exemple: Diary MobileApplication de gestion d’évènements, de tâches… Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 30. Exemple: Just One MoreLes dernières vidéos proposées par l’équipe Vimeo. Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 31. Exemple: HarmoniousApplication de dessin. Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 32. Applications natives Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 33. 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 - services@matelli.fr
  • 34. Développement d’applications mobiles nativesPlates-formes Technologies Outils de Plates-formes de développement développementiOS Objective-C, iPhone XCode IDE Mac OS X SDKAndroid Java, C/C++ Eclipse Windows, LinuxSymbian, MeeGo C++, QML, Qt Qt Creator Windows, Linux, framework, Mac OS X platform SDKWindows Phone 7 C#, .Net, Silverlight, Visual Studio 2012, Windows XNA Expression BlendBlackBerry Java, BlackBerry Eclipse, BlackBerry Windows, Mac OS X Java SDK IDE Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 35. DÉVELOPPEMENT ANDROID Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 36. Langage et Framework• Java / C++• Framework Android Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 37. 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 - services@matelli.fr
  • 38. 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 - services@matelli.fr
  • 39. DÉVELOPPEMENT IOS Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 40. Langage et Framework • Objective Cint 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 dictionaryn" );print( dictionary );// add objects[mutable setObject: @"Tom" forKey: @"tom@jones.com"];[mutable setObject: @"Bob" forKey: @"bob@dole.com" ]; • Framework iOS Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 41. 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 - services@matelli.fr
  • 42. 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 - services@matelli.fr
  • 43. 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 - services@matelli.fr
  • 44. DÉVELOPPEMENT WINDOWSPHONE Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 45. 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 - services@matelli.fr
  • 46. 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 - services@matelli.fr
  • 47. 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 - services@matelli.fr
  • 48. GÉNÉRATION D’APPLICATIONSNATIVESMonoDroid / MonoTouch Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 49. 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 - services@matelli.fr
  • 50. 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 - services@matelli.fr
  • 51. MONOTOUCH / MONODROIDXamarin Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr
  • 52. 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 - services@matelli.fr
  • 53. 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 - services@matelli.fr
  • 54. 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 - services@matelli.fr
  • 55. Merci à vous.19 rue Béranger Ajoutez nous à vos contacts.75003 Paris+33 1 82 52 19 59services@matelli.frwww.matelli.fr Copyright © 2012 MATELLI SERVICES +33 1 82 52 19 59 - services@matelli.fr