SlideShare una empresa de Scribd logo
1 de 78
De l’iPhone à WP7
Retour d’expérience après Explorimmo et Deezer
Qui est Sophiacom ?
Qui est Sophiacom ?
           brièvement !
mars 2008
juillet 2010
juillet 2010
Les différences
de design de l’IHM
Composant Panorama
Mauvaise utilisation des
    composants !
La nouvelle interface !
Autre comparaison
     Deezer
Environnements de
  développement
XCode
     vs
Visual Studio
XCode

•   Que du code
    Interface simple épurée...
    pour se concentrer que sur le code
•   Pas de vue design
Visual Studio

•   Du code, mais pas uniquement
•   Vue Design / Vue XAML / Vue Code
    (code behind)
Interface Builder
        vs
      Blend
Interface Builder

 •   Placer des vues sans écrire de code
 •   Modifier des propriétés
 •   XIB non éditable. Pas de documentation
Blend

•   Séparer le design de la partie métier
•   Permet au designer de s’occuper que de
    l’interface...
•   Créer ses propres composants
•   Réaliser des animations
Focus sur 2 aspects
    techniques
Le Tombstoning
         -
Le portage de code
Qu’est ce que le Tombstoning ?
Le Tombstoning

•   Notre erreur : mauvaise évaluation de
    l’importance du principe
•   La conclusion : doit etre pensé dès le début
    de la conception/développement
Le portage de code

•   Bien adapté pour une application comme
    Deezer vue la complexité de l’application
•   Condition : claire séparation entre l’UI et
    les classes métier
Les problèmes rencontrés
•   Base de données
    •   SQLite présent sur iOS depuis iPhone OS 2
    •   Utilisation du portage non officiel en C#
        http://code.google.com/p/csharp-sqlite/
    •   Pas de pb rencontré malgré le portage partiel
    •   Non utilisation de Core Data (ORM) !
Les problèmes rencontrés
•   Faible typage du langage Obj C
    • Gérer le polymorphisme (type id)
    • remplacer les catégories
    • traiter le cas nil
•   Gestion des notifications (pattern Observateur)
    •Utilisation des delegates dans la majorité des cas
    •Remplacement du mécanisme de broadcast
Les problèmes rencontrés

•   Passage de MVC à MVVM (Modèle/Vue/ Vue-
    Modèle)
    •   On passe de 3 objets à 4
    •   Difficulté : où mettre les comportements ?
Objective C




C#
Exe
Objective C         mp
                      le




C#
Conclusion
•   On a souffert !
•   Support de Microsoft (y compris en France)
•   Aide abondante sur le web
•   Acquisition compétence cross-plateforme
•   On est content :-)
Pour mieux nous connaitre ...
     Contactez-nous !



        @ 38 rue des Mathurins - 75008 Paris@
        Corinne Culo - cculo@sophiacom.fr 
     Philippe Rabier - prabier@sophiacom.fr 

         Téléphone : +33 1 41 40 05 80 

Más contenido relacionado

Similar a Sophiacom au salon Le Mobile 2.0 2011

20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec XamarinCellenza
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Microsoft
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Microsoft
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Microsoft
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionJonathan Le Guellec
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
IBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisIBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisFresche Solutions
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7Core-Techs
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 

Similar a Sophiacom au salon Le Mobile 2.0 2011 (20)

20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin[XamarinDay] Développez de manière 100% native avec Xamarin
[XamarinDay] Développez de manière 100% native avec Xamarin
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
Créer des applications métier (LOB) pour Windows 8 et Windows Phone 8
 
REX react native
REX react nativeREX react native
REX react native
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Les framework mvc
Les framework mvcLes framework mvc
Les framework mvc
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?Fichier, Nouveau projet… Et après ?
Fichier, Nouveau projet… Et après ?
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - Introduction
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
IBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe BourgeoisIBM i: Built for Business - Philippe Bourgeois
IBM i: Built for Business - Philippe Bourgeois
 
HTML5 & SilverLight 5
HTML5 & SilverLight 5HTML5 & SilverLight 5
HTML5 & SilverLight 5
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 

Sophiacom au salon Le Mobile 2.0 2011

  • 1. De l’iPhone à WP7 Retour d’expérience après Explorimmo et Deezer
  • 3. Qui est Sophiacom ? brièvement !
  • 5.
  • 6.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Mauvaise utilisation des composants !
  • 35.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Environnements de développement
  • 57. XCode vs Visual Studio
  • 58. XCode • Que du code Interface simple épurée... pour se concentrer que sur le code • Pas de vue design
  • 59. Visual Studio • Du code, mais pas uniquement • Vue Design / Vue XAML / Vue Code (code behind)
  • 60. Interface Builder vs Blend
  • 61. Interface Builder • Placer des vues sans écrire de code • Modifier des propriétés • XIB non éditable. Pas de documentation
  • 62. Blend • Séparer le design de la partie métier • Permet au designer de s’occuper que de l’interface... • Créer ses propres composants • Réaliser des animations
  • 63. Focus sur 2 aspects techniques
  • 64. Le Tombstoning - Le portage de code
  • 65. Qu’est ce que le Tombstoning ?
  • 66.
  • 67.
  • 68.
  • 69.
  • 70. Le Tombstoning • Notre erreur : mauvaise évaluation de l’importance du principe • La conclusion : doit etre pensé dès le début de la conception/développement
  • 71. Le portage de code • Bien adapté pour une application comme Deezer vue la complexité de l’application • Condition : claire séparation entre l’UI et les classes métier
  • 72. Les problèmes rencontrés • Base de données • SQLite présent sur iOS depuis iPhone OS 2 • Utilisation du portage non officiel en C# http://code.google.com/p/csharp-sqlite/ • Pas de pb rencontré malgré le portage partiel • Non utilisation de Core Data (ORM) !
  • 73. Les problèmes rencontrés • Faible typage du langage Obj C • Gérer le polymorphisme (type id) • remplacer les catégories • traiter le cas nil • Gestion des notifications (pattern Observateur) •Utilisation des delegates dans la majorité des cas •Remplacement du mécanisme de broadcast
  • 74. Les problèmes rencontrés • Passage de MVC à MVVM (Modèle/Vue/ Vue- Modèle) • On passe de 3 objets à 4 • Difficulté : où mettre les comportements ?
  • 76. Exe Objective C mp le C#
  • 77. Conclusion • On a souffert ! • Support de Microsoft (y compris en France) • Aide abondante sur le web • Acquisition compétence cross-plateforme • On est content :-)
  • 78. Pour mieux nous connaitre ... Contactez-nous ! @ 38 rue des Mathurins - 75008 Paris@  Corinne Culo - cculo@sophiacom.fr   Philippe Rabier - prabier@sophiacom.fr   Téléphone : +33 1 41 40 05 80 

Notas del editor

  1. \n \n
  2. \n \n
  3. \n \n
  4. \n \n
  5. \n \n
  6. \n \n
  7. \n \n
  8. \n \n
  9. \n \n
  10. \n \n
  11. \n \n
  12. \n \n
  13. \n \n
  14. \n \n
  15. \n \n
  16. \n \n
  17. \n \n
  18. \n \n
  19. \n \n
  20. \n \n
  21. \n \n
  22. \n \n
  23. \n \n
  24. \n \n
  25. \n \n
  26. \n \n
  27. \n \n
  28. \n \n
  29. \n \n
  30. \n \n
  31. \n \n
  32. \n \n
  33. \n \n
  34. \n \n
  35. \n \n
  36. \n \n
  37. \n \n
  38. \n \n
  39. \n \n
  40. \n \n
  41. \n \n
  42. \n \n
  43. \n \n
  44. \n \n
  45. \n \n
  46. \n \n
  47. \n \n
  48. \n \n
  49. \n \n
  50. \n \n
  51. \n \n
  52. \n \n
  53. \n \n
  54. \n \n
  55. \n \n
  56. \n \n
  57. \n \n
  58. \n \n
  59. \n \n
  60. \n \n
  61. \n \n
  62. \n \n
  63. \n \n
  64. \n \n
  65. \n \n
  66. \n \n
  67. \n \n
  68. \n \n
  69. \n \n
  70. \n \n
  71. \n \n
  72. \n \n
  73. \n \n
  74. \n \n
  75. \n \n
  76. \n \n
  77. \n \n
  78. \n \n
  79. \n \n
  80. \n \n
  81. \n \n
  82. \n \n
  83. \n \n
  84. \n \n
  85. \n \n
  86. \n \n
  87. \n \n
  88. \n \n
  89. \n \n
  90. \n \n
  91. \n \n
  92. \n \n
  93. \n \n
  94. \n \n
  95. \n \n
  96. \n \n
  97. \n \n
  98. \n \n
  99. \n \n
  100. \n \n
  101. \n \n
  102. \n \n
  103. \n \n
  104. \n \n
  105. \n \n
  106. \n \n
  107. \n \n
  108. \n \n