Stratégies et développements mobiles multi-plates-formes

                 La Mêlée Numérique 14
                      29 avril 2010


                       Florent Garin
               florent.garin@docdoku.com
                http://www.docdoku.com
               http://twitter.com/docdoku
Florent Garin

• Co-fondateur de DocDoku
  Société innovante IT
  http://www.docdoku.com

• Co-fondateur du JUG de Toulouse
  Ouvert à tous, les technologies Java
  http://www.jugtoulouse.org

• Auteur du livre : « Développez des
  applications mobiles pour les google
  phones »
Agenda



• Panorama des technologies mobiles du marché
• Un problème, plusieurs solutions
• Un futur plein de promesses
• Conclusion
i iPhone

• Matériel et OS conçus par Apple
• Objective-C, Cocoa
• Téléphone media
• Les +
   • Ergonomie et esthétisme
   • AppStore, + de 150 000 applications
• Les -
   • Plateforme (très) fermée
   • Multi-tâches que pour l’iPhone OS 4
   • Peut s’imposer dans les entreprises ?
Android

• Projet open source à l’initiative de Google
• Fabricants multiples
• Java, SDK Android
• Les +
   • Ouvert, déploiement aisé
   • Environnement de développement familier
     (Eclipse)
• Les -
   • Manque de cohérence, fragmentation
   • Moins connu du grand public que l’iPhone
BlackBerry

• Fabriqué entièrement par RIM
• JavaME + Extensions propriétaires
• Les +
   • « Inventeur » du push mail
   • Bien implanté dans les entreprises
• Les –
   • Coûts des logiciels serveurs élevés
   • Fonctions multimédia réduites
Windows Mobile

• Technologie Microsoft
• Multi-constructeurs
• Framework .Net
• Les +
   • Intégration facile aux produits Microsoft
• Les -
   • Peu d’innovation (renouveau possible
     avec WinMo 7)
   • Au départ simple déclinaison de
     Windows sur le mobile
Nokia

• OS Symbian
• C++ et Toolkit Qt
• Les +
   • Solide réputation
   • Leader avec 37% de PDM
• Les –
   • Gamme très (trop ?) large
   • Stratégie hésitante et peu lisible
   • A loupé la vague smartphone et tactile
Palm

• Périclite depuis plusieurs années, joue son
  va-tout avec le Pré
• WebOS, Framework Mojo
• Les +
   • Clavier, multi-touch, batterie amovible
   • Framework avant-gardiste, Mojo =
     HTML5+API JavaScript
• Les –
   • Mauvais timing, ne s’est imposé
   • Store en ligne peu étoffé
Comment concilier ces environnements hétérogènes ?




    Un problème, plusieurs solutions !
Java ME : une réponse ?

• Java Micro Edition


   • Massivement déployé (> 1 milliard)
   • Fonctionne sur une machine virtuelle
   • GUI limité, JavaFX pourrait corriger
     ce problème
   • Comportement différent entre
     téléphones
   • Dédié aujourd’hui aux appareils
     entrée de gamme
Framework de développement cross-platform

• Titanium (Appcelerator)


   • Le développement se fait avec les
     technologies Web : HTML, CSS,
     JavaScript…
   • Accès au GPS, à l'accéléromètre…
   • Rendu visuel natif
   • Support de l’iPad
   • Licence Apache Public v2.0
Framework de développement cross-platform

• PhoneGap


  • Approche similaire à Titanium
  • Prend en charge beaucoup de
    plateformes : iPhone, iPad, Android,
    Palm, Symbian et BlackBerry
  • Problème du plus petit dénominateur
    commun
  • Attention le rendu n’est pas natif
Compilation croisée

• Adobe Flash Professional CS5


   • Packageurs pour iPhone et iPad
     disponibles
   • Packageurs pour Android,
     BlackBerry et Palm à venir
   • ActionScript 3
   • Permet de capitaliser sur un même
     outil et un même langage
Compilation croisée

• MonoTouch


  • Aujourd’hui cible uniquement
    l’iPhone
  • Développement C# et .NET
  • Nécessite un Mac et le SDK iPhone
Développement Web

• JQTouch


  • Dérivé de JQuery
  • Propose des thèmes pour imiter
    les interfaces natives
  • Riche palette d’animations et de
    transitions
  • Mode plein écran
WebKit : un moteur presque universel

• WebApp.Net
• iWebKit
• iUI
• …
• S’appuient tous sur le moteur WebKit :
  iPhone, Android, certains Nokia bientôt BlackBerry…
• Attention à la version de WebKit embarquée dans le
  téléphone
• Incompatible avec Windows Mobile !
GWT (Google Web Toolkit)

• Framework de développement d’applications Web
  AJAX




• On développe en Java et GWT génère les fichiers
  JavaScript spécialement adaptés à chaque navigateur
• Pour les versions de Windows Mobile antérieur à 6.5
  exige un navigateur alternatif à Internet Explorer :
  Opera mini, ou Fennec (Firefox)
• Conçu pour les ordinateurs de bureau mais applicable
  aux mobiles
Développement hybride

• Principe : encapsuler le navigateur dans une
  application native


• Intérêt
   • Atteindre les fonctions non accessibles depuis le
     navigateur (Push, carnet d’adresses…)
   • Bénéficier de la visibilité des boutiques en ligne
     (AppStore)
   • Facilité d’utilisation pour le public (icône, raccourci)
   • Possibilité de monétiser l’application
Finalement quelle direction prendre ?


• Pas de solution miracle !


• Bien déterminer la cible
• Penser à la pérennité
• Anticiper les problèmes d’acceptation sur l’AppStore
  (compilation croisée mal vue par Apple)
Demain : HTML5 & CSS3




• Géolocalisation
• WebGL pour la 3D, support de l’audio et de la vidéo
• WebSocket API, stockage local de données…
• Et surtout une même plateforme standard desktop et mobile
Des questions ?

Notre livre :
« Android développer des applications
   mobiles pour les google phones »




contact@docdoku.com
http://www.docdoku.com/identite/contact/

Strategies et developpements mobiles multi-plates-formes.

  • 1.
    Stratégies et développementsmobiles multi-plates-formes La Mêlée Numérique 14 29 avril 2010 Florent Garin florent.garin@docdoku.com http://www.docdoku.com http://twitter.com/docdoku
  • 2.
    Florent Garin • Co-fondateurde DocDoku Société innovante IT http://www.docdoku.com • Co-fondateur du JUG de Toulouse Ouvert à tous, les technologies Java http://www.jugtoulouse.org • Auteur du livre : « Développez des applications mobiles pour les google phones »
  • 3.
    Agenda • Panorama destechnologies mobiles du marché • Un problème, plusieurs solutions • Un futur plein de promesses • Conclusion
  • 4.
    i iPhone • Matérielet OS conçus par Apple • Objective-C, Cocoa • Téléphone media • Les + • Ergonomie et esthétisme • AppStore, + de 150 000 applications • Les - • Plateforme (très) fermée • Multi-tâches que pour l’iPhone OS 4 • Peut s’imposer dans les entreprises ?
  • 5.
    Android • Projet opensource à l’initiative de Google • Fabricants multiples • Java, SDK Android • Les + • Ouvert, déploiement aisé • Environnement de développement familier (Eclipse) • Les - • Manque de cohérence, fragmentation • Moins connu du grand public que l’iPhone
  • 6.
    BlackBerry • Fabriqué entièrementpar RIM • JavaME + Extensions propriétaires • Les + • « Inventeur » du push mail • Bien implanté dans les entreprises • Les – • Coûts des logiciels serveurs élevés • Fonctions multimédia réduites
  • 7.
    Windows Mobile • TechnologieMicrosoft • Multi-constructeurs • Framework .Net • Les + • Intégration facile aux produits Microsoft • Les - • Peu d’innovation (renouveau possible avec WinMo 7) • Au départ simple déclinaison de Windows sur le mobile
  • 8.
    Nokia • OS Symbian •C++ et Toolkit Qt • Les + • Solide réputation • Leader avec 37% de PDM • Les – • Gamme très (trop ?) large • Stratégie hésitante et peu lisible • A loupé la vague smartphone et tactile
  • 9.
    Palm • Périclite depuisplusieurs années, joue son va-tout avec le Pré • WebOS, Framework Mojo • Les + • Clavier, multi-touch, batterie amovible • Framework avant-gardiste, Mojo = HTML5+API JavaScript • Les – • Mauvais timing, ne s’est imposé • Store en ligne peu étoffé
  • 10.
    Comment concilier cesenvironnements hétérogènes ? Un problème, plusieurs solutions !
  • 11.
    Java ME :une réponse ? • Java Micro Edition • Massivement déployé (> 1 milliard) • Fonctionne sur une machine virtuelle • GUI limité, JavaFX pourrait corriger ce problème • Comportement différent entre téléphones • Dédié aujourd’hui aux appareils entrée de gamme
  • 12.
    Framework de développementcross-platform • Titanium (Appcelerator) • Le développement se fait avec les technologies Web : HTML, CSS, JavaScript… • Accès au GPS, à l'accéléromètre… • Rendu visuel natif • Support de l’iPad • Licence Apache Public v2.0
  • 13.
    Framework de développementcross-platform • PhoneGap • Approche similaire à Titanium • Prend en charge beaucoup de plateformes : iPhone, iPad, Android, Palm, Symbian et BlackBerry • Problème du plus petit dénominateur commun • Attention le rendu n’est pas natif
  • 14.
    Compilation croisée • AdobeFlash Professional CS5 • Packageurs pour iPhone et iPad disponibles • Packageurs pour Android, BlackBerry et Palm à venir • ActionScript 3 • Permet de capitaliser sur un même outil et un même langage
  • 15.
    Compilation croisée • MonoTouch • Aujourd’hui cible uniquement l’iPhone • Développement C# et .NET • Nécessite un Mac et le SDK iPhone
  • 16.
    Développement Web • JQTouch • Dérivé de JQuery • Propose des thèmes pour imiter les interfaces natives • Riche palette d’animations et de transitions • Mode plein écran
  • 17.
    WebKit : unmoteur presque universel • WebApp.Net • iWebKit • iUI • … • S’appuient tous sur le moteur WebKit : iPhone, Android, certains Nokia bientôt BlackBerry… • Attention à la version de WebKit embarquée dans le téléphone • Incompatible avec Windows Mobile !
  • 18.
    GWT (Google WebToolkit) • Framework de développement d’applications Web AJAX • On développe en Java et GWT génère les fichiers JavaScript spécialement adaptés à chaque navigateur • Pour les versions de Windows Mobile antérieur à 6.5 exige un navigateur alternatif à Internet Explorer : Opera mini, ou Fennec (Firefox) • Conçu pour les ordinateurs de bureau mais applicable aux mobiles
  • 19.
    Développement hybride • Principe: encapsuler le navigateur dans une application native • Intérêt • Atteindre les fonctions non accessibles depuis le navigateur (Push, carnet d’adresses…) • Bénéficier de la visibilité des boutiques en ligne (AppStore) • Facilité d’utilisation pour le public (icône, raccourci) • Possibilité de monétiser l’application
  • 20.
    Finalement quelle directionprendre ? • Pas de solution miracle ! • Bien déterminer la cible • Penser à la pérennité • Anticiper les problèmes d’acceptation sur l’AppStore (compilation croisée mal vue par Apple)
  • 21.
    Demain : HTML5& CSS3 • Géolocalisation • WebGL pour la 3D, support de l’audio et de la vidéo • WebSocket API, stockage local de données… • Et surtout une même plateforme standard desktop et mobile
  • 22.
    Des questions ? Notrelivre : « Android développer des applications mobiles pour les google phones » contact@docdoku.com http://www.docdoku.com/identite/contact/