Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Silverlight vs Metro Style quel futur ?

[new:30/10/2011]Le //Build/ a eu lieu. Il devait répondre à toutes les questions concernant l’avenir de Silverlight. Hélas les choses ne sont pas si simples...Dégager une vision pour le futur semble poser problème à une majorité de développeurs et de décideurs. Essayons d’y voir plus clair.

Silverlight mort ou pas ?

C’est bien entendu la première (et parfois seule) question qui vient en tête à tous ceux qui aime cet environnement de développement.

La réponse est loin d’être claire, en cause la communication sibylline de Microsoft à ce sujet.

Permettez-moi d’y répondre plus tard...

La nouvelle stratégie de Microsoft

La voie tracée par Windows 8 est celle de l’unification des plateformes (téléphone, tablette, PC) et c’est une excellente chose.

L’ajout de Html/JS pour créer des applications “natives” Windows est un enrichissement de la plateforme qui ne gêne en rien Silverlight. Mais il permettra surtout (dans l’idée de Microsoft) de faire venir au développement Windows des gens qui n’avaient aucune compétence en ce domaine.

Pourquoi cette soudaine volonté d’élargir la base de développeurs Windows ?

parce qu’il faut absolument que Microsoft atteigne les 200.000 applications (environ) sur son market place, puisque c’est sur ce chiffre que se battent les concurrents (Apple et Google). Or ce ne sont pas les développeurs .NET qui pourront  à eux seuls développer en quelques mois autant d’applications.

On ne parle pas de qualité ici, mais de quantité. Encore moins parle-t-on d’entreprises et de leurs besoins.

Les market places sont, vous le savez si vous avez un Smartphone ou une tablette, remplis à 95% d’applications minuscules qui se copient les unes les autres dans une espèce d’orgie de la contrefaçon.

C’est comme cela chez Apple, ça l’est aussi sous Android. Microsoft ne s’est tout simplement pas senti la force d’expliquer aux utilisateurs qu’il était préférable d’avoir 10.000 bonnes applications que 200.000 contrefaçons mal ficelées. C’est aussi simple que ça.

La raison de la présence de html/js comme “citoyen de première classe” pour développer des applications natives Windows ne doit sa raison d’être qu’à cela.

Nous avons basculé d’un monde où les choix de l’entreprise dictaient les succès dans le grand public à un monde consumériste, plus libéral que jamais, donc plus populiste, dans lequel ce sont les choix du grand public qui dictent aux entreprises leurs décisions (contre leur gré, c’est une évidence, mais elles peuvent de moins en moins résister). C’est le monde à la TF1 : “occuper les cerveaux”, “donner leur ce qu’ils demandent”. Microsoft pour une fois en est plutôt victime qu’instigateur... Ils doivent suivre.

Hélas pour nous, Microsoft est une entreprise privée, cotée en bourse, et elle ne peut être à l’informatique ce que Arte est à la télévision...

Le monde du PC s’aligne ainsi sur celui de la tablette qui lui-même n’était que le prolongement du Smartphone.

C’est un changement stratégique très important chez Microsoft, changement qu’on a vu débuter avec Windows Phone 7 où tout était fait pour le grand public et rien, pas même la diffusion d’applications, n’était prévu pour les entreprises.

Microsoft en a eu assez de voir ces concurrents s’en mettre plein les poches pendant que eux prenaient du retard, voire se ringardisaient sur un marché du PC pourtant toujours majoritaire et toujours en augmentation d’année en année (un ralentissement de la croissance ne signifie en rien un recul... manipulation classique des chiffres qu’on nous assène).

Bref, Microsoft doit gagner de l’argent, et le modèle qui rapporte en ce moment est celui mis en place par Apple et Google. Microsoft n’a pas le choix, l’entreprise doit suivre ce mouvement au risque de se voir limitée dans un avenir proche au seul marché des PC, juteux, mais ne représentant plus 100% du marché de la micro informatique. Le succès très mitigé pour l’instant de WP7 qui attend une renaissance au travers de l’alliance avec Nokia, la “promesse” de tablettes sous Windows 8 dans un an peut-être, tout cela est un lourd handicap pour Microsoft qui, de fait, a pris des années de retard sur des concurrents très agressifs en plus.

Windows 8, en unifiant les plateformes, en faisant basculer le PC dans le monde des Smartphones et des tablettes, se veut une réponse cohérente et suffisamment attractive pour permettre à Microsoft de rattraper ce retard gravement accumulé par un manque de clairvoyance de ses dirigeants. N’oublions pas que Microsoft avait un OS pour les Smartphone bien avant que Apple ne se fasse connaitre comme fabriquant de téléphones, n’oublions pas que Microsoft avait montré le concept de l’Origami bien avant la sortie de l’IPad. Microsoft avait toutes les cartes et toutes les technologies en main mais n’a pas su s’en servir. Aujourd’hui il faut tout simplement revenir dans la course et effacer ces grosses erreurs stratégiques.

Alors peut-on parler de “nouvelle stratégie” de Microsoft ?

Certains parlent plutôt d’un vent de panique qui tel un tourbillon pousse Microsoft dans une effrénée fuite en avant. Ce n’est peut-être pas faux. Avec le ratage de Vista, Microsoft a du sortir très vite Windows 7, bien plus vite qu’il ne l’avaient prévu. Depuis tout s’est accéléré, le mauvais départ de WP7 (prévisible mais tout de même pas un succès), l’arrivée en trombe de Android et l’explosion rapide du marché des tablettes, etc... On suppose en effet que chez Microsoft on est depuis Vista dans une course folle tentant de raccrocher les wagons à la locomotive alors même qu’à chaque pas en avant les concurrents avance de dix. C’est un peu comme les cauchemars où on est poursuivi par quelqu’un ou quelque chose qui nous rattrape alors même qu’on courre très vite mais en ayant l’impression de faire du sur-place...

D’autres, plus positifs, rappelleront justement le côté visionnaire de Microsoft (son OS pour unité mobiles, Origami...) qu’ils n’ont certes pas mis en œuvre suffisamment vite mais qui aujourd’hui va profiter pleinement à Windows 8. Un savoir-faire unique en matière d’OS, d’outils de développement, et de plateforme sophistiquées (.NET, WinRT), d’expérience utilisateur de pointe (Surface).

Que l’on souhaite voir la bouteille à moitié vide ou à moitié pleine, la réalité s’impose à tous : Microsoft a bien une stratégie, nouvelle et en rupture avec ses anciennes façons de faire. Que cette stratégie soit murement réfléchie ou ne soit que le produit de la panique n’y change rien, elle existe.

On se rappellera au passage que beaucoup disaient à l’époque que .NET et C# n’étaient que des “doublures”, un plan B “bâclé” parce que Microsoft s’était fait “jeter” du monde Java. Et c’était vrai ! Mais pourtant quel succès ! Que de bonheur avec l’API objet unifiée de .NET, avec C# si agréable, si puissant...

Donc, même si la nouvelle stratégie de Microsoft n’est pas née d’une longue réflexion visionnaire (ce qui reste à prouver malgré tout), elle existe et comme le passé récent nous l’a prouvé, elle peut chez Microsoft donner naissance à quelque chose d’énorme et de très attractif...

Alors, Mort ou Pas ?

Ca vous taraude hein ? Sourire

La vérité c’est que Silverlight et Flash sont morts depuis longtemps, depuis que Google a fait en sorte que les applications de type plugin ne soient pas référencées.

Connaissez-vous beaucoup de sites à succès qui sont fait exclusivement en Flash ou en Silverlight ? Certainement que non. Une bonne raison à cela : sans référencement un site est mort.

Donc tous les sites Web qui tournent sont ceux qui sont bien référencés dans Google, donc qui sont fait exclusivement en Html.

Qu’Apple ait décidé qu’il n’y aurait pas de plugin dans ses browsers pour Smartphones et tablettes n’est qu’une conséquence de ce choix fait par Google. Et une manière de lutter contre Flash que Steve Jobs déteste. Silverlight est un simple “dégât collatéral” de cette guerre anti-Flash menée par Jobs. On sait que Silverlight fonctionne sur l’OS des Mac, une façon peut-être pour Apple de ne pas trop froisser MS en donnant le change.

Mais il faut bien le constater, sur le Web, les applications “tout plugin” n’ont pas eu de chance faute de référencement et faute d’une haine particulière de Jobs pour Flash.

Silverlight pouvait-il à lui seul changer la face du monde ?

On a tous entendu parlé au début de projets visant à permettre l’indexation des sites Silverlight sous Google. Mais ce ne sont resté que des discussions de couloir.

Il faut savoir être réaliste : malgré l’avancée magistrale que représente Silverlight sur le Web, le monde du Web actuel n’est pas prêt à l’accueillir.

La décision de Microsoft de proposer un Internet Explorer 10 “Metro Style” ne supportant plus aucun plugin est donc la continuité logique de ce mouvement.

Cela signifie qu’à terme la totalité des utilisateurs de Smartphones, de tablettes, et de PC, ne pourront plus surfer sur des sites utilisant des plugins.

Même si Windows 8 propose une version “desktop” de IE10 qui accepte toujours les plugins, il s’agit là d’une solution transitoire “pour un moment”.

Qu’importe que ce “moment” dure un an ou dix, le fait est que tout ce qui n’est pas “Metro Style” devient “ancien” et donc “dépassé”. Paradoxalement même si, technologiquement Silverlight a encore au moins 10 ans d’avance sur Html.

Pour le Web, c’est cuit

Il en résulte que vouloir utiliser Silverlight pour créer des petites ou grosses applications pour le Web, accessible depuis n’importe quel browser par le grand public, c’est cuit. Pas aujourd’hui, pas dans un an, mais à terme c’est fini.

Or, quel décideur, quel directeur informatique irait jouer sa place en lançant aujourd’hui ou demain un développement Silverlight pour se le voir reprocher par sa direction dans 2 ou 3 ans lorsque l’application en question ne sera plus accessible aux utilisateurs ?

Pour le Web seulement !

Mais tout cela doit être relativiser : nous parlons ici du Web grand public. Les petits jeux, les petites applis, les menus animés qui complètent une page Web, etc.

Nous ne parlons pas du monde de l’entreprise et de ses intranets !

D’ailleurs, combien de patrons seront-ils prêt à offrir à leurs employés des stations de travail tout tactile avec un look de gros Smartphone alors même que XP continuer à régner en maitre ?

N’oublions pas non plus que les applications “Metro Style” sont “sandboxées” comme les applications Silverlight. On imagine mal Illustrator, Cubase, et mille autres logiciels “sérieux” se contenter d’une sandbox pour tourner.

De fait le bureau classique de Windows 8 est là pour très longtemps car il n’a vocation à disparaitre !

Il reste donc au développement .NET, dont Silverlight et même WPF, un avenir radieux dans la création de logiciel originaux, puissants et apportant de vrais services, ne serait-ce que pour les serveurs d’applications ou de données. Pour les entreprises mais aussi les autres utilisateurs. Beaucoup de photographes amateurs retouchent leurs photos avec Photoshop par exemple. Imaginez-vous un seul instant une version “sandboxée” de cette complexe usine à gaz ? Pas avant des décennies... (je ne parle pas des versions ultra limitées de type Photoshop Elements qu’on retrouvent gratuitement d’ailleurs sur Android ou autre).

De plus, toute application Metro Style doit être déployée via le market place... En dehors des frais d’inscription, Microsoft, comme ses concurrents prendra 30% sur les ventes.

Les éditeurs de logiciels du monde entier sont-ils prêt à baisser de 30% leur Chiffre d’Affaire ou à augmenter de 30% leurs prix de vente ?

Bien sûr que non.

Donc Metro Style ne saurait en aucune façon remplacer .NET pour la création des applications sérieuses. Et que propose Microsoft hors de Metro Style ? ... .NET, WPF 4.5, Silverlight en OOB, etc.

Alors Silverlight ça continue ?

Le domaine de prédilection de Silverlight c’est la gestion, LOB en anglais (“application de gestion” chez nous).

Or, dans ce domaine, Windows 8 ne sera pas adopté rapidement, et même s’il l’était, son bureau classique serait certainement privilégié au bureau Metro Style qui n’a de sens qu’avec un écran tactile (la preview de W8 montre de grandes faiblesses de ce mode en utilisation purement clavier/souris).

Au sein de l’entreprise, chez l’utilisateur photographe amateur, musicien amateur ou pro, etc, chez tous ces gens les applications “classiques” non sandboxées resteront essentielles.

Il n’est donc pas impossible que Silverlight conserve, comme .NET, une place importante auprès de tous ces utilisateurs là. Et comme, techniquement, Silverlight est loin d’être en retard ni même en voie d’abandon (Silverlight 5 sort bientôt, comme WPF 4.5), on peut dire qu’il existera de nombreux marchés pour lesquels pendant encore longtemps Silverlight restera un choix de bon sens, voire une obligation technique (on voit mal certains gros logiciels Silverlight être écrit en JavaScript !).

Donc ça continue.

Dans un marché de niche qui était finalement celui de Silverlight depuis le début : les applications de gestion.

Pour combien de temps ? Au moins 3 ans. Le temps de la sortie de Windows 8, de sa généralisation, et si toutes les entreprises basculaient à Windows 8 avec écran tactile et Metro Style comme seul et unique bureau.

Autant dire que la fin de cette niche se situe en réalité à un horizon encore plus lointain certainement.

Toutefois ne nous voilons pas la face, Silverlight pour le Web c’est la fin.

Madame Irma êtes-vous là ?

D’ici là beaucoup de choses peuvent se passer et remettre en cause tout ce qui vient d’être dit.

Dans le pire des cas, Silverlight a 3 ans devant lui.

Dans tous les autres cas sa durée de vie sera certainement encore plus grande.

Les utilisateurs pourraient rejeter Windows 8 comme ils ont rejetés Vista après tout... Et autant les raisons du rejet de Vista sont nébuleuses, autant des raisons objectives existent pour Windows 8 : le système de double bureau qui donne le tournis, l’impression schizophrénique d’avoir deux OS incompatibles dans un, la remise en question du surf sur les sites utilisant Flash (ils sont très nombreux), etc.

Bien que bourré d’idées intéressantes, Windows 8 pourrait être un flop sur les PC. Et Silverlight pourrait très bien, dans une navigation à vue à laquelle est soumise MS aujourd’hui, redevenir un produit d’avenir !

On se rappelle que le rejet par le monde Java de la tentative de Microsoft dans ce domaine avait permis la naissance de .NET et C#, un rejet de Windows 8 sur les PC au moins, remettrait certainement en selle ces environnements et langages qui, pour l’instant, sont au top de la technologie...

De même qu’une rapide adoption par Chrome et Firefox du look “Metro Style” sous Windows pourrait précipiter encore plus vite la chute de Silverlight faute de browsers pour l’afficher...

Si vous savez où se trouve Madame Irma, dite-lui qu’elle m’appelle, j’ai deux ou trois questions à lui poser...

C#/XAML c’est Silverlight non ?

C# et Xaml restent des citoyens à part entière du nouvel environnement de Windows 8, sur une base WinRT, le “remplaçant sandboxé” de .NET si on veut simplifier.

Certes, mais les applications C#/XAML tournant sous WinRT, même si elles ressemblent beaucoup à du Silverlight n’en sont pas. Espaces de noms différents, classes utilitaires différentes, packaging différent, etc. Et surtout, ces applications là seront des applications Windows uniquement, distribuée par le market place uniquement. Rien à voir avec du Silverlight Web donc.

De la même façon que les applications Html/js sous Windows 8 seront, pour la première fois depuis la création de Html je pense, les seules applications Html ne pouvant être utilisées sur le Web ! (Et oui, ces applications bien spéciales utilisent des classes de WinRT pour fonctionner et sont totalement incompatibles avec le Web). Il n’est pas dit que les aficionados de Html et JS apprécient cette façon de faire du “faux Html”, un peu comme le Java Microsoft avait été rejeté par la communauté Java parce que ce n’était plus du “vrai” Java... C’est un risque à ne pas oublier. Pour nous il reste C# et Xaml, des valeurs sures pour l’avenir !

Non, mais c’est une économie de formation...

Le couple C#/XAML pour faire des applications Windows 8 est en revanche une bonne occasion de rentabilisé les acquis. Même langage, même description visuelle, même organisation, WinRT n’est qu’un Framework .NET avec de nouvelles classes et des espaces de noms différents mais c’est le même “code de base” et le même esprit.

... Et une fantastique ouverture vers des millions d’utilisateurs.

Pour tous ceux qui voudront développer des applications Metro Style sous Windows 8, donc pour les PC et les Tablettes, il y a ici une merveilleuse opportunité ! Microsoft parle de 400 millions de clients potentiels très rapidement. Gonflés ou non ces chiffres seront énormes dans tous les cas (toutes les machines neuves vendues après la sortie de Windows 8 possèderont cet OS, portables, PC de bureau, tablettes...). Alors bye-bye les petites applis Web en Silverlight, certainement, mais bienvenue aux 400 millions de clients potentiels des applications WinRT !

Conclusion

Silverlight n’est pas mort. Il est au moins utilisable pour les 3 ans à venir. Au-delà Microsoft se refusant à nous dire si une version 6 verra le jour ou non (mutisme stupide s’il en est), nous sommes obligés de conclure que ça sent le roussi, il faut être clair. Sur le Web au moins, mais peut-être plus.

D’autres inconnues nous forcent à prévoir le cas où Windows 8 et IE10 ne seraient pas des succès sur les PC, comme ce fut le cas de Vista. Ici nous sommes dans la spéculation et les jeux restent ouverts...

Vous êtes une Web Agency

Dans ce cas ça fait longtemps que vous faites des sites Web en Html/js tout simplement à cause du problème de référencement évoqué plus haut. Pour vous rien ne change donc... Sauf que les petits menus en Flash il faut les refaire en Html5, mais c’est pas bien compliqué.

Vous êtes décideur, DI, dirigeant

Vous utilisez XP depuis dix ans, ne me dites pas que la sortie dans un an de Windows 8 vous affole à ce point là... Donc aucune raison de stopper ou modifier vos plans de développement Silverlight ou WPF. Dans 5 ans, quand le premier ne sera peut-être plus utilisable et qu’éventuellement vous serez passé à Windows 9 (en ayant sauté la 8), de toute façon il sera temps de redévelopper ces softs qui auront pris un coup de vieux (5 ans étant la durée de vie moyenne d’un soft en entreprise). Donc rien ne change. Concernant les logiciels sérieux, les serveurs d’application, etc, tout reste en .NET comme avant puisque je me tue à la répéter WinRT c’est du sandboxé et qu’utiliser .NET est une obligation si on a des besoins qui dépassent ceux d’une page Web de base ou d’une mini application de type Smartphone...

Vous êtes un particulier

De toute façon votre IPhone et votre IPad ne permettaient pas de voir les sites en Flash ou Silverlight. Alors peu importe, cela ne vous concerne pas. vous avez une tablette Android ? Vous continuerez à voir les applications Flash, mais Silverlight n’a jamais été porté sous Android, donc ici aussi, pas de différence.

Votre PC à la maison ? Je doute que vous le reformatiez dès la sortie de Windows 8. Donc vous pourrez encore longtemps continuer à surfer sur les sites en Flash ou Silverlight, rien ne change non plus...

Vous êtes informaticien indépendant

Forcément, si vous aviez misé sur Silverlight, il va falloir modifier un peu votre positionnement. Réviser Html et JS est une bonne idée, en attendant de vous positionner sur les applications C#/Xaml Metro Style... Mais tout dépendra de ce que vos clients vous demanderont. Ce sont toujours les informaticiens qui trinquent on le sait bien et les mois qui viennent vont être difficiles en raison du doute qui habite les décideurs.

Vous êtes informaticien dans une SSII

Si vous étiez “le” spécialiste Silverlight, il est temps de potasser Html5 pour ne pas faire partie de la prochaine charrette, cela me semble un conseil judicieux. Le monde des SSII est cruel et des camarades mieux formés que vous envoient leur CV tous les jours... Encore une fois c’est l’informaticien qui trinque, pas de chance. Si vous avez une bonne notoriété, positionnez-vous sur les applications Metro Style, vous avez déjà 90% des connaissances en poche. En la jouant finement vous passerez de spécialiste Silverlight à spécialiste WinRT et conservez tout votre prestige ! Si votre SSII ne souhaite pas aller dans cette direction, détectez-le au plus vite, formez-vous chez vous à WinRT, et envoyez des CV aux concurrents de votre patron qui auront le nez creux en reconnaissant en vous l’homme la “future” situation ! ou bien il faudra vous faire à l’idée de faire du Html et du JavaScript comme il y a vingt ans...

Pour tous...

Nous vivons comme souvent en informatique une période charnière. Elle est désagréable uniquement parce que nous sommes obligés de spéculer en raison d’une communication défaillante de Microsoft. C’est regrettable mais nous aussi nous savons naviguer à vue !

Un “trou” s’annonce entre maintenant et la sortie de Windows 8. Les décideurs, frileux par nature, dans une conjoncture mondiale morose, vont attendre d’y voir plus clair, ce qui est une excuse excellente pour différer certains budgets non vitaux. Mais les plus malins auront compris que Metro Style ne les concerne pas et que les applications lourdes qui devaient être lancées sous .NET doivent l’être de toute façon car Windows 8 ne changera rien à cela... D’autres, encore plus futés, savent que d’ici six mois à un an il leur faudra des versions Metro Style de certains de leurs produits. En C#/Xaml pour réutiliser au mieux les compétences déjà acquises.

C’est à ceux là et aux développeurs qui suivront cet axe que Dot.Blog s’adressera dans les mois à venir...

Silverlight ou Windows 8, tout cela met en avant une chose : le Design.

J’ai en parlé, je vais en reparler. Car c’est essentiel.

La continuité par l’expérience utilisateur, par la puissance de Xaml. C’est ce que je vous propose pour le futur !

Alors, bien plus que jamais :

Stay Tuned !

blog comments powered by Disqus