Olivier Dahan

MVP Client Development 2014
MVP Silverlight 2013, 2012, 2011, 
MVP CAD 2010, MVP C# 2009


Membre du Developer Guidance Advisory Council Microsoft

Audit, Conseil, Formation, Développement
[WPF, Silverlight, WinRT, MonoDroid]

Historique

MVVM Light 5 : support de Xamarin !

NewMvvm Light a toujours été ma préférence pour sa simplicité et son efficacité. La V5 apporte son lot de nouveautés parmi lesquelles on trouve enfin le support pour Xamarin !More...

Xamarin Android Player : Simulateur Android Haute Performance

NewXamarin n’arrête pas de m’épater, un dynamisme, une inventivité qu’on aimerait bien voir partout. L’une des dernières nouveautés, un simulateur Android haute performance gratuit à télécharger…More...

XAML : arbre visuel vs arbre logique sous WPF et WinRT

NewWPF propose deux visions de l’arbre des objets visuels là où WinRT ne propose de base qu’une seule approche. Mais quelle est la différence entre arbre logique et arbre visuel et comment s’en servir à la fois sous WPF et WinRT ?More...

C# - tail-calling et debug

NewLes optimisations du compilateurs C# ne font que rarement l’occasion de grands débats. Ce n'est pas pour autant que le sujet a moins d'intérêt ! Nous allons voir cela au travers d'une optimisation particulière appelée "tail-calling"...More...

Programmer “pro” : Implémenter un Undo / Redo

NewProgrammer “pro” cela implique beaucoup de choses dont le fait d’offrir des fonctionnalités absentes des logiciels amateurs comme la fonction Undo / Redo. C’est que ce n’est pas si simple à coder et à planifier. Regardons quelques approches sont les plus pertinentes…More...

Windows 9 est mort vive Windows 10 !

NewMicrosoft a enfin levé officiellement le voile sur la prochaine version de Windows. Et si beaucoup de choses avaient leaké la plus grande surprise fut de découvrir que Windows 9 n’existerait pas…More...

C#6 : amélioration de la gestion des exceptions

NewRoslyn qu’on peut appeler maintenant C# 6 va bientôt être une réalité, en attendant on peut en découvrir certains aspects, par exemple du côté des exceptions…More...

Vidéos de Windows 9 : la petite mort de WinRT ?

NewLes vidéos de Windows 9 fuitent sur le Web ces derniers jours avant l’annonce officielle probable le 30 septembre. Cette excellente mouture semble en capacité de renouer avec les utilisateurs mais ne signera-t-elle pas la fin de WinRT ?More...

Développer pour Windows Phone pas à pas

NewDévelopper pour Windows Phone est assez facile pour qui connait déjà Silverlight ou WPF, mais pour les autres se lancer est parfois difficile. Suivre pas à pas le développement d’une application est un moyen simple d’apprendre…More...

OneDrive s’invite comme répertoire Documents par défaut

NewOneDrive, anciennement SkyDrive, est le Cloud de Microsoft. Avec la stratégie “Cloud first” de Nadella on le retrouve donc un peu partout et même au plus profond de son PC. Comment configurer correctement OneDrive pour éviter les déconvenues ?More...

Dot.Blog | Cross-plateforme : Android - Part 1

Olivier Dahan

MVP Client Development 2014
MVP Silverlight 2013, 2012, 2011, 
MVP CAD 2010, MVP C# 2009


Membre du Developer Guidance Advisory Council Microsoft

Audit, Conseil, Formation, Développement
[WPF, Silverlight, WinRT, MonoDroid]

Historique

Cross-plateforme : Android - Part 1

Read this article in your language IT | EN | DE | ES

Le développement cross-plateforme dont j’ai déjà développé ici de nombreux aspects sous-entend aujourd’hui en toute logique de savoir utiliser l’OS Android. Malgré les passerelles (Xamarin, MvvmCross) il reste tout de même à comprendre “comment ça marche Android ?” et surtout de comprendre “pourquoi Android ?”

Des passerelles et des OS

Xamarin 2.0 avec son environnement de développement autonome lui-même cross-plateforme doublé de son intégration à Visual Studio est un outil fantastique pour aborder en toute sérénité les OS mobiles que sont iOS et Android. Mais cela ne fait pas tout…

D’autant que lorsqu’on parle de cross-plateforme sur un blog orienté Microsoft cela laisse supposer qu’on devra se débrouiller pour faire fonctionner avec le maximum de code commun des applications qui tourneront à la fois sur des environnements Microsoft et des environnements de type Apple ou Google.

Pour se faire nous disposons d’un autre outil extraordinaire, MvvmCross que j’ai déjà présenté très longuement (voir “Stratégie de développement Cross-Plateforme” en 3 partie.).

Mais tout cet outillage ne fait pas tout. MonoTouch et MonoDroid (Xamarin 2.0) et MvvmCross ne sont que des passerelles, des facilitateurs. Il faut nécessairement comprendre les OS ciblés pour faire de vrais développement cross-plateforme.

La partie Microsoft pose certainement à mes lecteurs moins de soucis que la partie Apple ou Google… Donc je m’attarderai plutôt sur ces derniers que sur le fonctionnement de WPF ou WinRT.

Plus exactement je vais vous parler d’Android.

Cross-Plateforme: J’entends par ce terme deux types très différents de développement. Le premier est celui auquel tout le monde pense, faire tourner la même application basée sur un même code sur plusieurs OS. Une application de gestion de rendez-vous qui tourne à l’identique sur IPhone et Windows Phone en réutilisant une code de base identique est un exemple de ce modèle cross-plateforme. Mais j’entends par ce terme aussi une autre forme de développement, plus hybride, plus proche souvent de la réalité : une même application dont différentes parties tournent sur différents OS. Une application de gestion de rendez-vous peut offrir la gestion multi-agenda, des impressions, des statistiques dans sa version PC, et elle peut être complétée par une version Android sur smartphone, pour chaque agenda de chaque utilisateur, et par une version tablette IPad pour le chef de service qui surveille le remplissage des agendas par exemple. C’est la même application avec des fonctions communes et d’autres spécifiques. Elle utilise une partie de code commun et des ajouts particuliers selon le support, le type d’utilisateur et d’OS cible. Cela aussi c’est du cross-plateforme. Et c’est à mon avis le véritable avenir d’un mix intelligent entre tous les form factors car aucun ne supprimera réellement les autres, tous devront travailler ensemble pour offrir plus de services mieux adaptés à chaque cas d’utilisation. Ce sont donc bien ici ces deux aspects très différents du développement cross-plateforme que j’évoque quand j’utilise ce terme.

Pourquoi Android ?

Si Windows a été, et restera encore longtemps incontournable dans le monde de l’entreprise pour ses OS serveurs, sa base de données, et ses OS de bureau il s’avère qu’aujourd’hui Android occupe une même position sur tout le reste, à savoir les smartphones et les tablettes. Apple est l’éternel chalenger. D’abord face à Microsoft à l’époque “Mac ou PC ?”, match gagné par le couple IBM/Microsoft, et aujourd’hui face à Google dans le match “iOS ou Android”, match désormais gagné par Google.

Mais avant d’aller plus loin, il est bon de raisonner sur des bases rigoureuses et vérifiables, sur des chiffres réels issus du marché.

Je veux ainsi que nous partions d’une analyse réaliste du marché, rien d’autre. Ni mes sentiments à l’égard de Apple, ni mon attachement à Microsoft, ni le fait que je ne trouve pas Android particulièrement exaltant ne doivent compter. Ce qui compte c’est le marché, et ce n’est pas moi qui le fait.
Je ne suis le VRP de personne et mon rôle n’est pas de “forcer” le destin d’un produit ou d’un autre, mais celui de conseiller clairement en fonction d’une réalité objective. Et j’essaye de m’y tenir en toute occasion, quelles que soient mes “j’aime” ou “j’aime pas” et indépendamment de toute affiliation ou rapprochement avec tel ou tel éditeur, Microsoft compris.

Répartition des OS sur la période 2008/2013

StatCounter-os-ww-monthly-200807-201304-bar

Ce graphique montre le Top 7 des OS dans le monde sur la période 2008 / 2013. Vous pouvez obtenir les chiffres exactes sous différentes formes (fichier csv, graphique…) en vous rendant sur le site de StatCounter.

On voit clairement sur cette période la domination de Windows XP, suivi de très près par Windows 7 et même ce sacré Vista ! Tout au bout du classement, là où les parts de marché n’ont pas de prise sur les décisionnaires, on trouve en vrac Mac OSX, iOS, Linux, Windows 8 et d’autres.

Ca c’est le marché global des OS sur les 4/5 dernières années, la répartition dans le monde de ces OS et leur poids réel pour prendre des décisions (à quelques pourcents près, chaque fournisseur de statistiques ayant ses propres biais).

Mais qu’en est-il sur le marché actuel, sur les ventes et les tendances de l’instant ?

Répartition du marché des OS sur les 3 derniers mois

Bien entendu cette image est une capture à un instant donné, dans 6 mois je conseille aux lecteurs qui passeront ici de suivre le lien donné plus haut pour avoir des données à jour…

A la date d’écriture de ce billet les trois derniers mois, de janvier à mars 2013, donnent la répartition suivante:

StatCounter-os-ww-monthly-201301-201303-bar

Windows 7 domine très largement aujourd’hui. Windows XP ne représente plus qu’un quart du marché, ce qui est malgré tout énorme. Environ 75% du marché est aujourd’hui couvert par XP et 7. Des OS sachant faire tourner des applications WPF mais pas WinRT.

Mac OSX reste stable, Vista disparait petit à petit, et iOS fait un score supérieur à Windows 8. Android sur ces trois derniers mois semble en recul, c’est un biais de cette statistique particulière. D’autres statistiques vont nous éclairer sur ce point.
StatCounter analyse les visites sur le Web pour établir ses statistiques ce qui introduit un biais assez fort car on sait que les utilisateurs de mobiles préfèrent les applications natives plutôt que les sites Web au travers d’un browser. Cela diminue la part des mobiles globalement. De plus, d’autres analyses prouvent que pour des raisons à déterminer les utilisateurs Apple utilisent beaucoup plus Internet avec un browser que ceux d’Android. Dans le graphique ci-dessus qui prend en compte tous les OS, mobiles ou non, la part des mobiles est sous-estimée et celle d’Android encore plus. Pour raisonner sur les mobiles il nous faut des statistiques où seuls les OS mobiles sont pris en compte.

Pour mieux comprendre voici d’autres statistiques (source w3schools) :

image

On le constate, malgré le “buzz” autour des mobiles, ces derniers ne pèsent pas encore très lourd (autour de 2 ou 3%) par rapport au monstre qu’est Windows et au monde des PC en général.

Une autre vision arrêtée à mars 2013 (source NetMarketShare) pour le marché global :

image

La même analyse pour les mobiles (smartphones et tablettes) :

image

Répartition des OS Mobiles sur l’année 2012/2013

StatCounter-os-ww-monthly-200807-201304-bar-Mobiles

Sur l’année écoulée, en cumul, Android est bien largement en tête à près de 30% du marché. iOS chute inexorablement, parti de presque 100% il ne couvre plus que 25% environ du marché, ce qui reste très significatif malgré tout et qui ne peut être ignoré lorsqu’on vise certains marchés.

Symbian OS a toujours ses fans, comme d’autres. Windows Phone, même la version 7 vendue depuis plusieurs années n’apparait nulle part dans ce classement… Concernant WP8 on pourrait invoquer la jeunesse (relative aujourd’hui) de l’OS, mais pour la version 7 l’argument ne tient pas.

Voici une autre vue pour 2013, bien plus simple, d’une autre autre source :

image

Dans ce découpage (qui prend en compte la part des mobiles par rapport à tous les OS) il n’existe que trois catégories : iOS, Android et “les autres”. La tendance qui se confirme est celle d’une montée d’Android (0.90 à 0.96, +0.06), d’une hausse plus faible d’iOS (1.07 à 1.11, +0.04) et une chute des “autres” (0.21 à 0.19, –0.02).

Peut-être les tendances ont-elles évolué ?

Répartition des OS Mobiles sur les 6 derniers mois

StatCounter-os-ww-monthly-200807-201304-bar-Mobiles-6m

Sur les 6 derniers mois les tendances sont nettes : Android atteint les 35%, soit une progression importante, et iOS se maintient à 25/26% ce qui reste toujours aussi honorable.

Windows Phone, toutes version confondues, apparait enfin avec 3,6% environ (selon les analystes entre 2,6 et 3,8%). C’est à dire bien en dessous même de Symbian qui flirte avec les 10% bien que cet OS soit “mort” technologiquement.

Mais peut-être tout cela évolue-t-il d’une façon surprenante depuis peu ?

Répartition des OS Mobiles sur la 1ère moitié de mars 2013

StatCounter-os-ww-monthly-200807-201304-bar-Mobiles-13d

En effet, les tendances bougent. C’est normal dans ce marché en plein bouillonnement !

Mais ces changements ne font qu’enfoncer un clou qu’on connait déjà…

Ce qu’on voit ? Android qui atteint presque les 40%, iOS toujours aussi stable. Forcément ce sont donc tous les autres qui trinquent de la montée de Android. Windows Phone (7, 7.1, 7.5, 7.8 et 8.0 tout mélangé) lui aussi reste stable… hélas. Toujours à quelques pourcents du marché. Aucune tendance à la hausse ou à la baisse visible sur les graphiques. Symbian disparait lentement mais se tient toujours légèrement en dessous des 8%.

Les Ventes

Tous ces chiffres sont intéressants mais ils partent tous d’une analyse du Web (visiteurs de sites Web) ce qui introduit un biais certain mais difficilement mesurable pour être corrigé.

Il faut donc une autre source d’information basée sur d’autres méthodes, notamment les ventes de matériel. Ici aussi il existe un biais connu : les ventes livrées aux magasins (physiques ou en ligne) ne sont pas toujours égales aux achats des consommateurs. Mais les vendeurs faisant généralement bien leur métier il est rare (mais pas impossible) qu’ils achètent des quantités énormes d’un produit qui ne se vendra pas du tout. Mais il faut être conscient de cet écart entre vendu aux boutiques et vendu aux clients.

En prenant les chiffres de IDC on trouve pour le dernier quart 2012 :

image

Cette vision est assez différente de l’analyse du Web. Elle montre que sur les 227,8 millions de machines vendues 159,8 millions sont des Android ! La part d’Android entre fin 2011 et fin 2012 est passée de 52.9% à 88% du marché. Apple avec iOS a baissé de 37% à 29.2%.

On pourrait se réjouir de voir Windows Phone faire un bond de 150% sur la même période. Mais de si grands chiffres impliquent soit un succès intergalactique, soit de partir de très bas… C’est bien entendu la seconde option ici puisque les ventes sont de 6 millions d’unités en 2012 malgré cette augmentation faramineuse.  Et malgré ce bond de géant, la part de Windows Phone n’est passée que de 1,5% à 2.6%. Avec 6 millions d’unités, les 47,8 d’Apple semble un rêve inaccessible… mais c’est encore plus écrasant si compare ces 6 millions aux 159,8 millions d’unités Android vendues sur la même période. Croire que ces écarts pourraient basculer notablement avant plusieurs années ne serait pas raisonnable.

Mais là n’est pas la question puisqu’aujourd’hui ce qui nous intéresse c’est de comprendre le phénomène Android et pourquoi il est essentiel pour vous de vous y intéresser de plus prêt... Les gloires et déboires des concurrents sont en dehors de notre sujet, même si pour constater la suprématie de Android nous sommes bien obligé de constater aussi la défaite des autres OS.

Que conclure de ces chiffres ?

On le voit clairement, quels que soient ses idées personnelles, ses coups de cœur ou ses bêtes noires, voire même son indifférence, les tendances du marché sont évidentes.

L’analyse du Web donne une idée intéressante des rapports des force en jeu, les chiffres des ventes de IDC viennent écraser toute forme de relativisme…

Android n’arrête pas sa progression.

Mais après avoir été détrôné de la première place on s’aperçoit que iOS s’accroche plutôt bien et refuse de céder plus de terrain en se maintenant à 20/25% du marché environ.

Ce sont donc tous les autres OS mobiles qui pâtissent désormais de la montée d’Android. Apple à beaucoup perdu et va rester certainement stable encore un moment autour de son point actuel. En revanche tous les autres se font dépouiller.

Parmi les perdants il y a les systèmes morts comme Symbian, ceux en train de mourir comme  BlackBerry et ceux qui voudraient exister mais qui n’y arrivent pas comme Windows Phone, faute de place tout simplement. 

Je suis désolé de cet état de fait. Je préfèrerais boire le champagne pour fêter les 25% de part de marché de WP8 et passer mes journées à développer des trucs en C#/Xaml pour cet OS, mais la réalité est toute autre. Et les tendances ne montrent guère d’espoir à courts ou moyens termes d’un renversement de tendance sans un renversement de stratégie de Microsoft. De toute façon il y a déjà deux géants, Apple et Google, dans un lit trop petit pour deux. Il faudrait un miracle pour que Microsoft arrive à chasser l’un ou l’autre pour se trouver un coin d’oreiller…

Donc quand je parle aujourd’hui de développement cross-plateforme, et me limitant à la réalité du marché, cela implique les OS et technologies suivantes :

  • Win32/Win64 pour les PC, en C#/Xaml donc WPF
  • Android de Google pour les smartphones, avec MonoDroid/Xamarin en C#
  • Android et iOS d’Apple pour les tablettes avec MonoDroid et MonoTouch/Xamarin en C#

 

Vous remarquerez que je n’inclue pas d’emblée l’IPhone dans cette démarche. La France est un cas à part où le marché du smartphone est aujourd’hui dominé par Android plus qu’ailleurs dans le monde. Si on développe en France pour des français, viser autre chose qu’Android est un investissement à bien mesurer car peu rentable. Néanmoins certains marchés peuvent le nécessiter. Vous remarquerez aussi que pour les tablettes j’intègre cette fois-ci l’IPad, tout simplement par sur ce form factor c’est Apple qui domine encore le marché français.

Le graphique ci-dessous montre cette ambigüité car StatCounter ne fait pas la distinction entre smartphones et tablettes :

StatCounter-mobile_os-FR-monthly-201301-201303-bar

On se rappellera des chiffres de ventes de IDC et du biais méthodologique propre à StatCounter qui analyse les visites sur les sites Web… Tout cela est donc à pondérer et iOS n’est pas forcément l’OS le plus présent aujourd’hui en France, les différences gigantesques dans les ventes nous le prouvent. Cela confirme juste que les utilisateurs d’IPhone et d’IPad visitent le Web avec le browser Apple alors que sous Android les applications natives sont préférées des utilisateurs. Deux cultures différentes.

Malgré tout, iOS ne peut être évacué pour certains développements smarphones et doit être pris en compte pour les développements tablettes. Mais la montée irrésistible de Android, la gamme gigantesque de machines différentes pour cet OS, le choix des résolutions, des tailles, mais aussi les prix attractifs sont certainement des éléments à prendre en compte s’il faut équiper 50 représentants dans une entreprise… Si on intègre ces avantages pratiques de Android et les chiffres des ventes, et sauf marché particulier, on aura donc intérêt, même sur tablette, à faire le choix de cet OS.

Pour rester en France, complétons ces analyses par la répartition des OS (tous, pas seulement les mobiles) sur les 3 derniers mois :

StatCounter-os-FR-monthly-201301-201303-bar

Dans notre beau pays on voit que Windows 7 domine à plus de 50% le marché suivi de XP à près de 15%, talonné par Vista à 12% et Mac OSX à 10%. Windows 8 arrive ensuite à 4/5 % environ. C’est à dire que pour les PC, en France, il y a 77% de machines ne pouvant faire tourner des applications WinRT, et si on raisonne dans l’autre sens il existe 81/82% des machines pouvant exécuter une application WPF.

N’étant pas un représentant de Microsoft (ce n’est pas ce qu’on demande à un MVP qui est un “expert indépendant”), ni un employé de la marque, et même si j’en suis franchement navré pour de nombreuses raisons, je ne vois aucune raison (au sens de raisonnable) de conseiller WinRT que cela soit sur PC, tablette ou Smartphone. En tout cas aujourd’hui. Dans un avenir plus ou moins lointain, après un changement net de stratégie de Microsoft, j’espère revenir sur ce constat et pouvoir enfin faire entrer WinRT dans le “bouquet” des technologies à conseiller. Ce n’est pour l’instant pas le cas.

Cela ne signifie pas que tout ce qui vient de Microsoft est à éviter ! Ce n’est pas parce qu’une seule de leur technologie n’a pas le vent en poupe que l’ensemble des produits de la marque n’a plus aucun intérêt.

Une erreur, un mauvais calcul n’est pas grave quand on possède comme Microsoft des dizaines de technologies toutes meilleures les unes que les autres !

Parmi les technologies Microsoft qui restent parfaitement d’actualité et sur lesquelles il faut continuer à investir on peut lister :

  • WPF, incontournable pour faire des logiciels modernes qui marchent sur 100% du parc de PC sous Windows
  • Visual Studio, même pour le développement sous iOS ou Android car Xamarin 2.0 s’intègre à cet EDI le plus intelligent du marché (pour un résultat plus puissant que Xamarin Studio, malgré ses qualités).
  • SQL Server, qui reste une fabuleuse base de données, rapide, puissante, capable de monter en charge et de rester stable sur des dizaines de millions d’opérations et des fichiers gigantesques,
  • Windows 8 en tant qu’OS qui est rapide et stable et vraiment agréable (tant qu’on reste en bureau classique)
  • Silverlight, même s’il est mort pour le Web grand public il reste l’unique outil de cette puissance sans équivalent pour créer des Intranet professionnels
  • Office, SharePoint, Blend, …

 

Parler de développement cross-plateforme aujourd’hui en restant cohérent par rapport au marché, cela consiste donc à créer des logiciels qui fonctionnent sous WPF côté PC et sous Android pour le reste. iOS peut être pris en compte pour certaines cibles (médical, musique, graphistes…).

Alors, pourquoi Android ?

Est-ce que Android me fascine ? Honnêtement non. Android c’est un Linux 2.6 modifié pour les smartphones. Rien d’excitant ni d’exaltant outre mesure. Mais Android est une réalité incontournable, comme le fut Microsoft sur les PC dans les 25 dernières années.

Est-ce que cette réalité modifie ma “loyauté” vis-à-vis de Microsoft ? Non plus. Je constate seulement que la réalité du marché est ce qu’elle est et que pour l’instant Microsoft n’a pas su prendre une place significative sur le marché des mobiles. Je trouve cela dommage, mais je conseille mes clients et mes lecteurs en fonction de la réalité du marché et de la direction que je pense qu’il prendra. Pour l’instant aucun indicateur ne me laisse penser que Microsoft sera capable de repousser le succès de Android. Apple tiendra encore un moment sa place de second et ce n’est pas Windows Phone 8 qui détrônera l’IPhone c’est certain. Apple et Google pesant 90% du marché mobile environ, cela laisse très peu de place à Microsoft même s’ils modifiaient radicalement leur stratégie pour revenir dans la course.

Dès lors, pour tout ce qui est mobile, et pour les raisons exposées plus haut je ne peux que conseiller d’utiliser Android sans oublier iOS ponctuellement sur certains segments de marché qui le nécessite.

Voilà pourquoi je vais vous parler d’Android et que je continuerai à parler de WPF.

Vais-je me taire au sujet de WinRT ? Non. J’aime bien WinRT. Je regrette qu’il soit mal vendu et si peu adopté, mais il n’est pas dit que Microsoft n’arrive pas à lui faire une place sur le marché. Il est trop tôt pour parler d’échec définitif. Perdre une bataille n’est pas perdre la guerre.

Mais entre garder un œil  attentif sur une technologie et la conseiller il y a un monde. L’heure n’est pas à conseiller WinRT tout simplement.

Conclusion de la partie 1

Cette première partie n’était pas technique, mais elle était nécessaire. Faire des choix, donner des conseils, tout cela n’a de sens et de portée que si on explique rationnellement le pourquoi du comment.

Android n’est pas un OS qui me fascine, mais grâce à Xamarin c’est un OS que je peux programmer rapidement sous Visual Studio en C#. Et ça c’est un atout, celui de la productivité.

Android a une place sur le marché totalement incontournable, une importance aussi grande sur les mobiles que Microsoft en a sur le monde des PC et l’ascension n’est pas terminée.

Demain (fin d’année 2013 normalement), des AndroidBooks vont sortir. Je ne parle pas de ChromeBooks machines trop en avance sur leur temps car réclamant une connexion permanente en tout endroit ce qu’aucun pays même le plus civilisé ne peut offrir aujourd’hui. Les AndroidBooks seront des PC équipés de Android 5, des PC avec tout l’univers connu et aimé du grand public. Si cette sortie est gérée correctement c’est la suprématie même de Microsoft sur ce segment des portables qui pourraient être attaquer gravement.

On le voit, aujourd’hui Android est une force montante. Cet OS a interdit à Microsoft de se battre contre Apple et son IPhone en venant prendre la 2de place, demain cet OS s’attaquera au cœur de la domination de Microsoft, les portables grand public. Google a acquit une suite bureautique compatible Office qui sera certainement présente sur les tablettes et AndroidBooks prochainement. Tous les indices en notre possession montre que Android n’a pas encore terminé sa percée. Les mêmes indices nous prouvent que Microsoft n’a toujours pas réussi à jouer un rôle dans le monde des mobiles et que même sur le terrain des PC ils pourraient être gravement mis en danger. Ces jours derniers des analystes financiers sont allés jusqu’à conseiller de vendre les actions MS avant qu’elles ne chutent encore plus bas.

Je pense que Microsoft est à la croisée des chemins. S’enferrer dans la stratégie actuelle serait une erreur mais on ne voit pas de modification en cours ni à a venir. Microsoft est une entreprise puissante qui a les reins solides. il faut voir cela comme une mauvaise passe. Je ne suis pas pessimiste sur l’existence même de Microsoft. C’est simplement leur suprématie sur le monde des OS qui se termine. Il suffit qu’une Direction renouvelée prenne les bonnes décisions pour de nouveau flirter avec le leadeurship j’en suis convaincu. Toutefois je ne suis pas voyant, je ne prédis pas l’avenir dans le marc de café et je m’en tiens, en bon informaticien, aux chiffres, à la réalité du marché. Et cette réalité est aujourd’hui très favorable de façon durable à Android.

Faire du cross-plateforme dès maintenant c’est simplement accepter la réalité, loin des dogmes et des clans. C’est juste admettre de voir le monde tel qu’il est et non tel qu’on le voudrait. Et cet apprentissage d’Android que je vais vous proposer dans de prochains billets, peut-être qu’un jour il ne vous servira pas juste à programmer des smartphones, mais bel et bien tous les PC qui équiperont vos entreprises…

Nous vivions depuis deux ou trois ans, depuis le “big shift” de Microsoft, dans un monde plein de doutes. Fallait-il suivre aveuglément Microsoft ou bien vendre son âme à ce diable de Jobs ? Fallait-il développer en double, en triple, en quadruple, en quintuple même! sous iOS, Android, Win32/64, WinRT, HTML5/JS ?

Nous étions dans une angoisse dont le poids n’a cessé de s’accroitre ne pouvant plus déterminer le vrai du faux, l’intox de l’info, et ne sachant tout simplement pas le lire le futur…

Ceux de ma génération ont connu cette même angoisse lors du match Mac/PC. Fallait-il suivre Apple déjà connu ou faire confiance au “sérieux” de IBM ? Fallait-il développer en double tous les softs ? Combien de projets ont capoté, combien ont été différés, combien se sont trompé… Et le jour où la suprématie, même à peine frétillante, de IBM/Microsoft s’est faite sentir, tous nous avons plongé. Nous avons suivi cette voie car c’était enfin le paradis : la paix de l’âme, plus besoin de choisir. Nous avons gagné 25 ans de stabilité à ne plus connaitre les affres d’un tel questionnement. Par notre choix d’opter pour l’un plus que l’autre nous avons offert à l’ingénierie logiciel tous les progrès des 25 années passées. Si vous ne programmez pas en assembleur aujourd’hui c’est grâce à cette paix que ceux de ma génération vous ont offert.

Ces dernières années les bouleversements ont été tels que nous étions replongé dans ce cauchemar affreux. Et comme avec le progrès tout est toujours mieux qu’avant, ce n’était plus deux OS entre lesquels il fallait choisir mais trois ou quatre !

Aujourd’hui nous vivons ce même frémissement d’une stabilité si reposante à venir. Cette voie c’est celle d’Android. On ne se demande pas si on aime. Franchement le premier MS-DOS sur le premier PC était une atrocité comparé au Macintosh ! Android est-il exaltant ? Pas plus que ne l’était MS-DOS. Est-il plus puissant, plus beau ? Non. Mais il partage avec MS-DOS une chose essentielle : il nous promet une nouvelle vague de stabilité. Et seule cette stabilité permet à l’industrie du logiciel de fleurir, de s’épanouir. Nous autres concepteurs de logiciels ne sommes pas des mécaniciens. Les ingénieurs qui travaillent sur les circuits intégrés peuvent sortir de nouvelles machines tous les mois. Nous il nous faut des années parfois pour élaborer une pensée cohérente pour les programmer correctement. Sans stabilité note métier ne peut exister sérieusement.

L’industrie du logiciel dans sa totalité a besoin de stabilité, Microsoft l’a oublié en troublant le marché, en distillant la peur, en provoquant un changement brutal sans option. Android arrive à point, conquérant et aimé du public pour nous offrir la paix 25 ans après ce que Microsoft avait su faire avec Bill Gates. J’aurais préféré que Ballmer nous offre 25 ans de paix supplémentaire avec WinRT sur mobiles, c’est d’Android et de Google que vient cette paix, il faut la saisir, maintenant.

Le choix d’Android est donc un choix de la raison, celui de la stabilité, car seule la stabilité nous permet de faire notre métier de façon intelligente et de générer du business profitable à tous…

La peur est le chemin vers le côté obscur, la peur mène à la colère, la colère mène à la haine, la haine … mène à la souffrance”. Maître Yoda. 

Avec Android choisissons le côté clair de la force.

Alors pour ce voyage au pays d’Android…

Stay Tuned !

Comments (12) -

pechaire
pechaire
4/16/2013 2:06:18 PM

Merci pour cette belle analyse.

Sans remettre en question ton analyse pertinente, je crois qu'il faut séparer ceux qui travaillent à destination des particuliers de ceux qui s'adressent aux pros.
Pour ma part, c'est les pros et certainement pour la majorité de tes lecteurs...
Je n'ai aucune demande sur mobile et je n'imagine pas fournir 1 service sur ce support trop limité pour mon métier. Par contre pour les tablettes, tout le monde en rêve...

Mes clients sont soit PC soit MAC.
Mon appli (client lourd) tourne sur MAC via TSE.
Lorsque ces derniers (minoritaires mais fidèles) achètent 1 tablette ou 1 tel. pour le boulot, c'est du Apple, logique et ça marche super bien (et c'est les moins chers et les plus autonomes si on ne prends pas la dernière gen.).
Lorsque les 1ers achètent 1 tablette, ils sont indécis (et moi aussi): ils tiennent cpte de mon avis + le prix. Vu que pour l'instant c'est toujours via TSE, je leur propose le choix entre IPad & Android mais l'Ipad plait beaucoup plus.
Si la surface RT avait permis de faire tourner mon appli, ça aurait tout changé et s'aurait été 1 vrai carton assuré pour MS et pour nous.
Pour conclure, je crois que le marché du pro n'est encore acquis à personne...
mais la surdité grandissante de MS et la politique contraignante d'Apple te donnent effectivement raison : Google remportera le combat faute de combattants.

Il reste l'option appli Java multiplateforme...
Quand on y refléchi, c'est le seul environnement stable depuis longtemps et vraiment ouvert...

Olivier
Olivier
4/16/2013 5:52:59 PM

Ce que j'appelle mobile ici, c'est l'ensemble des unités mobiles, smartphones et tablettes.
Dans le milieu pro les demandes pour appli smartphones sont encore rare, mais ça va venir. Les DSI ont du mal a être inventif dans une période floue, ils font gaffe à ne pas perdre leur place en ces temps de chomage ce qui coupe un peu l'envie d'innover...
Mais je pourrais remplir des pages entières d'idée d'appli phone très utiles dans les milieux pro car  comme je le précise en intro, il ne faut pas penser appli complète, mais cross-plateforme "éclaté" : certaines fonctions sont super plus pratique sur un phone, d'autres sur tablettes et d'autres sur PC, "une" appli complète se trouve donc découpée en "fonctions" qui sont implémentées sur des devices différents selon la meilleure utilisation. Prend l'exemple d'une appli de gestion de stock, les stats, les listing, etc, tout çà c'est sur l'appli PC, le visionnage du catalogue ou de l'emplacement dans le stock, c'est mieux sur une tablette, mais le flashage d'un colis ou d'un article pour savoir il va, s'il entre ou s'il sort du stock c'est forcément plus pratique sur un phone... Et toutes les applis LOB ou presque peuvent être découpées de cette façon.
C'est ça le futur : phones, tablettes et PC ne s'élimineront pas mais devront travailler ensemble pour accomplir une même application.

Quant à utiliser Java, je dis bof. J'ai fait du java à l'époque de delphi, et déjà là delphi était mieux fichu. Les différentes lib ibm, oracle, etc, c'est l'enfer de l'incompatibilité, l'IDE eclipse c'est à pleurer quand on connait VS, etc.

Pourquoi se faire du mal alors qu'on peut travailler en C# sous VS avec Xamarin ? C'est tout aussi natif à la fin et ça fait gagner en productivité. Mieux on peut partager du code avec des applis PC justement, qui elles vont rester sous Windows pour un bon moment encore.

D'autant plus que si tu veux ajouter le support d'un IPad, tu peux reprendre ton code Xamarin sous VS, alors qu'en Java va falloir tout revoir car Cocoa c'est du C, pas du Java...

Je ne vois donc pas l'intérêt de Java aujourd'hui. La compatibilité dont ont a besoin ce ne sont pas toutes les machines du monde même les microondes ou les machines à laver... là Java ça a un sens, mais nous on a besoin : pc, phone et tablette. Et pour ça on a la chance d'avoir C# qui marche partout, VS et xamarin pour unifier tout ça et partager le code.
Faudrait être un sacré pervers pour faire du C# sur PC, du java sous Android et du Cocoa sous Ipad quant même ! Smile

mjm73
mjm73
4/16/2013 2:22:24 PM

Bonjour,
Je vous ai suivi vers Delphi, puis vers C#, puis XAML/WPF et .. retraité de fraîche date je continue à programmer bénévolement pour une (grosse) assoc. Pour "Stay Tuned", quand même, je vais vous suivre dans le voyage "Androïd", pour le fun. cependant une question quand même, pourquoi ne pas passer carrément à Java ? (ce n'est pas polémique c'est juste une question naïve Smile
A bientôt.

Olivier
Olivier
4/16/2013 6:05:11 PM

Aucune question n'est polémique, quand on question  l'est c'est que c'est la réponse qui va fâcher, mais la question n'y est pour rien Smile

Comme je le disais plus haut en réponse à "pechaire", je ne vois pas l'intérêt de java et d'éclipse lorsqu'on a la chance de pouvoir utiliser Visual Studio et C# pour faire le job.
D'autant que je parle de contexte cross-plateforme, je n'ai pas dit qu'il fallait jeter tout ce qui vient de MS et se consacrer uniquement à Android Smile
Et dans le cross-plateforme il faut unifier ses connaissances pour rester productif, ne pas éclater le code, pas mélanger trop d'IDE ou de langages différents.
La solution C# + VS + Xamarin permet de travailler avec du code commun sur pc, android, ios, c'est un gain extraordinaire et une vraie chance de disposer de tels outils.

Maintenant à titre personnel, si on se consacre uniquement à Android, Java pourquoi pas. Et encore, si on vient du monde MS, on fait vite la tronche devant un IDE comme Eclipse ! Donc même dans ce cas pour garder un niveau de confort "pro", on préférera VS+Xamarin+C#. En tout cas même si demain je devait faire que du Android je le ferai comme ça et certainement pas avec Java.
Et puis aussi, pourquoi se fermer des horizons ? avec java on se bloque sur Android. Avec C# et Xamarin on reste ouvert au PC, à iOS. C'est important.

Java est un vieux langage à peine plus jeune que Delphi. C# a été créé après se trouve être techniquement supérieur sur de nombreux points. Le framework .NET lui-même est bien mieux fichu que l'était la VCL Borland ou les libs incompatibles entre elles pour Java.

Donc même purement techniquement, je ne crois pas que cela soit une avancée pour un développeur connaissant C# de passer à Java.

Mais il faut essayer. J'ai éclipse sur ma machine, j'ai bricolé des trucs pour Android en java, je le garde installé juste pour me remonter le moral quand parfois je peste sur un truc sous VS... J'ouvre eclipse, je bidouille deux secondes, et je retourne sous VS, complètement calmé... Smile

Nk54
Nk54
4/16/2013 5:08:40 PM

Ahhh de la lecture Laughing merci Olivier !

Hâte de lire la suite Smile

Par contre, même si la stabilité pointe le bout de son nez avec Android, je suis bien triste que Microsoft ne se soit pas fait sa part du gâteau ...

En même temps, je me rappel ce laps de temps où je ne savais plus quoi penser, sur quelle techno m'investir avant d'avoir des outils pour faire du crossformfactor avec du .NET ... Je suis bien content de ne plus être dans cet état d'esprit car ça me rongeait et je suppose ne pas avoir été le seul dans ce cas.

Olivier
Olivier
4/16/2013 6:16:38 PM

l'angoisse de ne pas savoir s'il fallait suivre aveuglément MS ou se jeter sur iOS ... ce temps là est terminé, heureusement. En tout cas de mon avis (et de celui du marché).
Et je comprends parfaitement ce stress, je l'ai vécu en tant que dev, mais surtout en tant que Conseil... Quand on est payer pour indiquer le "bon chemin" à un client on a une sacrée responsabilité. Et trouver des approches qui auraient été valable sur 5 ans mini il y a encore 1 an c'était sportif et ça donnait des sueurs froides !

Je crois que le moment de souffler et de se détendre est arrivé. Peut-être faut-il précipiter cette prise de conscience, d'où mon envie de communiquer sur Android et le cross-plateforme.

Il est temps de recréer un espace de stabilité pour faire avancer les choses.

Aujourd'hui il est clair qu'aucun des trois éditeurs (Apple, Google, MS) n'est en capacité de rafler 100% du marché sur les 3 form factors (pc, tablettes et phones).
On doit donc s'adapter à un marché segmenté et plus équilibré sans domination absolue comme celle de MS pendant 25 ans.

MS a loupé sont approche sur les mobiles, et ça me fait de la peine, ils avaient de bon produits mais hélas il a des choses qui coincent, un état d'esprit qui ne plait pas, la mayonnaise ne prend pas tout simplement.
Donc on a des PC sous Windows, et des mobiles (phones/tablettes) sous iOS et Android.
Ce dernier est et restera maintenant majoritaire.
Apple ça fera comme pour le Mac: ça ne disparait pas mais ça devient négligeable. Pour certains marchés c'est important, pour la majorité des autres non.

Il faut donc avoir les bons outils et enfin se reposer sur des évidences : le marché a parlé.

C'est drôle d'ailleurs, quand on voit les ventes d'Android ça devrait être évident pour tout le monde...

Mais dans le monde MS au moins, les gens sont encore "ouais, bof,..." quoi bof ? On fanfaronne quand Nokia a vendu 2 millions de téléphones et on dit "bof, peut être.." quand Android vend 160 millions d'unités ?

J'aurais envie de dire pour paraphraser la dinde la plus célèbre en ce moment "Allo quoi ? T'es un dev et tu fais pas de l'Android ? Mais allo quoi ? ! " Smile

Nk54
Nk54
4/17/2013 10:36:58 AM

Hahaha la dernière phrase m'a bien fait rire !

+1 pour Eclipse, j'ai voulu il y a 3 ans, passer dessus pour certains projets étudiants ... Et bien j'ai vite perdu la tête en installant des plugin, programmant etc.

D'ailleurs en parlant d'IDE, j'ai été plus que surpris par Xamarin Studio que je suis désormais de très près ! Peut être que sur ma machine perso, je passerai dessus lorsque que le .NET 4.5 sera totalement dispo et que la PCL sera géré.

ps: je viens de voir que la part 2 est dispo ! coool Smile

Olivier
Olivier
4/30/2013 6:22:49 PM

Eclipse c'est sympa tant que t'as pas utilisé Delphi 7 il y 15 ans ou VS aujourd'hui...

J'ai été aussi agréablement par les dernières versions de Xamarin Studio qui commence a être vraiment un bel environnement.

Perso je suis en train d'étudier de passer une machine Win 7 en Ubuntu pour développer dessus si on peut faire tourner Xamarin studio et les émulateurs google (je suppose que oui mais je n'ai pas eu le temps de regarder encore).

MS n'est pas mort et a certainement beaucoup de bonnes choses à nous offrir dans le futur, mais ce sera un futur partagé avec Android et il faut s'y préparer maintenant.

mced76
mced76
4/30/2013 9:30:27 AM

Bonjour,

J’ai lu avec grand intérêt vos articles sur le développement Android.
Concernant le choix de cette plateforme (qui semble écraser toutes les autres plateformes mobiles), je ne suis pas tout à fait convaincu par votre raisonnement.

Ce dernier se base sur des études de volumes de Smartphones (il est vrai dominé par Android), cependant, le nombre de mobiles correspond-il vraiment au nombre de personnes qui l’utilisent pour les applications ?

Mme Michu veut tout d’abord un téléphone « Tactile » (vocabulaire repris des vendeurs Orange) et ne sait même pas qu’elle va pouvoir installer des applications avec. La plupart des utilisateurs Android ne l’utilisent que pour des usages téléphoniques (voix+SMS.

Google adore communiquer sur ses chiffres hors contexte (j’adore la propagande Google+, tous les possesseurs d’une adresse Gmail ont quasiment un compte G+, ce qui signifie pour Google que toutes ces personnes l’utilisent comme réseau social…)

Votre article ma interpelé, car nous avons réalisé une application gratuite sur 3 plateformes (iPhone, Android, Windows Phone). Je précise que cette application n’a aucun concurrent dans les différents stores. Contre toute attente, le nombre de téléchargements est plus important sur Windows Phone, iPhone arrive en 2ème et Android arrive en dernier (chiffres assez proche de quelques pourcentages).

Tout cela pour dire que je partage votre vision sur le développement sur plusieurs plateformes, mais non, Android n’est pas (encore) le dominateur suprême pour les Apps comme l’était le PC. Passer à côté des 2 autres plateformes, est, à mon avis, passer à côté de belles opportunités (encore pour de nombreuses années).

Olivier
Olivier
4/30/2013 6:45:03 PM

Mon raisonnement peut vous sembler inapproprié mais votre contre-argument je pourrai aussi l'appliquer à Windows... Combien de "mme Michu" possèdent-elles une licence windows pour des portables à 350 euros juste pour faire du mail et stocker les photos de leur petit apn numérique... Combien d'ados acnéiques possèdent-ils de licences juste pour jouer sur PC ? Combien de types de se servent plus souvent de leur PC pour regarder, d'une seule main, des sites pornos ? Etc...
En réalité si on ne garde que les PC utilisés "sérieusement" on pourrait vite déduire comme vous le faire pour Android que cette plateforme est mineure...
Vous faites là à mon sens une erreur de raisonnement vous aussi.

Quant au marché Android, lentement mais surement, le potentiel financier est en train d'égaler celui de iOS si on regarde tous les chiffres récents. Et cette tendance est à la hausse depuis le départ, alors qu'elles sont en baisse chez les concurrents.

Concernant Windows Phone, votre seule expérience ne peut malheureusement pas servir à se forger un jugement global du marché...
On pourrait simplement penser que votre logiciel attire plus la clientèle geek MS qui a du WP. C'est un biais important. On pourrait aussi, tout simplement dire que lorsque votre application est noyée dans les 800.000 du Google Play elle arrive moins facilement à percer sans une pub efficace, alors que sur les quelques centaines du store WP elle se voit plus par force... (le coup des 10000 apps étant bidon, il suffit d'aller sur le store MS et en une heure on a fait le tour. Le tout en enlevant toutes les applis en chinois ou autres langages exotiques bizarrement affichées sur le store en français ainsi que les applis win32 étrangement plébiscités en cet endroit. MS voudrait faire du remplissage pour tromper les clients qu'ils ne s'y prendraient pas autrement...).

Bref, de quelque bout qu'on prenne les choses Android est une force montante lorsque iOS est à la baisse (forte) et que Windows patine dans la semoule à quelques pour-cent du marché.
Tous les chiffres le montrent.

Enfin, je n'ai pas affirmé que dès aujourd'hui Android supplantait le marché, c'est Windows qui tout form-factor confondu tient toujours le haut de la liste.
J'affirme simplement que Android est une force montante qu'on ne peut plus dans le petit monde Windows repousser d'un geste comme une quantité négligeable. Et que la multitude des OS est nuisible au business car cela coute cher, et que Android va s'imposer comme alternative à Windows, sur les smartphones c'est une évidence dès aujourd'hui (depuis hier même), sur les tablettes (idem) et sur les PC d'ici un an ou deux.
Parmi tant d'autres choses qui vont dans le même sens la dernière annonce de Intel qui va sortir des tablettes transformables à 200 dollars sous Android devrait vous inciter à croire non pas en un avenir annoncé par un voyant, mais à une réalité qu'il faudrait être aveugle pour renier.

Mais bon but n'est pas de convaincre ou de jouer les mme Iram. Je ne fais que constater une réalité, et je propose à ceux qui n'avaient pas encore senti le vent tourner de me suivre pour explorer le monde Android car cette connaissance sera indispensable de toute façon à un informaticien pour l