Olivier Dahan

Microsoft 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

HTML 5 : la tragique fin d’un buzz

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

HTML 5, l’un des plus gros buzz sur du vaporware des vingt dernières années... Ce buzz prend fin de façon tragique. Il faut rapidement s’en rendre compte pour prendre les bonnes décisions pour le futur de vos développements !

Le Web est-il encore l’avenir de l’Homme ?

Le Web est partout, il faut partie de nos vies, il a envahi nos cerveaux, nos écrans, et même celui des petits enfants (malgré l’interdiction de s’inscrire en dessous de 13 ans, Facebook compte beaucoup d’enfant de moins de 6 ans qui ont leur page !).

Le Web ce n’est qu’un outil de l’Internet, ce fantastique réseau qui, comme tout progrès de cette taille, amène autant d’avancées extraordinaires que de mésusages dangereux.

Mais si Internet est là, et pour longtemps, en va-t-il de même pour le Web ?

Mais n’entend-t-on pas dire tout le temps “Le Web est devenu un support et un transporteur d’information essentiel tant au business qu’à la vie privée.” ?

Non ! C’est une erreur... Internet est ce vecteur, le Web n’est qu’une application spécifique de l’Internet !

Le Web sera-t-il présent dans l’avenir ? Oui, mais plus à 100%.

Le Web se programme, il a ses normes (beaucoup), ses modes, ses courants de pensées, ses dogmes. Et il a HTML comme base. Et cela ne changera pas de si tôt.

Ce qui va changer c’est que le Web ne va plus être 100% de l’utilisation d’Internet, comme le PC cesse de représenter 100% du marché des logiciels.

La version 5 de HTML est bien trop en avance sur les browsers, ces derniers implémentent les choses de façon trop anarchique, les outils de développement ne sont pas à la hauteur, etc. Mais la norme 5 de HTML s’imposera au fil du temps, comme ce fut le cas pour pour les 4 précédentes.

Mais voilà, si le Web restera le Web, ce sont les machines pour s’y connecter qui ne sont plus les mêmes ! Et cela change TOUT.

C’est Internet l’avenir de l’Homme, pas le Web...

Internet for ever

On le voit clairement, Internet en tant qu’infrastructure mondiale de communication libre fait aujourd’hui partie de nos “besoins vitaux”, qu’il s’agisse de vendre de la musique ou bien de préparer une révolution au Maghreb... Des plus riches aux plus opprimés, des plus bavards pour le plaisir de pérorer sur FB aux plus muselés derrières les par-feux chinois, Internet est une “plomberie” devenue indissociable de l’avenir des entreprises comme de celui des peuples et des individus.

Le problème pour gérer l’avenir c’est souvent qu’on associe trop facilement ce qui est séparé uniquement parce que l’habitude a créé un lien artificiel entre les choses.

C’est le cas du Web et d’Internet.

Internet la plomberie, le Web l’interface. Une simple application d’Internet. La plus voyante jusqu’à hier. Mais pas demain...

Internet et Web ne sont pas liés. Le second n’est qu’une façon parmi d’autres d’utiliser le premier et pas la seule.

Les browsers ne sont que des applications spéciales proposant une interface pour utiliser Internet d’une certaine façon.

Mais aujourd’hui Internet peut être utilisé directement par des applications sans passer par un Browser ! Des millions d’ordinateurs dans le monde à chaque seconde échangent des données en passant par Internet mais en ignorant totalement les browsers !

Bref : Confondre l’avenir d’Internet avec l’avenir du Web est une erreur grossière...

L’explosion des form factors coulent le Web

S’il est facile d’accéder au Web sur un PC ou un Mac, car double-cliquer sur l’icône d’un browser est aussi simple que de le faire sur n’importe quelle application, l’accès au Web sur des tablettes ou des Smartphones est déjà moins aisé. Tout utilisateur d’unité mobile l’a constaté.

Sur les Smartphones c’est la taille de l’écran qui gêne le plus. Et le nombre de manipulations pour arriver sur une page Web donnée, taper l’adresse avec un clavier tactile qui couvre l’écran, etc...

Sur les tablettes on retrouve les mêmes problèmes, celui de la taille trop petite de l’écran en moins malgré tout.

Mais le problème n’est pas là. Il est dans l’UX et les possibilités offertes.

Lancer une application native sur un Smartphone ou une tablette offre un confort et des possibilités bien supérieurs à toute visite d’une page Web !

Contrôler finement les deux caméras, le détecteur de présence, la boussole, le GPS, accéder aux données du téléphone, automatiser les tâches, tout cela ne peut se faire correctement qu’en natif, indépendamment du fait qu’une application compilée restera toujours plus réactive que du JavaScript interprété sur une machine donnée.

Le royaume du natif qui nait sous yeux relègue le fantasme d’universalité et de portabilité de HTML 5 à sa nature même de fantasme.

Un monde natif

Smartphones, tablettes, et bien entendu depuis toujours les PC et les Mac, offrent une UX très largement supérieure lorsqu’ils sont programmés en natif que n’importe quelle page Web, même en ajoutant le Canvas à HTML.

La preuve ?

Même les rois du Web comme Google propose sur leur OS Android des applications natives pour accéder à Gmail ou à Google+ !

Facebook propose une application native pour Android ou iOS !

Intermarché, Super U, Cdiscount, et bientôt tous les grands acteurs de la consommation offrent dès aujourd’hui des applications natives iOS et Android en place et lieu d’aller visiter leur site ! Quitte parfois à ce que l’application ne soit qu’une copie du site, ce qui montre la précipitation de certains de ces projets et l’urgence ressentie de changer de cap...

Faisant écho à d’autres de mes billets parus ces derniers temps, le monde qui se profile est un monde d’applications natives et non plus de pages web. Refuser cette évidence c’est s’embourber dans un Web qui n’est plus porteur d’avenir.

La mort du Web ?

Bien sûr que non !

Le Web ne mourra pas, pas plus que l’arrivée des Smartphones et des tablettes ne tuera le monde du desktop. Il faudrait être illuminé et ne rien comprendre à ce qui se joue pour penser une chose pareille.

Mais, car il y a un “mais”, les PC ne représenteront plus 100% du marché du logiciel comme ce fut le cas dans ces 20 dernières années.

Et dans cette même voie et pour les mêmes raisons (en plus de celles invoquées plus haut), le Web ne représentera plus 100% de l’utilisation d’Internet.

Le Web n’est pas mort, HTML 5 non plus. Il y aura un HTML 6, un 22 aussi pourquoi pas. Mais ce Web ne pourra plus prétendre être le seul moyen d’accéder à de l’information vivante sur Internet.

Une grande part de ce qui était véhiculé par le Web au travers des browsers sera demain utilisé par des applications natives au travers d’Internet et du Cloud computing sur des unités mobiles.

Et alors ? Et Alors ?

Hé hé ... Zorro n’est pas arrivé, n’en déplaise à Henri Salvador... Aucun sauveur, aucun messie des temps nouveaux pour protéger le pauvre développeur et l’empêcher d’être noyé dans le Styx des choix cornéliens. Aucun salut n’est à attendre.

Bien au contraire. Les blocs en présence vont tout faire pour maintenir la pression et assurer leur suprématie sur le marché. Steve Jobs l’a fait, ils ont tous été obligés de suivre...

Jobs l’avait bien compris dans son refus de Flash. Personnage détestable et pas aussi génial que ça mais à qui il faut malgré tout reconnaitre une sacrée avance sur les autres lorsqu’il s’agissait de parler du futur et de protéger la valeur de ses actions chez Apple...

Car en refusant Flash, donc en tuant Silverlight aussi mais sans le nommer, en prônant HTML 5 comme “universel”, Jobs savait très bien pour en être l’instigateur que seules les applications natives auraient un avenir sur iOS et qu’il lançait tout le monde sur une mauvaise piste histoire uniquement de se débarrasser du danger que représentaient Flash et Silverlight ! Ne pas le croire serait du coup le prendre pour un crétin ce qui serait très éloigné de la réalité tout de même...

En tuant le rêve d’applications cross-plateforme comme Flash ou Silverlight, Jobs a lancé le monde entier sur une fausse piste, celle de HTML qu’il savait lui-même condamnée... Mais tout le monde est tombé dans le panneau...

En évitant l’avènement d’applications cross-plateformes passant par Internet sous Flash ou Silverlight, Jobs s’assurait qu’aucune “vraie” application ne pourrait passer sur son matériel en évitant le market place !

Les moutons qui ont suivi le buzz HTML 5 ont été envoyé au mur, ils ont été utilisés pour tuer Flash et Silverlight, seuls véritables moyens d’offrir la qualité d’UX du natif tout en échappant au market place des applications natives...

Pauvres fous, trimbalés par un manipulateur de talent... Comme un seul homme ils se sont jetés sur le buzz, ils ont piétiné les seuls technologies qui étaient en mesure, enfin, et pour la première fois en micro-informatique, d’apporter le rêve de la portabilité !

Jobs est mort. Mais sa manipulation a fonctionné.

Aujourd’hui, celui qui vise l’universalité, le cross-plateforme pour ces applications n’a plus d’options.

Le monde du natif a pris le dessus, et pour longtemps.

Une part du Web est mort, pour toujours. le Web vecteur de l’universalité au travers d’applications Flash ou Silverlight est mort. HTML ne viendra pas sauvé le monde de ce constat pour toutes les raisons expliquées ici.

Reste trois blocs proposant trois plateformes incompatibles sur lesquelles les applications natives sont privilégiées et où le Web est voué à ne plus être qu’un citoyen de seconde classe. Le Web, donc les browsers, pas Internet !

Alors, sur ce Web, développer en HTML 5 ou en 3 n’a plus guère d’importance... Si vous n’offrez pas une application native, si vous vous acharnez à vouloir à tout prix développer en HTML 5, en dehors des PC et des Mac, vous ne toucherez personne sur les autres form factors...

C’est en cela que la grande époque du Web est révolue. Celle du natif vient de re-naitre. Internet est plus puissant et plus vivant que jamais, mais ces applications spéciales permettant de s’en servir d’une façon spéciale que sont les Browsers servis par Html ne sont plus des outils exclusif du futur.

La modernité n’est plus à HTML ni aux browsers, la modernité est dans le natif.

Conclusion

Apple, Google, et demain Microsoft, nous proposerons trois visions du monde. Il faudra choisir son camp car croire qu’un éditeur de logiciel ou qu’un développeur pourra être compétent dans les trois mondes est une folie.

A ce jour Apple conserve une vision très réactionnaire des choses : d’un côté le Mac, de l’autres le mobile. S’ils ne se réveillent pas demain ils chuteront comme ils ont chuté il y a 20 ans. Apple, l’éternel serpent de mer de la micro, qui chute à chaque fois pour les mêmes raisons : son manque d’ouverture, son égoïsme congénital, son culte de la personne qui trinque quand le gourou disparait... Le gourou a pu revenir une fois car il n’avait été qu’évincé la première fois. Maintenant il est mort, et son retour est une affaire à laisser entre les mains des spiritistes...

Google n’est pas un spécialiste du software et encore moins des OS, Android n’est qu’un relookage rapide de Linux (Ubuntu). Google s’est attaqué avec un talent incroyable aux Smartphones devenant un vrai concurrent d’Apple. Ils ont créé la surprise la où personne ne s’attendait à les voir et encore moins à réussir. Ils ont étendu ce succès aux tablettes. Le rapprochement Android / Ubuntu qui s’opère en ce moment doit  être le signe que Google nourrit peut-être un appétit pour les plateformes desktop. Attention danger ! Mais nous n’y sommes pas.

Microsoft, d’ici octobre prochain, va nous proposer une vision cohérence, un OS qui fonctionne sur tous les form factors, avec les mêmes compétences, réutilisant même celles déjà engrangées dans l’entreprise avec C#, .NET, WPF, Silverlight. Un OS et une plateforme de développement très au dessus de tout ce qui existe chez les concurrents. Visual Studio, Expression Blend, C#, et même le très commercial couple Html5/js. Il y en a pour tous les gouts, toutes les compétences. Mais avec une seule équipe, une seule formation.

Alors certes Microsoft va arriver bien tardivement sur le marché des mobiles. Mais ce seront les seuls à proposer une vision cohérente du “natif” avec WinRT sur toutes les plateformes.

Je ne connais pas un DSI qui ne serait pas séduit par cette offre qui soulage des lourdes charges que représenterait la constitution d’équipes de développement mixtes, accumulant des talents Windows, Android et iOS.

La mode du BYOD est un leurre. Car 80% des tablettes actuelles sont des iPad. Quelle économie pour l’entreprise d’éviter l’achat de quelques tablettes si cela doit être compensé par l’embauche d’une équipe spécialisée sous iOS en plus des équipes Windows déjà en place ?

Le coût d’une formation adaptée ou ne serait-ce que d’un seul salarié permanent est plus lourd sur une année que l’achat de dizaines, centaines de tablettes Windows 8 ARM...

Demain, le Web ne sera plus 100% de l’Internet, demain le natif sera maitre sur les mobiles, demain Microsoft proposera une solution unifiée, il est temps de se préparer à ces changements et d’oublier le buzz HTML 5 qui vous a fait perdre tant de temps.

Car demain, c’est aujourd’hui.

Alors Stay Tuned !

Comments (14) -

Geoffroy
Geoffroy
4/16/2012 8:58:59 AM

Très bonne analyse et vision des choses. Merci

Berton
Berton
4/16/2012 11:05:39 AM

Un excellent article avec une analyse des plus perspicaces.  Je partage à 100% votre analyse.
Je compléterais (divergerais peut être) sur le langage que sera au centre des futurs développements. Je pense que C++ (ou C) va faire un grand retour en particulier pour des raisons de performance.
Notamment WinRT, qui laisse peu d’espoir sur l’avenir de la plateforme .Net (au sens CLR), même si les langages (C#, WPF, etc) resterons.
Merci.

Jérémy
Jérémy
4/16/2012 12:15:45 PM

J’ai tout de même beaucoup de mal à croire en la mort de Html5 ; tant que les gros (Google, Microsoft, Mozilla...) pousseront dans ce sens, le phénomène n’est pas près de s’essouffler selon moi : Il y a d’énorme sommes d’argent sur la table, un consensus à l’échelle planétaire, des news toutes les heures vantant les mérites de ce sac de nœuds qu’est Html5/Js/Css3.

Bref, dire que Html5 est mort dans l’œuf, je n’y crois pas (même si, d’un point de vue très subjectif, je préfèrerais qu’il n’y ait pas autant de tapage autour de cette "techno", au profit d’un avenir plus radieux pour Silverlight).

Seb
Seb
4/16/2012 2:05:02 PM

Bonjour,

Je suis confronté à la problématique du cross platform en ce moment. Etant spécialisé sur le développement de solutions mobiles depuis plusieurs années, on me demande régulièrement quelle solution cross platform utiliser pour un futur développement d'application mobile?

Certains ne considèrent même pas la solution du natif avec des développements dédiés à chaque plate forme comme envisageable. Toujours les mêmes arguments sur les coûts de développement, la nécessité d'avoir plusieurs compétences dans la même équipe projet , le coût de maintenant, etc...

Alors, on se retrouve dans une solution où il faut bien trouver quelque chose de "satisfaisant" (même si je ne suis pas d'accord avec ça)

Au final, il y a les solutions comme Titanium qui permettent de générer du code natif à partir d'un seul code et langage.
+ : performance et rendu natif
coût inférieur
- : nombre de plate formes limitées et quid de la prise en charge des autres ?
langage javascript utilisé (rien à voir avec du c# !)

L'autre solution que j'entend tout le temps, c'est HTML 5 qui permet le support de pratiquement toutes les plate formes, plus ou moins bien, mais avec une certitude de l'amélioration des moins dans le futur.

Et l'argument choc pour les problèmes d'interaction avec les périphérique, c'est PhoneGap.
La possibilité d'encapsuler un site web dans une webview pour faciliter l'accès à l'application, gérer le mode offline et interagir avec les périphériques sur toutes les plate formes mobiles.

L'idée est séduisante.
- : outillage pauvre, langage javascript difficile à faire passer à des développeurs habitués au C#
pertes des spécificités graphiques liées à chaque plate forme, qui permettent pourtant la valeur ajoutée.
Rendu graphique de niveau variable en fonction du framework js utilisé et du niveau de personnalisation que l'on veut bien y mettre (JQuery mobile, Sencha touch, ...)

Tous cela pour dire que les technos web pour développer sur mobile ne sont peut être pas si morte que ça. Et que je vois plutôt fleurir autours de moi des applications au rendu web encapsulé dans PhoneGap pour supprimer les faiblesse des applications web dans l'intégration avec les terminaux.

Voilà c'était un peu long. Mais c'est pour savoir ce que tu pensais de ces solutions hybrides qui nous sont poussés par nos managers et clients.

Merci

Olivier
Olivier
4/16/2012 11:10:35 PM

@Berton: C++ est poussé par Sinofsky et l'équipe Windows mais c'est un langage qui a disparu du devant de la scène depuis longtemps. Java et C# ont des avantages énormes et se sont construits une réputation sur les lacunes de c++.
Je doute que le fantasme de sinofsky n'aille plus loin que ça.
D'autant qu'il n'y a aucune raison de passer de C# à c++.
Maintenant, c'est html/js, si cette ouverture permet à des gens qui ne connaissaient pas .net et c# de venir programmer sous WinRT je n'y vois pas plus d'inconvénient que l'ouverture qui existait déjà avec VB ou F#.
Mais très honnêtement un renversement en faveur de c++ je n'y crois pas un seul instant. Quel utilisateur de C# voudrait revenir à la préhistoire ? je vois mal la motivation.
Et il faut toujours conserver à l'esprit que les changements coûtent chers. Il va falloir trouvé un sacré discours pour convaincre les DSI de former les gens à c++ alors qu'on leur a expliqué avec plein d'exemples convaincants qu'il fallait abandonné c++ pour C# il y a de celà plusieurs années...
Totale incohérence en réalité.
Avec le couple html/js c'est ce que j'appellerai la tentation populiste de MS, qui comme un candidat qui sent la partie perdue se met à piquer des idées à l'extrême droite et au front de gauche espérant regrouper plus de monde (toute ressemblance avec des personnes ou évènements réels serait une pure coïncidence).

Olivier
Olivier
4/16/2012 11:12:13 PM

@Jérémy : "J’ai tout de même beaucoup de mal à croire en la mort de Html5"

Tu as raison !

Et je n'ai jamais écrit une chose pareille...

C'est la mort du mythe de la portabilité véhiculé par le buzz Html 5 qui est mort et bien mort.

Je sais c'est subtile, mais si tu y réfléchis bien tu verras que cela n'a rien à voir.

Olivier
Olivier
4/16/2012 11:23:29 PM

@Seb: Merci de ton exposé. Ce que je pense de ces solutions hybrides ?
J'ai l'impression que tes explications portent en elles la réponse...
ça part dans tous les sens, la valeur de standard de html 5 est perdu dans un fatras d'autres zinzins qui se greffent autour pour arrive à faire fonctionner l'ensemble, etc.
C'est vouloir à tout prix utiliser html5 pour faire du cross plateforme alors qu'on le voit bien ... html 5 en lui-même n'est pas cross plateforme puisqu'il faut y ajouter plein de choses pour y arriver.
Quel avenir pour ces solutions ?
Pour avoir un peu de crédibilité il faudrait qu'une s'impose sur toutes les autres et c'est pas encore joué...
Du fait tout cela me confirme ma sensation : 3 blocs incompatibles, il va falloir faire son choix camarade car personne n'aura les 3 compétences, aucune boite ne paiera du dev pour 3 plateformes, etc.
Dans ce bourbier infernal, renaitront les grandes scissions du passé comme celle qui a eu lieu entre les Mac et les PC.
Sauf qu'on joue maintenant la partie à 3.
Apple : avantage d'avoir frappé les premiers.
Android : avantage d'être une alternative moins chère et générant beaucoup de machines différentes à des prix différents, bien mieux que la dictature apple.
MS : avantage (bientôt) d'un OS cohérent et portable sur toutes les machines.

Les développeurs se répartiront entre ces trois mondes, comme ils se sont répartis entre Mac et PC il y a 20 ans.

Html5 n'est en mesure de tenir ses promesse d'universalité. Car il est fait pour les browsers et que le natif est privilégié par les 3 blocs au moins pour des raisons évidentes de $$$ générés sur les market places.

Les solutions hybrides se présentent comme des bricolages peut convaincants, n'offrant aucune visibilité sur leur pérennité ni leur bonne adaptation. Je ne parle pas de montée en charge, ni d'extensibilité, de maintenabilité.
Cela ne peut faire basculer que des indépendants touchent à tout, des agences de pub vivant dans le temporaire. Pour des DSI qui jouent leur place à long terme, je crains que dans un avenir aussi difficile à lire ils n'aillent en plus se fourvoyer dans des solutions exotiques, cela serait suicidaire ...

Sylvain
Sylvain
4/17/2012 8:55:26 AM

Aussi bizarre que cela puisse paraître j'en suis venu à la même réponse. HTML5 est une entourloupe.

J'avais pour projet de fournir un une application WEB avec un site communautaire. Au j'étais donc partie sur Silverlight et puis patatra microsoft laisse penser la mort de ce dernier.

Réfléchissant un peu j'en viens au même constat que beaucoup, autant faire de l'HTML5/JS/CSS3 de cette façon les utilisateur de IPAD, ANDROID, PHONE, ..., pourrons aussi l'utiliser.

Qu'elle arnaque j'en suis réduit depuis de 3 mois à adapter le code dans tous les sens, rien ne passe IPAD, même sur le 3 safari est mou pour tout ce qui est javascript.

Au final depuis 15 jours retour à silverlight, en y réfléchissant même si Windows 9 ne le supporte pas, j'ai au moins 3 ans devant moi Smile et 3 ans chez nous c'est long !!!

Donc vive WPF, vive Silverlight et bientôt vive WinRT !!!

PS: Silverlight possède un atout majeur, il tourne dans le navigateur, ainsi beaucoup de personne qui surf sur le web accéderont facilement à mon site et à son appli sans trop de souci.

Sylvain
Sylvain
4/17/2012 10:19:10 AM

Je ne sais pas ce qui c'est passé mais j'ai perdu mon commentaire.

Je voulais juste dire que depuis 1 mois j'étais repassé de HTML5 vers SILVERLIGHT pour un site/application web après un passage assez décevant sur les technos web plus à la mode.

Dans le fond Silverlight marche encore pour quelques années donc pas de quoi paniqué.

Olivier
Olivier
4/17/2012 11:06:06 PM

@Silvain: tu avais perdu un commentaire et te voici avec 2 pour le même prix  
Malgré les captcha et autres ruses j'ai été dans l'obligation de modérer manuellement. Il y a donc un délai entre l'écriture d'un commentaire et sa parution, celui qu'il me faut pour faire la modération.

Ton expérience vaut de l'or. Pas tellement parce qu'elle abonde dans mon sens, je ne me réjouis pas du tout d'avoir raison car la situation est très ennuyeuse pour tout le monde, moi le premier, mais parce qu'elle vient appuyer par du concret, par quelqu'un qui a suivi le buzz en toute sincérité croyant aux promesses, et qui a touché le mur.
Celui que j'évoque depuis longtemps : Html 5 ou 4 ça reste du Html implémenté de façon aléatoire par les browsers qui se tirent la bourre et qui jamais ne proposeront une implémentation harmonisée, ne serait ce que pour faire la différence avec la concurrence...

C'est un problème congénital, viscéral, inhérent au système de concurrence entre browsers. Html 5 n'y est pour rien en lui même.
Mais Html 5 en rajoutant beaucoup de choses d'un seul coup (html, mais aussi css, JS) renforce encore plus cette impossibilité de mise à niveau homogène alors même que pas un seul browser n'implémente HTML 4 correctement et surtout de la même façon malgré la surface bien plus réduite de l'API !

Le choix de revenir à Silverlight pour un développement fait maintenant se fait certes en "serrant un peu les fesses" je dirais de façon triviale car SL ne tenait plus qu'à Windows Phone et on sait que WP8 balaye SL pour utilise WinRT. Quel avenir pour ce merveilleux plugin... c'est vraiment l'inconnu.

Mais ton raisonnement est pragmatique : en faisant du SL aujourd'hui tu es sûr de pouvoir boucler un soft qui va marcher encore quelques années au minimum, et cela au-delà vraisemblablement de sa propre durée de vie.
C'est donc un bon choix.

Comme le fait de choisir aujourd'hui WPF pour des développements pérennes car cela marchera sur toutes les machines en XP, en Vista, en 7, et ça marchera pour un long moment encore sous Win8 et Win9 assurément.

Un jour, Html 5 et tout ce qui va autour (le tooling) finira par être au niveau de Silverlight et WPF, quand il y aura Linq ajouté à JavaScript, que le Binding sera ajouté à Html/js, que CSS deviendra structuré, etc.
Ce jour là il est pour dans dix ans minimum et d'ici là il faudra produire des softs qui marchent. Pour ça on a déjà toutes les technos qu'il faut.

C'est une première dans l'histoire du développement : ce qu'on nous vend pour du neuf fait moins bien que ce qu'on a déjà entre les mains.

Cela pose de sérieux problèmes. Et dans la tourmente les capitaines qui ne coulent pas avec leur navire sont ceux qui savent ne pas paniquer et faire des choix pragmatiques. Les midinettes qui changent d'avis à chaque mode ne sont que rarement des capitaines que l'histoire retient...

JP
JP
4/24/2012 10:54:10 AM

Bonjour Olivier,

même analyse, même constat, même choix de continuer sur Silverlight pour des applications "intranet".
Les choix pour le monde pro ne sont pas forcément les mêmes que pour le grand publique.

Et même si le nom silverlight disparait, le couple xaml/c# reste sous un autre nom.

La question qui m'inquiète le plus, c'est la "compatibilité" de Windows RT. La cummunication n'est pas très claire, une application WinRT devrait être recompilée pour ARM ?

Olivier
Olivier
4/25/2012 1:08:39 PM

@JP: (désolé un petit bug bloque ton commentaire pour l'instant... mais je vais répondre quand même)
La question qui m'inquiète le plus, c'est la "compatibilité" de Windows RT. La cummunication n'est pas très claire, une application WinRT devrait être recompilée pour ARM ?

Normalement non. Il reste des inconnues, mais d'après ce qu'on sait et ce qu'on a pu tester, WinRT ce n'est jamais que du .NET bricolé par sinofsky qui déteste .NET tout en le conservant tout le mettant au placard tout en en ayant besoin... Bref un sac de noeud bien inutile comme MS sait parfois en produire.

Donc dans le principe on reste sur un "fond" de .NET de type Silverlight : un environnement à la .NET simplifié et sandboxé avec des langages pseudo compilés qui sont ensuite réellement compilés par un JIT au moment de l'éxécution.
Ainsi, un programme C#/Xaml pour WinRT devrait-il fonctionner sans différence sur un PC, une tablette ARM ou un smartphone WP8.

Ca c'est l'esprit.. La lettre est souvent différente et on s'attend bien entendu à quelques variations (notamment pour les phones, avec leur hardware specifiques ou la gestion de contact etc).

En tout cas il ne semble pas plus nécessaire de faire des compilations natives forcées sous WinRT que sous .NET. On fait le soft, on le "compile" (en langage intermédiaire) et c'est l'OS qui se charge de faire la compilation native selon la cible matériel, ce qui est transparent pour le développeur et l'utilisateur.

Des nuances il y en aura forcément, mais on espère qu'elles seront mineures sinon c'est tout l'attrait justement de Win8 et WinRT portable sur tous les form factors qui risqueraient de perdre de sa force.

JP
JP
5/3/2012 5:34:38 PM

Bonjour Olivier,

et moi j'ai pas eu la notification de ta réponse ;o)

Bien que je pense que ça ne soit pas un spécialiste de la plateforme .Net, l'article là :
http://www.blogeee.net/2012/04/windows-8-4-parfums-au-choix/
L'histoire de la recompilation pour ARM, m'a fait me poser la question.

J'ai lu la série d'article là :
http://www.silverlightshow.net/items/Windows-8-and-the-future-of-XAML-Part-1-An-overview-of-the-Windows-8-platform.aspx

Il indique clairement effectivement une séparation entre .Net et WinRT, mais ce que j'en retiens, c'est que WinRT c'est du natif, il me semble pas avoir compris qu'il y a un IL derrière et un JIT.
Et que au contraire, WinRT apportait un confort pour adapter la syntax des appels pour les différents langages supportés, mais c'est tout. Ensuite compilation native. De ce point de vu là, l'hypothèse de la compilation spécifique pour ARM tient la route non ?

Le retour au "natif" (à la place de .Net et un JIT ) peut aussi s'imaginer et se comprendre pour des besoins de performance sur tablette/smartphone je pense.

Un autre point, et un choix en plus, non seulement il va falloir choisir entre iOS, Android, et le monde "Windows",
mais en plus au sein de Windows, il va falloir choisir entre .Net/SL et WinRT, en fait entre le monde Metro et le monde Desktop, je trouve ça bien dommage (Bien que sur les photos d’écrans, on voit que le style métro se fait une petite place dans le monde desktop, ça fusionnera un jour) .
Enfin de toute manière, on peut pas faire la même application pour une tablette/smartphone et un pc.
(déjà entre un smartphone et une tablette il y a une différence ergonomique non négligeable…)

Jean-Philippe

Olivier
Olivier
5/5/2012 10:52:45 PM

@jp: je n'ai pas encore plongé dans les méandres de la compilation WinRT, le principe du JIT ne semble pas être retenu et WinRT fonctionne plutôt, en tout cas c'est l'impression, comme une grosse série d'interfaces COM.
Mais même VS 2011 beta n'est pas achevé au point de savoir exactement comment cela se passera quand toutes les moutures de Windows 8, dont RT, seront dispos (ce qui est normal puisque les OS n'existent pas encore).
On sait que WinRT est considéré comme "natif" bien que sandboxé, on sait que la plupart des namespaces .NET et Xaml sont présents (même si parfois il y a des changements dans les noms) ce qui implique une bonne compatibilité, notamment de C# lui-même donc certainement peu de bouleversements techniques internes.
Mais pour l'instant les documentations techniques sur WinRT manquent, et il faut se contenter de ce qu'on peut voir en testant et des quelques trucs qu'on peut lire de ci de là et qui restent rares et pas toujours fiables.

C'est bien pourquoi je ne me presse pas sur le sujet, on en sait trop peu pour prétendre écrire des choses intelligentes et surtout vraies sur WinRT...

Quand la RC de Win8 sera dispo ainsi que la version ARM et qu'on disposera des docs, il sera temps d'éplucher tout ça.

Côté performances alors que la mode est au JS interprété je ne suis pas sûr que WinRT soit totalement natif dès la compilation sous VS il serait étonnant que MS impose une compilation différenciée pour WinRT selon la cible mais sait-on jamais..
Les smartphones WP7 utilisent bien Silverlight dans une sorte de mouture OOB avec JIT qui ne garde même pas le compilé sur disque faute de place. Et pourtant c'est rapide.

Donc j'attends d'avoir du sérieux à me mettre sous la dent avant d'entrer dans les détails techniques...

Mais ça approche. Et il est grand temps. MS aura pris tellement de retard sur tous les marchés d'avenir quand tout cela sera enfin en vente avec du matériel ad hoc pour l'utiliser que j'ai tout de même quelques sueurs froides par moment...

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading