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

//BUILD/ Html 5 vs Silverlight : La confusion enfin dissipée

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

Le BUILD est en train de se dérouler aux USA, la Keynote est tout juste terminée et on sait maintenant exactement à quoi s’en tenir. Enfin, dirais-je ! Et ce qui ressort des 3h30 de présentation est que, en dehors des nouveautés de Windows 8, tout le monde s’est trompé sur le match HTML 5 vs Silverlight !

Windows 8, rien que Windows 8

Il faut bien comprendre une chose : Microsoft n’a parlé que de Windows 8, rien que de Windows 8.

Cette nouvelle version est pleine d’idées intéressantes et propose de nouvelles approches, tant du point de vue de l’interface utilisateur que de la façon de faire des applications pour Windows. Je ne parlerais pas de Windows 8 ici, ce qui m’intéresse c’est l’avenir de Silverlight. Les blogs du monde entier regorgeront ce matin de détails croustillants sur Windows 8, je vous invite à les consulter, ça vaut le détour. Si vous comprenez l’américain (parlé très vite, on aurait juré qu’ils étaient tous sous cocaïne !) vous pourrez certainement visionner la Keynote par vous-mêmes.

Mais revenons à ce qui m’intéresse ici. La nouvelle interface de Windows 8 et le nouveau modèle de conception d’applications.

Oui, on parle bien ici de fabriquer des applications pour Windows et non pour autre chose...

La grande confusion prend fin

Quand nous avons tous entendu Microsoft vanter les mérites de HTML 5 qui deviendrait une sorte de “voie royale” du développement, forcément tout le monde à entendu “mort de Silverlight”. C’est normal, jusqu’à ce jour, qui disait HTML disait Web.

Or l’erreur que nous faisions tous, et l’énorme surprise que nous réservait Microsoft, c’est que cette association si évidente “HTML = Web” allait être totalement remise en cause !

Finalement là est l’important. Nous savions tous, plus ou moins par intime conviction que C# et XAML n’allaient pas disparaitre dans un claquement de doigt. Mais pendant que nous “flippions” dans notre coin, un truc énorme, un secret bien gardé (pas comme Apple qui perd ces nouveaux protos d’IPhone à chaque release...) allait bouleverser notre vision du développement “natif”.

Quand on parlait développement Windows, on parlait C et C++, les langages vraiment “natifs”. VB.Net, C#, voire Java étaient déjà des langages plus éloignés de l’OS, ne permettant pas, par exemple d’écrire des drivers. Quant à HTML et JavaScript c’étaient des outils du Web et leurs noms ne seraient certainement jamais venu en tête d’aucun développeur raisonnable à propos de développements “natifs” Windows.

Microsoft poussant HTML 5, tout le monde avait en tête qu’il s’agissait forcément du Web, donc de mettre fin à Silverlight. La confusion a été plus forte encore puisqu’au même moment, pour suivre la mode et éviter de couler définitivement, Internet Explorer se mettait lui aussi à HTML 5.

Notre angoisse était donc bien compréhensible. Nous avons été berné jusqu’à la dernière seconde.

La grande nouvelle ne concernait pas le Web, mais Windows.

L’incroyable contresens technique nous échappait, légitimement : JavaScript et HTML vont permettre de créer des applications Windows “natives” !

Aujourd’hui, la terrible confusion qui s’était installée sur l’avenir de Silverlight prend fin. Et le sens de “développement natif” aussi j’en ai bien peur !

HTML 5 pour développer sous Windows

C’est bien de cela qu’il s’agit. Elle est là “l’innovation” majeure, l’ouverture incroyable et impensable de Microsoft, celle qui nous a grugé durant tout ce temps : Il est désormais possible de d’écrire des programmes “citoyens de première classe” pour Windows (je parle bien de Windows, l’OS) en utilisant HTML 5 et JavaScript !

Aussi hallucinant que cela puisse paraitre à tous ceux qui sont des maniaques du “natif”, les ex-amoureux de Delphi ou C++, les partisans de C# ou du Java compilé, aussi choquant techniquement que cela puisse sembler, oui, Microsoft a oser faire de HTML (accompagné de CSS et JS) un langage à part entière pour développer des applications “natives” Windows !

Délirant crieront certains. Ceux qui font une fixette sur les “compilos natifs 64 bits” par exemple... Du JavaScript interprété, du HTML verbeux non contrôlé, du CSS digne d’un bricolage de débutant en informatique, tout cela devient “natif”.

En trois heures et demi de présentation, Microsoft n’a parlé que de Windows 8. Pas un mot, même un tout petit, sur le développement Web qui semble devenir le cadet des soucis de l’éditeur. On le comprend d’ailleurs : c’est avec Windows que Microsoft gagne de l’argent ou peut disparaitre. L’adoption de Windows 8 est donc essentielle. Et comme tout bon plan markéting, il ne faut faire passer qu’un ou deux messages à la fois. La priorité à Windows 8 semble un exercice de style incontournable. Microsoft ne pouvait parler d’autre chose.

Windows 8 pour les tablettes ou pour tous ?

Comme tout le monde ou presque, vous pensiez que le look très Phone 7 de Windows 8 avec ses “tuiles” ça ne pouvait être intéressant que pour la version tablette de Windows 8.

Moi même j’avais des doutes, mais j’avoue qu’à la fin de la Keynote, en ayant vu toutes les bonnes idées de la nouvelle interface, j’en suis venu à douter de mes doutes (!) et même à admettre que, pourquoi pas, la nouvelle interface pouvait aussi être un véritable renouveau sur les PC de bureau.

Sans trop de parler de Windows 8 lui-même, disons que la nouvelle interface est un menu avec tuiles qui ressemble à celui de WP7 mais que surtout Windows 8 vient de tuer son propre nom : il n’y a plus de “fenêtres”, Windows 8 est un monde de “full screen”. C’est un tournant énorme. C’est tellement gros que je me demande bien comment cela sera perçu et qu’ici je ne m’avancerais certainement pas à jouer les devins. C’est une cassure totale de tout ce qu’on connait depuis que Apple avait piquer l’idée des fenêtres à Xerox pour ses premiers Mac.

Windows, n’a plus de fenêtre que son nom.

Un excellent jeu de mot a même été lancé à un moment sur ce sujet, lors d’une démo de Internet Explorer 10 (lui aussi conçu pour ce nouveau look). Quelqu’un à fait remarquer qu’il était “Chrome-less”, “sans Chrome”. Chrome était un célèbre thème de base de Windows (qu’on retrouve même dans les looks de bases des contrôles WPF ou Silverlight). Mais “sans Chrome” pouvait aussi se comprendre “sans le navigateur Chrome de Google”. Ach ! große plaisanterie Sourire

De fait, s’il est vrai qu’avec Windows 8 Microsoft vise le marché des tablettes (consommation mémoire et CPU enfin adaptée par exemple), Windows 8 sera bien le remplaçant de Windows 7, même sur les machines de bureau et les portables de tout genre. Microsoft fait même le pari (osé mais pourquoi pas?) que l’avenir de tous les PC c’est l’écran tactile. Même au bureau, même sur un portable, partout. Et Windows 8 est étudié pour.

Donc Windows 8, son menu en tuiles et son market place, cela fait très “tablette”, mais ne vous y trompez pas : c’est tout Windows qui change de cette façon !

Adios les fenêtres. Plus incroyable encore que le coup de HTML pour faire du “natif” !

La nouvelle plateforme de développement

Regardez le schéma ci-dessous. Il décrit la plateforme Windows 8 :

Imaginez quelques instants que la partie sur fond vert n’est pas affichée, celle surmontée du titre “Metro style Apps”.

Que reste-t-il ?

La partie bleu clair à droite : le monde Windows tel que nous le connaissons jusqu’à maintenant :

  • HTML et JavaScript, via Internent Explorer, se reposant sur le noyau Windows pour les applications Web
  • C, C++, via les APIs Win32 se reposant aussi sur le noyau pour faire des applications “natives” desktop
  • C# et VB, via le Framework .NET ou le Framework Silverlight, se reposant à leur tour sur le noyau pour des applications desktop classiques ou Out-Of-Browser pour Silverlight (Silverlight pour le Web n’est pas concerné ici).

Un monde qui disparait

Ce sont ces trois types d’applications qui, du jour au lendemain, d’une seconde à l’autre, passent dans la catégorie “has been – mais-toujours-supporté”.

Microsoft insiste sur le fait que tout cela fonctionne et fonctionnera encore un bon moment, mais cette zone bleu clair délimite désormais le passé.

Microsoft a ici “pédalé” un peu dans la semoule. En montrant que la zone bleue est résolument du passé, ils savaient qu’ils inquièteraient tout le monde (que faire des applications actuelles?). Ils se sont donc senti obligé d’affirmer en même temps que tout cela continuerait de marcher sans problème. Mais le paradoxe n’est que de surface : continuer de marcher ne signifie “continuer d’être développé” !

D’ailleurs si Hyper-V (le système de virtualisation) est intégré de base à Windows 8 ce n’est pas pour nous faire un cadeau, mais pour s’assurer que grâce l’émulation il n’y aurait aucun problème de compatibilité dans les années à venir pour les vieilles applications (stratégie plus aboutie techniquement que celle de Virtual PC sous Windows 7 mais équivalente dans l’intention).

Aussi faut-il bien comprendre les choses : seul le modèle de développement dans la zone verte permettra de bénéficier des dernières avancées, seules les applications conçues selon ce mode s’afficheront correctement dans la nouvelle interface. Les applications de la zone bleue feront se réafficher le bureau classique de Windows 7. Autant dire donc que même si ça continue de marcher, ça sera très vite démodé, donc mort.

L’art de révolutionner le monde sans faire peur est un exercice de style bien difficile il faut l’avouer !

Un autre émerge !

Faisons apparaitre de nouveau la partie sur fond vert... C’est le futur, c’est cela qui sera considéré comme “natif” sous Windows 8. Et il va falloir s’y habituer...

Au dessus du noyau Windows que voyons nous ? Un gros rectangle s’appelant WinRT.

WinRT est la nouvelle couche de services native de Windows 8. C’est elle qui fédère les services de base de l’OS comme les communications, la gestion des données, les graphiques et les médias, les périphériques, les impressions. C’est le grand frère du Framework .NET agrémenté de nouvelles classes simplifiant l’écriture d’applications “Metro style”. Le nouveau look de Windows donc.

Au dessus de WinRT se trouvent des langages accompagnés, ou non, de langages associés pour la description des UI.

C et C++ existent toujours, et s’appuieront désormais sur WinRT.

C# et Visual Basic existent toujours, et ils s’appuieront, eux aussi sur WinRT.

Ces quatre langages peuvent utiliser les services de XAML, intégré à l’OS, pour décrire des UI.

Bien entendu, cela ressemble farouchement à la partie bleu clair, mais ce n’est qu’apparence. Au lieu d’attaquer le noyau via des surcouches comme .NET, tous ces langages se reposeront sur les services de WinRT qui fait partie de l’OS. XAML compris. On comprend mieux pourquoi l’équipe de développement XAML a été intégrée dernièrement à l’équipe Windows.

Il s’agit d’une réorganisation intelligente, WinRT n’étant qu’un Framework .NET amélioré et intégré de base à Windows 8 tout simplement. Du coup, le Framework .NET tel qu’on le connait passe dans le bleu clair... Une simple surcouche de Windows “ancienne façon”, toujours utilisable, mais vouée à disparaitre... Pour mieux renaitre dans le modèles Windows 8 sous le nom de WinRT !

Le travail d’intégration fourni dans WinRT est époustouflant, la communication entre applications, le système de recherche de Windows 8 qui intègre le contenu des applications, tout cela est incroyable et mériterait d’en parler dans un billet dédié. Mais j’aurais le temps d’y revenir en détail dans les mois à venir ! Et puis je l’ai dit, vous trouverez des présentations de Windows 8 ce matin dans tous les blogs de la planète.

La “vraie” nouveauté qui nous interpelle ici, c’est bien l’apparition dans ce cercle très fermé des “vrais langages” de... JavaScript !

JavaScript utilisant HTML comme langage de description de l’UI, tout comme C++ ou C# peuvent utiliser XAML dans cette nouvelle organisation.

Le grand secret n’est plus...

Le BUILD et sa Keynote viennent de briser le secret le mieux gardé de l’histoire de l’informatique, au moins récente, aussi loin que je puisse me rappeler. Jamais une (double) nouvelle aussi incroyable n’avait été aussi bien gardée.

Microsoft voulait garder le silence, et ils ont tenu. Chacun tentant de percer les secrets de Jupiter, de Mosh, d’autres ayant repérer WinRT en décompilant quelque version Beta de Windows 8 piratée... Et pendant ce temps là le petit monde Silverlight s’agitait, se contractait, s’angoissait. A tort.

Silverlight ? Passé ou Futur ?

Très honnêtement si on considère que la zone bleue du schéma plus haut représente le “passé”, alors Silverlight, tout autant que C# et le Framework .NET sont morts.

Mais cela serait mal lire ce graphique.

On ne parle ici que de programmation Windows, rien que de programmation Windows. Le Web n’a jamais été évoqué une seule fois.

Silverlight pour le Web continue sa route, la version 5 sortira d’ici quelques temps d’ailleurs.

On sait que Microsoft n’avait pas pour prétention de remplacer HTML sur le Web. Pas plus que Flash ne l’avait fait. Les choses vont rester comme elles sont. Et évolueront forcément. HTML 5 change la donne. Il ralentit la progression des plugins, et nous fait perdre dix ans. Le temps qu’il faudra pour qu’on réinvente Silverlight en natif dans les browsers... On s’apercevra alors de l’erreur que fut le buzz HTML 5 et le gâchis de tout ce temps perdu pour arriver à faire difficilement ce qu’on savait très bien faire dix ans avant (car lorsque le Canvas de HTML 5 arrivera au niveau de possibilité de Silverlight, cela sera bien entendu implémenté différemment par chaque Browser, le Bronx habituel de HTML qui n’est pas supporté pareillement par deux browsers...).

Mais cela est l’histoire du Web, et finalement Silverlight s’en sortira plutôt bien face à Flash qui ne servait qu’à faire des bandeaux de pub et des petits jeux : HTML 5 le fait aussi, et sans plugin. Silverlight a pour lui les applications de gestion (LOB) pour les intranet et extranet des entreprises, un marché important où sa puissance est très appréciée. Un domaine interdit à Flash qui donc devient totalement inutile.

Silverlight, sous ce nom, appartient à ce monde là. Celui du Web où il ne remplacera jamais HTML, celui des entreprises qui doivent développer des clients riches. Sa vocation LOB est clairement affichée par Microsoft, ainsi que peuvent en attester les nombreuses spécialisations de Silverlight en ce domaine (validation, Ria Services, contrôles orientés données, ...).

Mais Silverlight n’a jamais été rien d’autre, jamais il n’a été un outil de développement pour créer des applications Windows. En tout cas jusqu’à Windows 8.

Le mode OOB faisait penser à une sorte de remplacement de XBap en plus light (sans avoir à installer le Framework).

Mais la fusion Silverlight / WPF est allée plus loin encore que ce que moi même j’imaginais lorsque j’annonçais cette inéluctable mouvement : WPF et Silverlight sous ces noms là appartiennent au passé, mais leur substantifique moelle, elle, se fond dans le nouveau modèle “Metro style apps”. Ni le nom Silverlight, ni le nom WPF n’ont été conservés dans ce mode spécial et bien plus large, mais leurs constituants essentiels, C#, VB.NET, XAML, deviennent les briques de base de “Metro style apps”.

Encore une fois, rappelons que cela ne concerne que le développement sous Windows...

De fait, Silverlight n’appartient ni au passé ni au futur. Silverlight est une technologie Web qui vivra sa vie tant qu’il aura du succès. Tout comme les applications C# et le Framework .NET... Ni plus, ni moins. Tous ces environnements sont dans la zone bleue...

Mais si on parle de Silverlight comme un outil de développement permettant de créer des applications en C# ou VB.NET en s’appuyant sur XAML, alors là les choses sont très différentes : Silverlight est le futur ! C# + XAML est un moyen fantastique de développer des applications Windows 8 modernes, répondant aux critères très spéciaux de ce nouvel OS. Sauf qu’on n’appelle plus ce mode là “Silverlight” ou “WPF”.

D’ailleurs, les outils eux-mêmes ne changent pas : Expression Blend et Visual Studio restent les piliers incontournables pour créer des applications Windows.

(Un travail fantastique a été fait dans Blend pour lui permettre d’éditer des solutions de type HTML 5 / JS, c’est une façon incroyable de détourner cet outil purement Xaml, et c’est très bien fait. Je vous incite vraiment à regarder de plus près le kit de développement Windows 8 en preview !).

Une nouvelle plateforme plus cohérente

Windows 8 propose ainsi une nouvelle plateforme de développement repensée, cohérente.

Nouvelle car architecturée différemment. Mais reprenant bien évidemment tout ce qu’il y avait de meilleur : le Framework .NET s’améliore pour devenir WinRT, XAML devient un élément de l’OS, et un langage comme C# reste bien entendu le maitre absolu à bord, même si le discours (déjà ancien) que les autres langages sont “très bien aussi” est toujours le même. On sait que C# et le Framework sont liés et que l’un ne va pas sans l’autre. WinRT n’étant qu’un Framework amélioré, C# restera certainement le langage de référence de Windows 8.

Toutefois, la vraie surprise révélée enfin avec précision est l’intégration de HTML et JavaScript au même niveau d’importance pour la création d’application native Windows '”Metro style”. C’est vraiment incroyable.

Soyons un peu critique...

C’est vraiment incroyable, et en même temps c’est le sens de l’histoire qui se perd ainsi souvent dans des méandres qu’avec le recul on considère comme des modes, des pertes de temps.

Combien de fois l’avènement de tel ou tel Roi, de telle ou telle croyance, a-t-il fait perdre un siècle ou plusieurs à une civilisation sur ses voisines ? Pourquoi la chute des Incas, celle des Pharaons, de Rome, des Grecs antiques si évolués ? Combien de siècles, d’âges sombres les humains ont-ils traversés pour, finalement, comme nous en occident en revenir 2000 ans après aux valeurs de république ou de démocratie des anciens grecs ? Le passage par le moyen-âge, l’inquisition, la saleté, la bêtise était-il incontournable ? N’avons nous pas perdu 2000 ans, une paille, pour des croyances idiotes ? Si, bien entendu...

HTML 5 sera certainement ce nouveau veau d’or adoré bêtement qui nous fera perdre à tous des années d’une évolution qui aurait pu démarrer aujourd’hui. Cela prendra plus de temps que prévu, pour réinventer la roue, c’est sûr.

Mais Microsoft était très en retard sur les tablettes. Et comme vous le savez on se bat aujourd’hui sur ce marché à coup de centaine de milliers d’applications, comme il fut un temps on se battait à coup de Mega Hertz des processeurs.

Si vous avez un Iphone, un IPad, une tablette Android, vous savez comme moi que ces 200.000 applications sont pour la plus grande partie des recopies honteuses, des trucs inutiles, bogués, et que c’est l’enfer d’en trouver une correcte. On teste une, puis autre autre, puis au bout de la 5ème, épuisé de recherche, d’installation / désinstallation on conserve celle qui est gratuite et qui fait à peu près ce qu’on cherchait...

Microsoft aurait pu choisir de se battre sur la qualité et justement trancher avec ses concurrents en démontrant, ce qui était facile, que leurs 200.000 applications n’était que vent et inutilité. Mais la publicité négative est dangereuse, elle peut vous donner mauvaise presse. On aurait très vite entendu des tas de gens dire “ils critiquent parce qu’ils sont jaloux, en retard...”.

Alors comme les gens sont bêtes, Microsoft va leur donner ce qu’ils aiment... Tu veux un catalogue de 200.000 applications pour acheter ta tablette ? En voilà une benne pleine, je dépose ça où ? A côté des poubelles ? Sur ton tapis ?

C’est exactement ça.

Seulement voilà, il y a un hic : ne pas perdre son temps à expliquer aux idiots qu’ils le sont, ça veut dire faire pareil que les autres.

Or Microsoft aura des années de retard lors de la sortie de Windows 8.

Le seul moyen de combler ce retard est d’arriver à convaincre des tonnes de développeurs de venir développer des applications pour le market place ! Exactement comme pour le téléphone, que ces applis soient pourries, que les auteurs s’adonnent à une joyeuse foire à la contrefaçon, tout cela Apple, Google et donc Microsoft s’en fichent. Vous en voulez de l’application, vous en aurez !

On sait très bien que trouver des pointures en C# pour faire des superbes applications ce n’est pas facile... Donc comment remplir la benne à ordure, pardon, le market place ? Vous avez compris. Il est plus facile de faire de l’œil aux bricoleurs qui font du HTML 5 et du JavaScript que d’essayer d’éduquer les foules à la beauté de C#, Linq et de XAML...

Microsoft était donc coincé. Tout ce battage autour de HTML 5 n’a qu’une seule raison : remplir le market place.

C’est pourquoi C# et Xaml, sont, et resteront la référence pour créer de vraies applications professionnelles. C’est la raison de leur présence dans la zone verte, Microsoft ne tient surtout pas à perdre ceux qui suivent le Framework avec raison depuis des années.

Mais il est difficile dans un message publicitaire de dire aux uns de venir et aux autres de rester... Microsoft compte sur le fait que les amoureux de C#, de Silverlight, du Framework comprendront vite que rien n’a changé pour eux.

C’est de la com’ ... N’en voulons pas trop à Microsoft qui doit malgré tout se sortir d’une mauvaise passe, se trouvant si loin derrière les autres sur deux marchés essentiels pour l’avenir : les Smartphones et les tablettes.

Les outils de la plateforme

On le voit ici, C# et XAML sont des “world-class development languages”. Rien ne change donc. Juste le nom de la technologie et quelques classes (beaucoup !) pour améliorer le Framework qui devient WinRT.

Les outils de développement restent identiques mais améliorés : Expression Blend et Visual Studio sont toujours nos amis !

Transition

En fait il n’y aura pas de transition ! Silverlight restera ce fantastique plugin Web qu’il est aujourd’hui.

En revanche le couple C# / XAML permettra de développer des applications Windows “natives” dans le plus pur “Metro style'” et bénéficiant par là même de toutes les nouveautés de l’OS. C’est un peu le retour de WPF sans le dire, ce nom disparaissant totalement. En fait le code est plus proche de Silverlight qui est en revanche toujours vivant.

image

Ci-dessus la transformation en quelques lignes d’une application Silverlight Web classique en une application “Metro Style” pouvant tourner en natif sous Windows 8.

Par exemple ici, le développeur change la ListBox qui ne supporte pas tous les modes de scrolling tactile par une GridView qui elle accepte les nouveautés. En général le travail ne sera pas beaucoup plus compliqué que celui-là.

Conclusion

Windows 8 est une version vraiment intéressante de l’OS. Elle innove sur plus d’un plan. Elle déroute par certains choix, mais au moins elle tente de briser les schémas éculés repris par d’autres (Android sur tablette recopie finalement le bureau de Windows avec des icônes, pas de chance, Windows ne sera plus comme ça !).

L’adoption du tout tactile me laisse plus perplexe, surtout pour les machines de bureau (restez le bras tendu une journée entière pour “cliquer” du doigt et vous comprendrez mes doutes). Microsoft y croit en tout cas. Mais c’est un détail.

Windows 8 marche mieux, plus vite (le chargement est impressionnant), consomme moins, et sera un superbe OS pour tablette. Ce sera même le seul qui permettra de développeur des applications tablette sur une tablette...

Windows 8 pour le PC de bureau sera une évolution inéluctable : toutes les nouvelles machines seront livrées comme cela, et la pression des utilisateurs fera le reste.

Pour nous, le plus important c’est que les bases mêmes de Silverlight, C# et XAML, permettront de créer des applications Windows natives comme WPF le permettait sous Windows 7. Silverlight sur le Web n’est en rien concerné par tout ce mystère qui régnait ...

Appelons cette technologie “Metro Style”, cela ne me dérange pas. Etendons cette technologie à HTML et JS, je n’y vois aucun inconvénient. Quel développeur C# aurait peur de ceux qui aiment et ne connaissent que HTML et JavaScript...

L’essentiel est bien que la technologie en laquelle nous croyons depuis longtemps est bien une technologie d’avenir que Microsoft, loin de la mettre à l’écart, a intégré aux couches les plus modernes de Windows 8.

Vive C#, Vive XAML !

Et Stay Tuned !

Comments (36) -

Paul TOTH
Paul TOTH
9/14/2011 6:57:18 AM

Et un revirement de plus chez Microsoft, un ! ;)

Or donc .Net n'était pas si bien que ça, on passe à mieux, WinRT...oui il va falloir revoir quelques lignes de code pour être compatible "Metro Style", mais avouez que c'est vachement mieux non ?

Non désolé Olivier, moi je ne marche pas, je préfère de loin l'approche Borland/CodeGear/Embarcadero qui vient de nous sortir un Delphi 64bits qui ne nécessite que très peu de changement, voir aucun si le code ne présuppose pas de la taille des pointeurs, pour recompiler l'application.

Coder en HTML/JavaScript je fais ça tous les jours pour le web, et je m'en passe volontiers pour le développement natif...surtout pour m'attacher à une plateforme.

Samuel Blanchard
Samuel Blanchard
9/14/2011 10:17:45 AM

Bonjour Olivier,

Je ne suis pas complétement d'accord avec ta vision des choses. Notamment sur l'arrivée du HTML+javascript dans le développement d'application Metro et sur le paragraphe du passé et du future.

Le HTML+js était déjà utilisé comme langage de developpement dans windows depuis Vista pour la création de gadget Windows ce n'est donc pas une nouveauté en soi. A ma connaissance, "Metro" est une application surcouche a windows (un peu comme explorer).Partant de ce principe, quand on developpera pour "WinMetro" on ecrira des plugins sandboxés et non des apps natives. De plus "WinMetro" ne sera utilisable qu'en mode détente. Il suffit de lancer Word  pour le voir switcher sous Windows. La productivité se passe bel et bien sous Windows. Pour Silverlight je suis persuadé que sa fin n'est pas du tout proche. La demo du Build WP7/Silverlight Desktop/WinMetro montre bien la facilité avec laquelle on passe d'un support à l'autre.

Merci en tout cas pour ton article que j'ai trouvé intéressant et positif Smile

Rudy Huyn
Rudy Huyn
9/14/2011 12:13:12 PM

@Paul : tu te trompes, ton appli .Net fonctionnera toujours, c'est juste qu'elle ne pourra pas apparaitre dans les "Tiles" metro. Mais en mode desktop, ton application fonctionnera sans problème. Après Microsoft pousse une nouvelle philosophie d'application avec une nouvelle api (Win32 a fait son temps qd même)

hadoken
hadoken
9/14/2011 1:33:56 PM

Très intéressant !

Par contre je ne suis pas d'accord sur le "Autant dire donc que même si ça continue de marcher, ça sera très vite démodé, donc mort."

Les applications d'entreprises, telles que SQL Server, Visual Studio...etc. restent toujours dans la zone bleue. Même si c'est pas "in" de développer pour du desktop, un grand nombre d'applications n'ont tout simplement pas leur place dans la partie Metro.

Du Paint.Net ou du Office en Metro ? Je n'y crois pas une seule seconde.

Beja
Beja
9/14/2011 2:01:00 PM

Petite question, pourquoi dis-tu que .Net c'est du passé et que WinRT c'est la nouvelle version du framework .Net ?

Tu as des sources d'infos dans ce sens, que le .Net 4.0 sera la dernière version majeur, et que la prochaine aura pour nom WinRT 1.0 ? C'est ça que j'ai retenu de ton discours, mais je n'ai vue aucune info dans ce sens (ni dans l'autre).

Perso tout ce que j'ai vu c'est qu'ils allaient chercher à évincer Win32 par d'autres API, mais tout cela ne concerne que le code natif, le code managé lui resterait dans le framework .Net, qui ne serait pas menacé... A moins que tu n'ais d'autres infos à ce sujet ?

Sylvain
Sylvain
9/14/2011 2:05:49 PM

J'epére surtout ne pas apprendre .net / silverlight pour rien.

Par exemple quelle crédibilité donner à passer plusieurs semaines à apprendre/comprendre JOUNCE (je le prends car j'ai vu la'rticle et il m'interesse(ais)), si dans 6 mois on remet tout a plat :/

Je ne sais plus trop quoi en penser ...

Aymeric Lagier
Aymeric Lagier
9/14/2011 2:51:44 PM

Super article comme d'habitude, tu résumes très bien la situation.

Thomas
Thomas
9/14/2011 6:22:24 PM

Cool !

très bon article, bonne interprétation, bonnes explications.

certes les évolutions paraissent importantes, mais pas plus que lors de l'introduction du XAML...

finallement tout ça devient plus homogène...

Mand
Mand
9/14/2011 8:54:38 PM

C'est beau l'optimisme Smile
Mais la vérité c'est que MS s'ouvre au maximum pour s'assurer que toutes les applis tourneront sur son prochains OS.
MS conserve uniquement le XAML pour maîtriser la roadmap de ses applications et de sa plateforme.
MS sait qu'il ne peut pas faire l'impasse sur HTML 5 car le taux de pénétration sera trop important et les éditeurs feront inévitablement ce choix... tout comme les DEV sur le long terme.
MS maintient toutefois SL du bout des lèvres car il ne peut pas se permettre de perdre son vivier de développeurs du jour au lendemain. En ouvrant ses EDI au nouveaux standars il sait que petit à petit les développeurs glisseront sur HTML 5 & CO. Pendant que les autres continueront d'alimenter les dernières plateformes encore supportées...
Personnellement cette position de MS qui navigue entre deux eaux m'insite de plus en plus à revenir sur des valeurs plus sûres comme C++ par exemple.

Olivier
Olivier
9/14/2011 9:12:01 PM

@Paul: Je te connais bien et je sais ton attachement à Delphi, même encore aujourd'hui.
Moi j'avoue ne pas pouvoir me passer de Linq pour écrire du code, apprécier les Ria Services et l'Entity Framework, j'avoue sincèrement que sans Blend je ne développerai jamais d'UI lookées à la main en Xaml, etc.
Le monde de technologies et d'outils sous .NET est une somme fantastique. Qui laisse loin derrière les problèmes de "natif" ou pas "natif", de 32 bits ou 64 bits, dont les utilisateurs se moquent comme de leurs premières chaussettes.

La VCL et Delphi ont eu leur heure de gloire, et j'y ai participé donc je ne me renierai pas, mais il faut bien comprendre que le développement aujourd'hui et demain c'est 1/3 pour le desktop et 2/3 pour les tablettes et Smartphones. Et je vois mal des programmes Delphi 64 bits dans ce monde là... Quant au tiers restant, l'utilisateur des Iphone et autres Ipad ne veut plus depuis longtemps du look Delphi VCL.
C'est une niche, qui fait vivre des gens, tant mieux, je préfère te savoir heureux avec un salaire tous les mois qu'à la rue en train de mendier juste pour avoir raison...
Mais Delphi+VCL ce n'est plus l'avenir depuis des années.

Olivier
Olivier
9/14/2011 9:17:42 PM

@Sylvain: ne panique pas : Smile tout ce qu'on a appris reste valable, et plus aujourd'hui encore !
Jounce, MVVM, MEF, tout cela devient "la base" des nouvelles applications. XAML est intégré à l'OS, et tout ce que nous avons appris pour faire du Silverlight reste valable sur le Web et à 99% totalement pertinent en "Metro style".
Donc on reste en C# et XAML, au lieu que la couche en dessous s'appelle .NET et au lieu que la technologie s'appelle WPF, on dit que c'est du "Metro style app", c'est tout. Avec de nouvelles classes dans le framework qui sont très puissantes, de nouveaux contrats entre l'appli et l'OS pour permettre la recherche sous Windows même à travers les données d'une appli, avec des boites de dialogue d'ouverture qui, sans écrire une seule ligne de code WCF ou autre permet de rappatrier aussi bien une image locale qu'une image facebook.
Tout reste pareil, en mieux intégré et plus puissant.
Je pense vraiment qu'il n'y a pas matière à s'affoler.
D'autant, je le réptèrerai aussi longtemps que nécessaire : Microsoft n'a parlé une seconde du Web ! On parle ici de programmation native Windows, rien de plus. Et jusqu'à maintenant en dehors de l'OOB qui est très restrictif, Silverlight ne pouvait pas être utilisé pour écrire des applis Windows standard.
Windows 8 nous offre ce champ libre supplémentaire, aucune raison de faire la tête ni de s'inquiéter Smile

Olivier
Olivier
9/14/2011 9:24:43 PM

@Samuel:
Metro Style n'est pas une "surcouche" sur Windows, ça s'était .NET, un ensemble de DLL qui se charge uniquement si une appli .NET est lancée, sinon la machine restait du Win32 ou du Win64 en natif.
"Metro style app" est un ensemble de langages qui repose sur WinRT qui n'est pas une surcouche, c'est Windows ! (clou bien enfoncé d'ailleurs lors de la keynote).

Quant à parler des gadgets Vista en HTML+JS, oui, tu as raison, ils sont certainement l'ancêtre de ce qu'il y a dans Windows 8, mais en réalité cela n'a rien à voir.
On ne parle pas de "gadgets" que personne n'affiche et n'utilise d'ailleurs, même sous Win7, on parle de Windows 8 lui--même et de ce qui est considéré aujourd'hui par MS comme étant "natif", tout le reste ne subsiste que pour la compatibilité ascendante.
Il y a un vrai changement de paradigme, une vraie modification même d'architecture de ce qu'on appelle "Windows". Au point même que Windows ne gère plus des "fenêtres" mais est basé totalement sur le "full screen".
Windows 8 n'est pas encore sur la marché, alors oui, Word et Excel restent ce qu'ils sont, tournant dans "l'ancien mode", le passé. Combien de temps faudra-t-il à MS pour réécriture tous ses logiciels pour la nouvelle architecture ? Même MS n'a pas des moyens de production infini ! On ne peut donc se baser sur Word ou Excel pour démontrer quoi que ce soit. Tout ça est le passé, et le futur c'est bien WinRT.
C'est pas évident à avaler ou à comprendre, mais c'est comme ça que MS présente les choses en tout cas...

Olivier
Olivier
9/14/2011 9:32:02 PM

@Hadoken: Bien entendu les serveurs ne sont pas concernés, on parle de front-end pour utilisateur final.
Que Apache sous Linux soit horrible, que la modification des fichiers de config par VI soit d'un autre millénaire, tout le monde s'en fiche : personne ne le voit.
Ca sera pareil sous Windows.

A priori, quand on se prend la nouvelle comme ça dans la face, comme toi, on se dit que plein d'applis ne peuvent pas entrer dans la catégorie "Metro style".
Il y a certainement un fond de vérité que je partage, mais d'un autre côté je pense que c'est surtout que pour l'instant nous n'avons encore assez de recul pour que notre imagination se mette en route.. tu verras, dans 1 an, deux ans, tu verras des tas d'applis "metro style" que tu ne pensais pas possibles sous ce mode.
Metro style c'est un look, et une intégration telle à Windows... Et puis cela laisse toujours autant de liberté. Un Photoshop en metro style, si, c'est possible... (mais pas avec les équipes Adobe qui n'ont rien compris à l'UX, il suffit de voir les usines à gaz que sont photoshop et illustrator).
Laisse un peu de temps au temps...
Je me garde moi d'affirmer aujourd'hui des choses qui seront contredites par le temps et d'autres développeurs peut-être plus créatifs que moi... Du coup j'essaye plutôt de me placer dès aujourd'hui dans l'optique Metro style. Pour être capable de penser les softs autrement.

Olivier
Olivier
9/14/2011 9:35:12 PM

@Beja: Le framework .NET est une surcouche qui se place au dessus du kernel Windows. Cette architecture là est dans la zone bleue du graphique : le passé.
WinRT est Windows, pas une surcouche.
Et WinRT n'est pas une nouvelle librairie écrite avec un langage différent : c'est le framework .NET modifié et agrémenté de nouvelles classes le tout intégré de base à l'OS.
Le "framework .NET" tel qu'on le connait aujourd'hui appartient au passé, mais il subsiste pour l'avenir refondu dans WinRT.
C'est la même chose que WPF qui disparait totalement (pas un mot pas une citation) mais qui finalement renait au travers de Metro style puisqu'on peut utiliser XAML et C# ce qui, a la base, est un peu la définition de WPF sous Windows..

Olivier
Olivier
9/14/2011 9:42:29 PM

@Mand: je crois avoir expliqué les raisons de la position "makéting" de MS et de la teneur de son discours justifié par les échéances importantes pour la société et le challenge que représente la survie de Windows.
Il n'y a pas de navigation "entre deux eaux", il y a le Web avec ses standards et ses plugins, Microsoft n'en a pas absolument pas parlé ! Tout reste comme "avant" le Build. La même bataille HTML 5 ou Flash ou Silverlight n'a pas changée. A l'heure actuelle HTML 5 représente à peine le tiers de ce que savait faire Silverlight 1.0 + JS.
Les besoins actuels d'applications Web (je ne parle pas de "pages web" mais bien d'applis) réclament bien plus que ce que le pauvre HTMML 5 et son canvas peuvent donner... Flash d'une moindre manière mais surtout Silverlight sont des ooutils uniques, taillés pour les besoins du LOB. RRien ne change ici.
Concernant Windows, on arrête de parler de WPF mais on sacralise XAML en l'intégrant à l'OS avec C# (l'équipe XAML est passée sous contrôle de l'équipe Windows, cela a un sens très fort).
J'appelle ça une évolution naturelle, vers plus de cohérence.

Je crois que la vision de MS pour Windows 8 est tellement nouvelle, qu'on peut avoir du mal à l'intégrer la première fois. Il va falloir que tu regardes plus en détail ce que tout cela veut dire, et tu y verras plus clair : pas de navigation entre deux eaux, au contraire, une consolidation de l'existant dans un tout plus cohérent étudié pour recevoir tout cela de façon homogène.

Samuel Blanchard
Samuel Blanchard
9/14/2011 10:50:13 PM

Merci pour ta réponse Olivier.

Depuis ce matin, je me suis un peu plus renseigné sur WinRT et comme tu le soulignes ce n'est effectivement pas une surcouche à Windows mais un enorme provider de service.
En gros j'ai raconté un paquet de bêtise Smile
Je comprends bien que Word ou Excel seront migrés a termes mais en revanche je vois mal des programmes complexes (je pense à Cegid ou Sage par exemple) passer sous Metro.
Est-ce que l'utilsateur de tablette n'est pas, dans le discours, confondu avec le professionnel ?

Olivier
Olivier
9/15/2011 4:55:49 AM

@Samuel: des bêtises je ne sais pas, tu n'avais pas une bonne vision de WinRT mais cela faisait juste quelques heures qu'on savait ce que c'était, l'erreur est pardonnable ! Smile
Ta question est intéressante, la vision de MS c'est que tout sera tactile demain, tout et ils ont appuyé la dessus devant un public incrédule il faut bien l'avouer. De même, Windows 8 et son bureau avec groupe de tuiles, on pensait tous uniquement tablette. MS ne voit pas de différence tablette/PC de bureau/portable. Pour eux ce nouveau mode Windows c'est Windows, point barre, pour tout le monde et toutes les architectures de l'ARM aux multicoeurs Intel. D'ailleurs ils avaient deux monstres en démo, ma nana m'a fait remarqué que j'avais la langue qui pendait par terre quand ils les ont montré Smile l'un serait l'équivalent en puissance d'un Cray... Rêve de geek. Mais ils avaient aussi des vieux trucs qui avec Windows 8 étaient plus rapides, de façon très nette. L'étalage de machine, du Cray de fou au vieux portable type eeepc ne laisse aucun doute: c'est pour toutes les machines, toutes les utilisations.
En réalité le "pro" n'est qu'un utilisateur comme un autre. On a eu l'habitude (mauvaise?) dans notre métier de séparer pro/M.toutlemonde. Les derniers ayant droit à tout ce qui est joli et attrayant les premiers n'ayant le droit qu'à des softs mal ficelés aux boutons rectangle mal alignés (je le vois souvent)...
En réalité la démarche que j'explique ici d'ailleurs depuis longtemps, se prolonge dans Windows 8 : tout doit être clair et tout le monde mérite une UI digne de ce nom. Même un programme de facturation... N'oublions pas qu'une simple "facturière" payée au smic possède un IPhone ou un Android...
Bien entendu, "certaines" applications, genre serveur WCF ou équivalent ne seront pas forcément touchés, et encore ! pourquoi une appli serveur n'aurait-elle pas le droit, elle aussi, à une interface de bonne qualité ? des paramétrages simples, des affichages limpides ?
Je crois sincèrement qu'avec Windows 8 MS enfonce le clou de ce qui a débuté avec Xaml en mettant encore plus les pieds dans le plat : Windows 8 est une nouvelle vision de l'informatique, pour toutes les machines et tous les utilisateurs. La différence pro/ pas pro, la différence portable/desktop, etc, tout ça c'est l'ancienne façon de penser l'informatique et c'est tout ça qu'ils veulent balayer.
Très honnêtement j'ai été bluffé par l'existence de ce véritable changement de vision dans Windows. Je voyais, comme tout le monde, Windows 8 comme un Vista 3, une suite de Win7 avec une petite surcouche de menu style Metro pour les tablettes.
On était à des millions de km de ce que MS propose dans Windows 8. C'est un changement radical de l'approche.
C'est une "vision" pour l'avenir. cohérente.
Maintenant chacun sera libre d'adhérer ou non à cette vision. Mais Windows 8 est bien "différent", ce n'est pas qu'un message de pub. Et cela sous entend certainement un changement de mentalité énorme chez les informaticiens "classiques". C'est bien pourquoi MS s'ouvre aux bricoleurs HTML/JS, eux n'ont peur de rien et sont, au final, peut-être plus ouverts que les types accrochés aux nombres de bits d'une donnée, ou ceux capables de citer Stroustrup dans le texte et les plus dangereux encore : ceux qui savent écrire son nom (zut, je l'ai bien écrit Smile ) et les plus vicieux qui savent que son prénom est Bjarne. Smile
Windows 8 sortira dans plusieurs mois, on a le temps de se faire à l'idée et de réfléchir à cette proposition que nous fait MS : et si on simplifiait tout, pour toutes les machines, tous les utilisateurs ?
Un défi intéressant à relever en tout cas !

Paul TOTH
Paul TOTH
9/15/2011 7:42:38 AM

@Olivier

Embarcadero est d'accord avec toi, la VCL c'est très bien mais insuffisant, du coup ils lancent FireMonkey avec Delphi XE2, un framework natif vectoriel 2D/3D multiplatforme totalement déconnecté de l'API Win32. Il est d'ailleurs compatible iOS avec ouverture aux processeurs ARM et sera probablement disponible pour Linux avec XE3, et pourquoi pas Android Smile

C'est jeune et pas sans bug, mais ils mettent tous leurs effort dessus...à suivre.

Seb
Seb
9/15/2011 1:45:47 PM

Windows 8 pour pc me semble être une véritable hérésie.

Développer des applications métroStyle pour utilisation PC : simplement inutile. Métro va disparaître dans Windows 9 qui seras un Windows 8 sans les trucs chiants.

Pourquoi ?
-Une expérience utilisateur complètement schizophrénique, les utilisateurs devant faire des aller-retours incessants entre deux paradigmes, qui seraient tous les deux beaucoup mieux laissés séparément.
-Une mauvaise utilisation de l'espace
-Ce n'est vraiment pas pratique avec une souris: les barres de scroll c'est trop lourd. L'écran à faire "slide" au logon aussi .
-On ne peut pas fermer les applications ?
-On ne peut plus discrètement lancer un solitaire dans un coin de l'écran, etc ...

Donc finalement métro apporte quoi sur un PC ?
quid du multi-écran ?

Les choix de Microsoft me dépasse surement.
PS: Une mise en avant de javascript alors que même google souhaite l'abandonner c'est osé quand même.  http://www.developpez.com/actu/36993/Google-souhaite-t-il-pousser-JavaScript-vers-la-sortie-avec-Dart-Son-nouveau-langage-de-programmation-Web/

Olivier
Olivier
9/15/2011 8:00:26 PM

@Seb: Personnellement je me réjouis de l'initiative de Google qui devrait annoncer la fin de JavaScript que Dart supplentera sans mal. Si Google lache JS, d'autres suivront, j'en suis heureux. JS aujourd'hui c'est comme le Basic interprété en ROM des premiers IMB PC. Il faut que ça disparaisse.
Concernant le nouveau look "Metro Style", moi aussi je pensais que pour une machine de bureau c'était stupide. En l'utilisant je m'aperçois que c'est plutôt bien fait, même si je suis d'accord le scroll par ascenceur est pénible. Mais n'oublie pas que MS voit des écrans tactiles PARTOUT dans l'avenir. De fait, tu scrolleras avec ton doigt, cliquera sur la tuile avec le doigt, et après tu utiliseras le claivier si besoin. Pour faire un scroll et pointer un objet, un bouton, le tactile rend tout plus instinctif. J'ai un écran tactile et je peux te dire qu'en effet Windows 8 est conçu pour. Tout le monde en tactile c'est un pari à moyen et long termes de MS. On verra si les constructeurs suivent, c'est surtout ça qui compte. Si tous écrans, tous les portables sont en tactiles, qu'on ne puisse plus rien trouver d'autre sur le marché, forcément MS gagnera son pari, sinon ils adapteront, Windows 8 sait faire aussi...
Je ne suis pas d'accord sur la schizophrénie de l'OS. Au même titre que Windows 95 faisait le grand écart entre le 16 et le 32b, Windows 8 doit faire en sorte de ménager l'existant le temps qu'il s'adapte. Peut-on sincèrement reprocher à MS d'avoir permis la compatibilité des anciens softs et traiter W8 de schizo ? Ce n'est pas "honnête" moralement je crois. Si MS n'avait retenu aucune compatibilité arrière tu aurais dis un truc comme "c'est dingue ils veulent qu'on mettent à la poubelle tous nos softs !". Jamais content Smile
En revanche, dans un système aussi bien conçu, j'avoue qu'il y a une énorme friction cognitive : on ne sait pas fermer un programme nouveau look sans aller le shooter manuellement ! Je pense qu'on a juste un petit mot d'explication qui nous manque... "ze" raccourci qui fait la chose. J'ai essayé des tas de choses, j'en ai découvert d'autres, mais pas comment fermer une appli. Je suppose qu'on aura la réponse dans les jours qui viennent sur un blog ou un autre...
Enfin, MS ne fait pas le "choix de JS", Comme je l'explique, MS n'a pas le choix pour remplir le market place que de faire appel à un savoir faire en dehors de la sphère .NET qui ne fournira pas assez de nouveaux logiciels assez rapidement.
Si tu regardes, HTML et JS ne sont que des langages parmi d'autres, pas plus à l'honneur que les autres, au dessus de WinRT. MS en parle plus, par force, c'est quand même une grosse nouveauté et ils le font pour que ça se sache !
Les développeurs MS continueront à utiliser C#, VB et Xaml c'est évident.
Et comme je doute que ceux qui font du JS et de l'HTML pondent en nombre de nouvelles applis subliment en dehors des merdouilles qui fleurissent sur les market places Android et Apple, je pense sérieusement que cette "fantastistique ouverture" va très vite tomber aux oubliettes, comme les gadgets Vista en Html/JS. Mais la première vague d'essayistes permettra de remplir le market place, c'est tout ce qui compte, il ne faut pas chercher plus loin la raison de cet ajout à côté de C#, Xaml, et VB.
La poussée de Dart chez Google va ringardiser JS assez vite normalement. Peut-être un Dart.NET dans le futur ? Va savoir... N'importe qui peut proposer un langage .NET, Google pourrait vampiriser Visual Studio avec son support HTML/CSS/JS en fournissant juste Dart sous WinRT en remplacement de JS... On voit mal MS empecher la chose, juridiquement tout le monde peut créer un langage .NET et le fournir en plugin pour VS.
C'est là que MS, qui préfère aider Facebook contre Google qui lui fait très peur, se retrouverait comme l'arroseur arrosé avec leur idée idiote de mettre JS dans la boucle des développements "sérieux" au même niveau que C#...
Mais tout cela est de la fiction, pour l'instant tenons nous en à la réalité !
1) par de schizo, juste une compatibilité ascendante qu'on est en droit d'exiger d'un éditeur comme MS
2) aucune mise en avant de JS comme "seul" langage, juste un de plus, avec juste beaucoup de com' pour que ca se sache, après tout c'est assez incroyable pour mériter un peu de pub... qu'on aime ou pas.
3) le nouveau bureau de W8 est hyper pratique, avec un ecran tactile, c'est étudié pour et MS fait ce pari du tout tactile partout même au bureau. Comme tout pari on ne sait rien de sa réussite, mais dans ce cadre l'OS est très agréable à utiliser même en desktop.

Gabriel
Gabriel
9/16/2011 11:29:35 AM


[i]@Olivier :
Silverlight pour le Web continue sa route, la version 5 sortira d’ici quelques temps d’ailleurs.[/i]

Sort en version 5 mais n'existe que sous Windows (et encore pas avec tous les navigateur, si j'ai bien compris), Mac et avec un service minimum sous Linux ; pas de version sur l'internet mobile (Android, iPad .... )

Pire, pas de Silverlight dans IE10 Metro qui se veux "plug-in free".
(http://blogs.msdn.com/b/b8/archive/2011/09/14/metro-style-browsing-and-plug-in-free-html5.aspx)

Donc si les acquis XAML et C# sont bien consolidé, personnellement je laisse tomber Silverlight. Son avenir en tant que plug-in me semble bien incertain.

(Note que tu as perdu ton pari, sur le fait que Silverligt allait devenir une dénomination commerciale plus globale : désolé, ce sera Metro - qui claque moins à mon sens).

[i]Les besoins actuels d'applications Web (je ne parle pas de "pages web" mais bien d'applis) réclament bien plus que ce que le pauvre HTMML 5 et son canvas peuvent donner[/i]

Justement, si on sort de la page Web, Silverlight n'a plus d'intérêt.

Silverlight "out of browser" c'est Metro avec des trucs en moins.
Autant faire du Metro.


Pour du "in browser", le choix du HTML/Javascript me parait infiniment plus pertinent et pérenne - car fonctionnant sur tous les navigateurs/OS.

Je hais javascript.
Mais aujourd'hui une WebMethod C# d'une page asp.net et le javascript s'échangent des objets structurés sans aucune ligne de code. Les librairies javascript se multipliant et développer en javascript est beaucoup moins compliqué qu'il y a 1 an ou 2.

Je fait un soft d'eLearning sur la lecture de courbe de rythme cardio-foetal. J'ai donc une simulation de la longue bande papier émise par les appareils médicaux. J'avais commencé en Silverlight. J'ai tout repris en Javascript/Canvas - graphisme et autre onglets coulissant/animé compris. Ca m'a pris une semaine, alors que je n'avais jamais touché jQuery avant.

Mais maintenant le soft d'eLeaning fonctionne sur ma tablette Android, ne nécessite pas de plug-in dont l'installation est interdite par ceux qui ne sont pas administrateur de leur machine (très courant dans les hôpitaux) etc ..

[i]le nouveau bureau de W8 est hyper pratique, avec un écran tactile, c'est étudié pour et MS fait ce pari du tout tactile partout même au bureau. [/i]
Windows 3.0 avait fait passé les écrans de 80% en N&B (vert et ambre) à 80% en Couleur en 6 mois. L'histoire se répétera peut être.
Mais je n'y crois qu'à moitié.
Autant le tactile est évident pour une tablette, autant sur un bureau on ne va pas travailler bras tendu, sans parler des traces de doigts.

En attendant, l’intégration de l'écran DANS le bureau (et encore où va-t-on mettre ses papiers), je n'y crois pas dans un avenir proche.

[i]1/3 pour le desktop et 2/3 pour les tablettes et Smartphones.[/i]
Dans l'absolu peut-être. Dans l'entreprise, c'est moins certain.
Perso, je suis dans le domaine médical, et je ne pourrais pas faire l'impasse sur une version tablette pour les consultations "au pied du lit".
Mais pour le reste, un clavier virtuel ne remplacera jamais un vrai clavier et on en revient à mon problème de bras tendu pour le pointage.

La tablette c'est super pour certaines choses.

Mais, dans le monde professionnel, même pour répondre à mes mails, je préfère un vrai clavier et un écran au dessus de 10" (surtout si la moitié est bouffé par un clavier virtuel). Ca évite les signature penaudes du type "répondu depuis mon iPhone" pour excuser la concision du texte et l'absence d'un accent sur deux.

Bref, je suis 100% d'accord avec Seb lorsqu'il parle d'une
[i]expérience utilisateur complètement schizophrénique, les utilisateurs devant faire des aller-retours incessants entre deux paradigmes[/i]

Dans l'entreprise MS risque de se heurter au même problème qu'entre XP et Vista.
Hors entreprise, la concurrence va être très rude avec les autres OS.
Car pour faire du MSN, du Facebook ou surfer, les utilisateurs particuliers se moquent de l'OS (ils ne savent même plus ce que c'est).

Microsoft jour gros.

La suppression du menu "démarrer" en mode Win32 me parait débile.
A la souris, l’ascenseur horizontal, et le coup de la souris dans le coin en bas à gauche ne sont pas du tout, du tout pratique et pas du tout intuitif. J'ai mis un moment à retrouver comment lancer la calculette qui n'est pas dans les "tuiles" par défaut.

Attention, je ne suis pas un ennemi de Metro.
Dès qu'un ordi portable a écran retournable (transformable en tablette) sort sous Windows 8, j'achète et je brade ma tablette Android qui est super pour tout un tas de tâches mais qui n'embarque pas Visual Studio, pas de vrai soft de retouche photo ou qui n'est pas du tout pratique pour faire du traitement de texte.
Une bécane 11" ou 12" capable de faire les 2 (tablette et vrai PC) se sera le pied.

[i]WinRT c'est Windows...
... Et le sens de “développement natif” aussi j’en ai bien peur ![/i]

J'ai collé les 2 citations car elles montrent que c'est plus de la terminologie qu'autre chose.

J'ai le sentiment que WinRT est à Windows ce que Dalvik est à Android.
Quasiment la seule API disponible, mais plus une machine virtuelle qu'un OS au sens où on l'entendait jusqu'ici (accès au hard).

Avant on avait Application/OS/Bios/Hardware.
Maintenant on a ajouté une couche entre l’application et l'OS et on appelle cette couche "OS".
Comme les nouveaux BIOS tendent vers ce qui anciennement était réservé à l'OS, on va finir par retomber sur nos pieds.

Ca va permettre le portage de Windows sur des puces non Intel, en ne ré-écrivant que la partie "kernel" du graphe vert et bleu.

Cordialement

Mand
Mand
9/16/2011 12:00:10 PM

Olivier, dans le monde tout tactile que tu décris, i.e. celui de Metro, Silverlight n'existe pas. (cf. l'annonce de MS avec IE10).

La tendance n'est pas à développer des applications desktop mais bien des applications WEB. Si metro connaît le succes que tu lui prédis, alors c'est bien la fin de SL qui est au bout. (CQFD)

On est tous d'accord: JS c'est pas un langage pour un développeur .NET mais HTML va forcément s'imposer! C'est tout le paradoxe et le problème qui va se poser dans les mois qui viennent. En ce qui me concerne, je vais mes équipes ne commenceront plus de projet SL, maintenant c'est sûr Smile

Mieux encore, je crois que'on va se tourner vers la plateforme que va nous proposer google, dont la vision de l'avenir semble cohérente.

Désolé pour les développeurs .NET, mais il va falloir se recycler et s'OUVRIR aux développements à 2 balles Smile (soit entendu que je le regrette).

Olivier
Olivier
9/16/2011 2:35:06 PM

@Gabriel : "tout est terminologie", c'est en effet ce que je voulais démontrer Smile
Quant au pari, si je l'ai gagné : WPF a totalement disparu, pas un mot, pas une fois le sigle, alors que Silverlight existe toujours.
Toujours cette confusion entre le Web et le Dev ciblé Windows 8...
Sur le Web, SL existe toujours, il existe toujours pour développer pour le phone 7, etc. Et MS peut bien prendre la décision d'un IE "plugin free", ça me laisse songeur : tous les browsers acceptent des plugins (correction orthographique, connexion réseau social..) et tous sont passés devant IE, alors IE a-t-il les moyens de cette prétention ? J'attends pour voir... En tout cas IE n'est plus leader sur le marché des browsers et ce n'est pas lui qui va dicter la loi du marché, ça c'est certain.
De toute façon sous Windows 8, quel intérêt de fournir une appli SL in browser ? alors qu'il suffit de faire la même appli packagée pour market place et qu'elle soit installée dans une tuile totalement adaptée à l'UI de W8 ?
C'est sous Windows 8 qu'on ne parle pas de Silverlight, car c'est "metro style", mais Windows n'est pas le Web !
On verra quand MS sortira SL 5 ce qu'ils diront du Web et de l'avenir de SL 6.
La conf Build ne permet de faire des conclusions que sur le dev Windows 8, rien de plus.
Et le couple C# /Xaml démontre qu'il est largement d'avenir dans cet environnement.

C'est bien une question de terminologie...

Olivier
Olivier
9/16/2011 2:54:09 PM

@Mand : Dans le monde Metro Style, Silverlight existe toujours  : C# + Xaml, même contrôles + quelques nouveaux, même langage, même outils (VS et Blend).
Je n'arrive pas à comprendre cette lecture à contresens de la vérité...

Quant à HTML 5, avant qu'il soit au niveau de SL 5, il va s'en passer des années...
Pourquoi Flash a t il pu exister ? c'est justement parce qu'il n'y a pas deux browsers au monde qui implémentent HTML de la même façon peu importe la version, et on le voit clairement de façon affreuse avec la version 5 !
Le seul moyen d'écrire une seule fois une application qui tourne vraiment bien sur tous les browsers ce n'est pas HTML5, il existe dès le départ bien trop de différences entre les implémentations.
Silverlight sur le Web a encore beaucoup d'avenir, et quand à Windows 8, Silverlight (C#+Xaml) permet aujourd'hui d'écrire des applis "natives". C'est une amélioration de l'existant.
Si on parle d'aujourd'hui, à cette heure ci, pour faire une appli mobile, HTML/JS est un bon choix de portabilité. Dans 1 an quand il y aura des tas de tablettes Windows 8 qui seront achetées en prioriété car les gens veulent "leur" Word sur leur tablette, tout cela ne t'apparaitra que comme un choix transitoire, valable sur une fenêtre de un an ou deux maxi...
Avec SL, C#+Xaml, on peut continuer à miser sur les 10 ans à venir. Je ne dirais pas la même chose du Bronx que représente Html 5 /Css3 et JS !

Faut pas être négatif comme ça.
Ni croire que tous les développeurs du monde vont se remettre à HTML+JS comme il y a vingt ans ! Seuls les jeunots pourront se faire abuser, et les non professionnels. Je vois mal les gars habitués à Java, C#, C++ se mettre à bricoler en JS avec du CSS... et trouver que c'est une évolution... On fait comment du Linq en JS ?
Il ne faut pas confondre "page web" et application sérieuse.
Il n'y a aucune marche forcée, il y une fronde qui a décidé de forcer html 5, ce choix est tellement idiot, vingtage, sans aucun apport technologique, sans aucun apport pour l'utilisateur que cela serait bien la première fois que tout le monde plongerait sur un truc qui n'apporte rien à personne.
La portabilité ? je rigole : il n'existe pas deux browsers qui proposent la même implémentation de Html 5. Le retour des batteries de test "si c'est IE9 alors, si c'est safari alors... si c'est machin alors.." des tartines avant d'écrire une ligne de code.
Et comme HTML5 fait plus de choses, les différences entre browsers sont encore plus terrifiantes. Ce n'est plus des "si machin alors" qui seront nécessaires mais des réécritures complète en 10 versions d'un même soft, une par browser.
Alors on reviendra à une seule écriture, sur un plugin qui marche pareil partout...
Et puis SL marche sous Windows et sous Mac, c'est bien suffisant. Je regrette juste un plugin sous Android, comme Flash l'a fait. Mais là on touche à la stratégie MS qui ne veut pas donner trop de bonnes choses à la concurrence avant d'avoir sorti ces phones Nokia et sa propre tablette. Ca se comprend.
Franchement tu connais beaucoup de end users sous Unix ? même sous Linux ? aucun en dehors de quelques geeks déjantés.
Donc la "portabilité" dans un monde dominé par Windows et quelques pourcents de Mac, c'est bien Windows/Mac. Le reste n'a aucune importance. Et SL le fait déjà.
Juste le regret pour Android mais j'ai expliqué pourquoi MS ne voulait pas le faire.
Mais on verra bien. Les idiots sont plus nombreux que les sages, mathématiquement HTML 5 sera donc adopté par un grand nombre de personnes.
Le nombre fait-il la raison et doit on suivre le nombre comme des moutons ?
C'est une autre question !

hka
hka
9/16/2011 3:07:59 PM

Super billet !
Par contre, je suis inquiet, très inquiet !
je suis tombé sur une news qui dit que SL ne sera pas supporté dans IE10/Win8-Metro

c'est grave docteur ? Wink

http://www.clubic.com/salon-informatique-tic/windows-build/actu/ie_10_la_version_metro_n_acceptera_ni_flash_ni_silverlight-446948.html

Gabriel
Gabriel
9/16/2011 7:11:08 PM

@Olivier : Ni croire que tous les développeurs du monde vont se remettre à HTML+JS comme il y a vingt ans ! Seuls les jeunots pourront se faire abuser, et les non professionnels. Je vois mal les gars habitués à Java, C#, C++ se mettre à bricoler en JS avec du CSS... et trouver que c'est une évolution...

La supériorité technique du couple C#/XAML, par rapport à Html/Js est incontestable.

Mais tout dépends donc de ton métier.

Si ton audience est large et vise tous type de terminaux, alors HTML/Javascript est incontournable.
C'est pas que c'est une avancée, c'est pas que t'es un bidouilleur sans aucun professionnalisme, c'est que t'as pas le choix.

Si je suis le journal "Le Monde", plutôt que de développer mon appli en Objective C pour Apple, en Java pour Android et C# pour Windows 8, je fait une appli html/js que j'encapsule de façon spécifique pour chacun de ces terminaux.

Je pense que c'est eux que vise ce mode "natif" html/js.

Casser les applications "média" purement Apple, et casser leur business model de paiement au sein des applications.

Il est évident que cela ne vise pas des applications plus traditionnelle.

Je note quand même que même Microsoft Hotmail, comme toute les applications Microsoft Live, ne n'est pas en Silverlight, mais bien en Javascript.

Si tu vises un un public au delà du PC et de Windows, génial ou pas, tu fais du html.

@Olivier :On fait comment du Linq en JS ?

On ne fait pas ! Tout simplement parce que l'on en a pas besoin.
Javascript, c'est pour la présentation uniquement.

Linq tu le fais coté serveur dans une WebMethod, intégrée à ta page aspx et que tu appelle avec jQuery.

Même si c'est pas les RIA services, le transfert de structures de données complexes entre une WebMethod Asp.Net et javascript fonctionne de façon  relativement impressionnante et transparente.

Mand
Mand
9/17/2011 10:50:45 AM

D'accord avec Gabriel.

Mais plus encore, C# 5 introduit la possibilité de faire directement appel à du code C#  depuis JS.

Mais de toute façon le débat n'est pas là. On sait que C# gardera son importance et même, elle progressera.

La tendance des applications WEB est aussi une réalitée. De même que les utilisateurs priviligérons l'interface Metro (le mode Desktop est clairement destiné à de la compatibilité, c'est une évidence).

Dans Metro on retrouve certe XAML mais la tendance est au WEB.

SL fonctionnera en entreprise, on est d'accord. (enfin sans progression à mon avis). Pour le reste, c'est terminé.

De toute façon, on le sait depuis 1 an déjà, la BUILD ne fait que confirmer la tendance.

MS fait les choses en douceur... Les développeurs SL de demain sont les "developpeurs" VB6 d'hier et d'aujourd'hui Smile

Le WEB grand public a échappé à MS, ils vont maintenant corriger le tir et récupérer la communauté qui va avec. Oui c'est pas le développement qu'on aime; Non ça ne respectera pas nos patterns; oui ça sera du bricolage et en plus ça sera moche à coder! Mais c'est comme ça que le WEB fonctionne et ce sont les Web Designer, Flasher etc qui en ont le plus profité. Pour l'utilisateur c'est l'UI qui prime... c'est comme ça, OSEF du code behind ^_^

HML5 n'est pas encore à la hauteur mais son taux de pénétration est déjà supérieur à SL... Je ne me fais pas de soucis, ça suivra innévitablement.  

Le choix de MS n'est pas celui des techniciens. Mais la position est justifié.

Olivier
Olivier
9/18/2011 3:28:16 AM

@hkq, Mand, Gabriel:

Les applis Windows 8 seront en C#/XAML, donc cela ne change pas grand chose en fait à la situation actuelle.
Pour le Web pur, finalement, ça ne change rien non plus, la majorité des sites sont déjà et depuis toujours en html/js.
Reste qu'en effet, la décision de ne pas intégrer de plugins à IE sous W8 est un tournant : soit tout le monde va balancer IE, ce qui a déjà largement commencé, et donc ca va continuer comme maintenant en utilisant Firefox par ex, soit le coup fonctionne et c'est la mort de Flash et SL sur le Web. Comme je le disais SL conserve beaucoup d'avantages pour les intra et extranet en raison de son lien fort avec l'informatique utilisée en entreprise, mais Flash est mort dans cette logique, car lui n'a rien de tout ça.
Mais bon, IE10 continuera de supporter les plugins, tout en disant que c'est la dernière fois. La sortie de Windows 9 donc... Windows 8 n'est déjà pas sorti, alors je crois que ça laisse une visbilité de 2 ans minimum. En informatique c'est déjà énorme.
Après, dans 3 ans, 5 ans... Bien malin qui pourrait faire des prévisions, au sujet de SL, de Windows ou de n'importe quoi d'autre dans notre métier...
Il reste vrai que tout cela vise à seule chose : macroter les éditeurs de logiciels pour leur piquer 30% en les obligeant à passer par le market place.
Si cela marchera sur les tablettes ou "l'esprit phone" existe déjà chez tous les fabricants et éditeurs d'OS, franchement j'ai de gros doutes pour les machines desktop et pour les entreprises.
Il y a en ce moment d'énormes enjeux que personne ne décide mais qui se font en fonction des choix d'Apple, de Google et MS. Un rien peu faire basculer l'avenir dans un sens ou un autre. Nous abordons une période "fragile" où les prévisions risquent d'avoir la qualité de celles de météo france depuis le dérèglement climatique : c'est à dire que jouer à pile ou face est plus sûr statistiquement...

Mand
Mand
9/18/2011 8:21:16 PM

@Olivier ton dernier commentaire me semble bien mieux équilibré.

Pour le reste nous sommes d'accords, impossible de prévoir l'avenir. Win8 est une tentative de transition vers le tout tactile, ou tout du moins ... vers les interfaces 100% Naturelles. (win9?) D'ici là nous verrons les outils qui seront à notre disposition...

Sylvain
Sylvain
9/19/2011 4:06:46 PM

Ou le retour en pointe de l'asp :/

Olivier
Olivier
9/21/2011 7:17:57 AM

@Sylvain: le "retour de asp" (.net je suppose), je ne crois pas.

Asp.net ne fait pas partie des méthodes de développement proposées au dessus de WinRT. Donc AS.NET n'est pas "poussé" dans ce nouvel environnement qu'est W8.

En revanche, pour le Web, vu que HTML/JS reste le standard de fait comme au premier jour, des outils comme ASP.NET resteront tout à fait pertinents.

Sous WinRT les applis Html5/JS se développent avec Expression Blend qui a été modifié pour gérer CSS et Html, et c'est très bien fait. Mais ce n'est pas Expression Web ni même ASP.NET sous VS qui ont été retenus.

On peut regreter que tout aille dans le sens de technologies client/serveur (html5/js + services ou cloud, asp.net = un serveur derrière, etc). Le client Riche avec ou sans appli serveur ni cloud est un besoin réel que Html/je ne couvre que très partiellement actuellement (pas assez puissant).

D'un autre côté une annonce ne suffit pas à supprimer tous les besoins couverts par les clients riches comme Silverlight ! Surtout que la norme Html5 ne sera pas officiellement bouclée avant longtemps, qu'elle ne sera pas implémentée identiquement par tous les browsers et que cela ne peut en l'état remplacer la puissance de C#, Linq ou Xaml qu'offre SL sur le Web.

A titre indicatif, voici deux sites qui essayent de faire le point sur le support actuel et à venir des Html5/css3. On imagine le foutoire que cela va être pour faire des applis soi-disant "standard" ! http://caniuse.com/ et http://findmebyip.com/litmus/


MS aurait annoncé "plus de SL pour les clients riches mais voici la techno xxx pour le faire qui la remplace" les choses seraient toutes autres. Mais ce n'est pas le cas.

Et on ne décide pas, tout puissant que peut être MS, qu'un réel besoin servi par des produis comme SL ou même Flash, n'existe plus juste parce qu' on l'annonce implicitement.

MS est assez puissant pour éventuellement proposer quelque chose de nouveau à la place de ces technologies. Mais pas assez pour dire "passez vous en parce qu'on l'a décidé", sans rien proposer d'autre que Html 5 qui n'est pas même clairement défini ni officiellement bouclé (certains parlent de 2017 voire 2022!)...

D'où la mise à jour WPF 4.5, d'où Silverlight 5 à venir d'ailleurs...

IE10 en version Metro style n'accèpte pas les plugins mais la version desktop les accèpte, donc Silverlight. On voit d'ailleurs la terrible schizophrénie du double bureau de W8 qui risque d'être son point le plus faible... Et il y a fort à parier qu'en dehors des tablettes les utilisateurs préfèreront soit un concurrent de IE qui gère les plugins, soit la version desktop de IE qui le fait aussi, et donc n'utilisent pas le IE Metro style (car personne ne sait au départ d'un "surf" s'il va tomber ou non sur un site nécessitant un plugin, donc autant prendre dès le départ le browser qui le gère).

D'ailleurs IE est en perte de clientèle depuis longtemps et n'est plus leader. Je doute que Firefox ou Chrome sortent des versions Metro Style avant longtemps. Les gens prendront ainsi l'habitude de surfer hors Metro style.

Le BUILD a soulevé beaucoup plus de questions qu'il n'a fourni de réponses, et c'est un euphémisme...
Si on s'en tient à la keynote, c'est même une catastrophe de ce point de vue.

Mais si on prend un peu de recul, on s'aperçoit que tout cela n'est qu'une parade sur une scène qui parle de Windows 8, un OS qui n'est pas près de sortir, pour des machines "tout tactile" ce qui n'est pas près d'être la réalité, etc.

Microsoft, très distancié en matière de smartphone et tablettes qui bousculent le marché classique des ordinateurs devait absolument "parler", prouver qu'ils sont "là" et qu'ils "préparent" quelque chose de "différent" des autres. Tout le buzz autour d'annonces incomplètes, faisant peur pour certaines, tout cela a été murement réfléchi comme une énorme manipulation médiatique. On ne peut leur reprocher de vouloir survivre et de se présenter comme des innovateurs. Ils le sont, avec beaucoup de retard, mais MS a certainement des choses intéressantes à dire et à faire voir. Mais interpréter le BUILD comme une conf technique dont les annonces seraient valables à partir de maintenant serait une erreur.


Il y a une "vision" du future dans le BUILD, la proposition d'un Windows très différent et que je trouve vraiment bien et original. Mais tout cela ne s'appliquera (peut-être) qu'au minimum dans 2 ou 3 ans. D'ici là le Web aura encore évolué, les parts de marché de MS sur le téléphone et les tablettes seront comme aujourd'hui très minoritaires... Auront-ils le poids dans 2 ou 3 ans d'imposer des choix alors même qu'ils devront séduire et remonter la pente de plusieurs années de retard ? pourront-ils se permettre de frustrer les utilisateurs desktop alors même que cela sera leur dernier bastion pour renflouer les caisses (la suite Office et l'OS sont l'essentiels des gains de MS) ?

Je crois qu'il est urgent d'attendre, de ne pas céder à la panique, et de continuer sur les voies actuelles sans se soucier de ces effets d'annonce, intéressants, mais que seul le temps et le évènements à venir permettront de préciser.

Avant que le menu en tuile de W8 n'envahisse tous les PC même desktop, que ces derniers soient tous dotés d'écrans tactiles, et que Html/js arrive à la cheville de ce que permet Silverlight, les poules auront des dents !

Sur les tablettes, W8 sera un superbe OS qui séduira les utilisateurs qui veulent pouvoir développer sur une tablette, ou simplement utiliser Word et Excel, même sur des machines ARM. Cela sera certainement le point fort de W8 qui à mon sens garantit dès aujourd'hui un certain succès à cette nouvelle plateforme.
W8 sur PC sera installé par défaut sur les nouvelles machines à sa sortie, comme toute nouvelle version de Windows. Mais les gens s'en serviront-ils comme sur une tablette ou bien uniquement comme un Windows 7 amélioré en mode desktop ?

Les annonces du BUILD ouvrent de nouvelles perspectives en ce qui concerne le développement sous Windows (c'est WinRT), mais la façade du tout "tuile et tactile" présentée implicitement comme seule voie d'avenir n'est qu'un discours commercial à prendre avec beaucoup de précautions.

Le desktop est loin d'être mort, et le Web ne change pas d'un claquement de doigt. HTML est une "norme" sans contrainte dont l'adoption dépend de chaque éditeur de browser. On voit dès aujourd'hui que pas deux produits ne supportent les mêmes features...
Comment dès lors faire croire que Html permettra de développer des applications complexes "standard" alors qu'on sait qu'elles ne tourneront que de façon aléatoires selon les browsers sauf à ne considérer que le strict minimum du noyau de Html 5 ?

Bref, Html restera Html pour toujours, un truc "standard" sur le papier mais implémenté différemment. Ce qui a justifié, bien avant la sortie de Silverlight, l'invention de Flash par Adobe.
Html 5 sera-t-il supporté de façon si homogène que ce besoin d'un plugin assurant une platefome de développement fiable disparaisse ?

Ce n'est pas même pas que j'en doute, ni même que j'en rigole. Je me contente juste de lire les comparatifs actuels des implémentations de Html 3, 4 ou 5 dans tous les browsers et j'ai la réponse à cette question... Pour les décennies à venir !

So... keep cool Smile

Jean-Marie Stawikowski
Jean-Marie Stawikowski
9/23/2011 11:40:26 AM

Si Silverlight ne sera pas supporté dans [b]IE10 Windows 8 Metro style Apps[/b], donc sur toutes les tablettes basés sur des processeurs ARM par exemple.

Alors peut être que Microsoft proposera WinRT comme stratégie WEB/RIA à la place de Silverlight. Puisque-que les applications de type HTML5/JavaScript ont déjà  accès à l'API de WinRT.

Alors il n’y a qu'un pas pour que les applications de type [b]XAML/C# Windows 8 Metro style Apps[/b] s'exécute depuis le browser [b]IE10 Metro style Apps[/b] avec  toutes les sécurités adaptés au Web Riche.

Si c’est cela qui ce passe alors Silverlight tel qu'on le connait est mort, parce que l’on ne peut pas dire qu’une application XAML/C# [b]Windows 8 Metro style Apps[/b] c’est du Silverlight même si elle reprend  les concepts de Silverlight.


Olivier
Olivier
9/23/2011 1:00:27 PM

@Jean-Marie: La situation est complexe et pas très claire il faut malgré tout l'avouer. Et il y a plusieurs façons de l'apprécier.
Sous l'angle technologique, la création d'applis pour WinRT avec C# et Xaml démontre la continuité de ce qui a été fait avec WPF et SL. De ce point de vue SL n'est pas mort, il vit au travers de WinRT. Mais ce n'est plus SL, d'ailleurs cela ne porte pas ce nom et ce n'est pas une techno Web.

Sous l'angle pratique, une annonce précise de MS est en train de mettre le feu aux poudres, c'est juste ça qui pose problème : Internet Explorer sous WinRT (Metro Style) ne supportera pas les plugins. Ni Flash, ni SL, ni rien. Tout en HTML. et rien que HTML.

En même temps MS dit qu'une version Desktop de IE acceptera "pour un certain temps encore" les plugins...

On ne sait pas trop où cela va nous mener.

Soit tout le monde adore Metro Style et utilise IE dans ce mode, et tout le monde verra un écran blanc à la place des applis Flash ou Silverlight sur le Web. C'est la mort des plugins, la victoire de Metro Style tout Html.

J'ai du mal à y croire personnellement.

Je pense plutôt que les gens ne sachant pas à l'avance si durant leur session de surf sur le web il y aura ou non des sites avec du Flash ou du SL ils choisiront d'emblée de surfer avec la version Desktop de IE, non Metro Style, ou d'utiliser FireFox ou Chrome (en desktop classique donc). Si les choses se passent ainsi, on peut dire que SL va survivre et que c'est Metro Style tout entier qui va mourir avant même de s'imposer. Au moins sur les PC de bureau.

Très difficile donc à l'heure actuelle de faire des pronostics...

On notera aussi pour clarifier les choses que les applications HTML/JS pour Windows 8 sont _très_ spécifiques et qu'elles ne peuvent PAS fonctionner sur le Web (Elles utilisent des objets spéciaux WinRT).
MS vient d'inventer le HTML incompatible avec le Web...
Peu de gens l'ont compris pour l'instant. Mais la fameuse portabilité, l'universalité de Html vient d'être tuée : une appli html W8 ne sera pas une appli Web ! De l'universel limité à W8 donc. Ca aussi ça va poser problème je pense...


Il y a aussi les aller-retours entre le bureau Metro Style et le bureau standard. C'est joli en démo, mais quand on travaille longtemps, comme WinRT est sandboxé, beaucoup d'applis ne peuvent fonctionner dessus, donc on passe son temps à switcher de bureau. Et au bout d'un moment ça donne un peu envie de vomir.

Cette dualité de bureaux va-t-elle séduire les utilisateurs de PC ? (je ne parle pas des tablettes pour lesquelles cela peut être acceptable car tout sera en metro style ou presque).

S'il y a rejet, on reviendra à un OS pour tablette en Metro style, et un Windows 8 ressemblant à Windows 7 pour les PC...

Deux OS en un, MS vient de créer le seul OS au monde qui n'est pas compatible avec lui-même... un sacré tour de force. Mais pas forcément un idée géniale commercialement et encore moins techniquement. D'où toutes les incertitudes.

La règle "no plugin" de IE, et le double bureau sont les deux points noirs qui peuvent faire capoter Windows 8, sur les PC j'entends.

MS a réellement fait un travail intéressant avec Windows 8 qui propose une approche différente, sans copier la concurrence. Mais en même temps, à cause de ces deux points noirs il est impossible de savoir de quoi sera fait l'avenir. Et c'est vraiment dommage pour W8 qui lui est un bon produit.

C'est problématique pour tout le monde. Et comme personne n'aime rester comme ça entre deux eaux alors que le Build devrait répondre à toutes les questions on voit se dessiner déjà une option chez les développeurs : On continue avec SL et WPF, ça fonctionnera encore des années et cela est une visibilité largement suffisante dans la pratique, et puis pour Metro Style on verra pour les applications destinées au market place (tablette ou windows), les petites applis grand public généralement.

D'ailleurs SL 5 va sortir, et WPF 4.5 aussi.

Mais il ne s'agit pas de la vision "tout tactile tout metro style" de MS. C'est une interprétation "pratique" pour permettre la poursuite du business... Les signaux de MS sont très contradictoires, trop, pour comprendre où on va.

MS a fait une énorme erreur de communication mais aussi technique par certains choix ahurissants. Le plus grave n'est pas de dire on évolue, on change les technos, c'est de dire on supprime des technos géniales et à la place revenez 20 ans en arrière avec JavaScript, et encore vos applis W8 en Html/js ne tourneront pas sur le Web.
C'est assez dingue quand on y réfléchit.
C'est tellement "nouveau" en effet, que personne ne peut prévoir comment cela va être perçu dans la réalité...

Cela brouille en tout cas toute visibilité de l'avenir, cela fait peser le poids d'une inquiétude naturelle chez tous les acteurs et la peur n'aide pas à faire des affaires surtout en période de récession économique comme celle que nous vivons.

On avait besoin d'un Build solide, clair, répondant à toutes les questions, offrant une vision de l'avenir radieuse,riche de nouveautés.
A la place nous nous retrouvons avec plus que de questions, aucune réponse, et plein d'inquiétudes.

C'est ainsi. Il va falloir vivre avec.

Alors comme beaucoup d'autres MVP, que ce soit WPF, Silverlight, C#, etc, sur nos mailing lists privées, je pense qu'il faut continuer sur Silverlight. W8 est loin d'être sorti. Plus il y aura d'applications Silverlight sur le Web et ailleurs, plus la vision d'un Windows metro style sans plugins sera morte avant d'être née.

W8 est un super OS que je serai le premier à conseiller quand il sera en vente, mais je combattrais certains choix jusqu'à la fin car ils sont délirants. Beaucoup pensent comme cela et W8 n'étant pas encore près à envahir le marché, cette démarche collective peut certainement infléchir le futur. On sait que MS navigue à vue cherchant à surnager après son manque de vision sur le marché des smartphones et des tablettes, deux marchés qui lui échappent tous les jours un peu plus. Ca sent un peu la panique et l'effet d'annonce pour créer le buzz et tenter de retrouver un leadership perdu.

W8 est une bonne réponse, même si elle sera très tardive, c'est juste le "no plugin" et le html non compatible Web qui posent problème, points sur lesquels MS a encore le temps de revenir si une pression suffisante existe et se fait sentir.

Il est dommage que la logique "no plugin" nous oblige chacun à prendre position dans une lutte fratricide : on soutient SL et donc on implique la mort de IE en Metro Style, voire de Metro Style tout entier sur PC au moins, on soutient IE Metro Style et on implique la mort définitive de SL.
Transformer des frères, des alliées en ennemis mortels, c'est tout ce que MS a réussi pour l'instant, c'est un peu une tragédie grecque...

Personnellement je conseille toujours Silverlight et WPF. Pour les clients qui voudront des applis tablettes, C#+Xaml fera parfaitement le travail sous WinRT sans remise en cause des acquis techniques. Le portage SL vers WinRT (pour des applis bien écrites, MVVM, etc) sera assez simple à la vue des tests que j'ai fait.

C'est en tout cas comme ça que semble se dessiner l'avenir dans la réalité.

Beaucoup d'annonces du Build sont difficiles à décrypter même pour les développeurs. Mais avec le temps les évidence que je viens d'indiquer seront bien comprises. Alors se dessinera un "mouvement", une "tendance" qui finira par forger ce que sera réellement l'avenir. Tout Metro Style et javaScript ? Tout Silverlight quitte à boycotter Metro Style ? Que feront Chrome ou FireFox qui ne tourneront pas en Metro Style ? Vont-ils sortir eux aussi des version Metro Style sans plugin ?
Les utilisateurs n'auront-ils pas le tournis devant un OS qui a deux bureaux différents entre lesquelles on n'arrête pas de switcher ?
Bref... les réponses de chacun s'additionneront, quelles qu'elles soient, et par force une "tendance" se dégagera...

Vouloir jouer les devins au moment où j'écris ces lignes serait de la folie, autant jeter une pièce de monnaie en l'air.

Alors, empruntons aux anglais leur flegme légendaire et adoptons la stratégie du "wait and see" !

Sylvain
Sylvain
9/24/2011 12:28:08 PM

La question du no plugin peut  aussi être interpréter comme un abandon de SL tout simplement car je ne vois pas l'interet pour MS de continuer a investir dans une techno qu'ils ne supporteraient plus.

Donc le passage a chrome ou firefox ne servirais qu'a faire tourner un plateforme morte, un peu comme développer en managed DX, c'est possible mais ou est l'interet si le tout n'évolue plus? Plus de tutos, plus de plugin, plus d'évolution, de support, de composants, ...

Ca se complique lorsque l'on doit démarrer un nouveau projet, former une équipe et investir dans des outils/temps sur un projet qui peut être annoncé comme techniquement mort afin la fin de son dev !

Microsft qui visaient les pro a loupé son coup !

Olivier
Olivier
9/28/2011 2:13:10 PM

@Sylvain: il faut rappeler que le bureau classique de W8 ne disparaitra pas car de très nombreuses applis ne peuvent tout simplement pas se satisfaire de WinRT qui est sandoboxé. Du coup les navigateurs non WinRT, comme la version de IE10 qui accepte les plugins seront très très longtemps encore d'actualité.
On parle donc d'échéance à 5 ou 10 ans éventuellement, bien plus que la durée de vie d'un produit SL qui serait développé aujourd'hui.
WinRT c'est du sandboxé et ce n'est que du Windows pur et dur. Ce n'est pas du Web. Et cela n'ira jamais à toutes les applis. Sans oublier que Metro style c'est le market place donc un macrotage de 30% des ventes par MS comme ses concurrents d'ailleurs. Beaucoup d'éditeurs de softs qui ont eux aussi des actionnaires et des patrons près de leurs sous refuseront catégoriquement de baisser de 30% leur CA même si leurs applis pouvaient tourner dans la sandbox !
Ce qui va se faire plus réalistement c'est que des éditeurs vont proposer à côter de leurs gros softs qui resteront en desktop classique non sandboxé soit des versions lites, soit des modules satellites en metro style.
Dans le médical que je connais très bien aussi, les gros soft de gestion ne vont pas passer sous WinRT c'est évident. Pour des raisons techniques et pour le macrotage de 30% sur les revenus... En revanche de tels softs pourraient profiter de versions light, ou de module conçu pour les visites à domiciles qui marcheraient en WinRT et sur les tablettes.
En réalité je crois qu'on confond WinRT et Silverlight, Html5, le Web, le dev Windows, tout ça dans un même sac ce qui permet à chacun de voir midi à sa porte...
C'est vrai que c'est pas simple d'y voir clair mais il ne faut pas oublier que Silverlight n'est pas abandonné, que la garantie MS fait que si jamais ils abandonnaient on aurait un suivi de un an minimum, de 10 ans pour VS et Blend, que le monde entier ne va pas utiliser Metro style du jour au landemain, que ça n'existe d'ailleurs pas encore, qu'en plus WinRT ne concerne que le dev windows et pas le Web et qu'à l'heure actuelle ni FireFox ni Chrome n'ont annoncé que sur PC ils abandonneraient les plugins alors même qu'ils représentent 60% du marché et IE seulement 30%, etc, etc.
La situation n'est certes pas claire, mais aujourd'hui pour faire des applis LOB Silverlight est, pour longtemps encore, la meilleure solution.
Et avant de faire des applis (pas des pages hein, des applis) avec html/js il restera dans un futur proche le choix de faire du metro style via market place en C#/Xaml ce qui est des millions de fois plus puissant en agréable à faire.
Les applis Web grand public semblent en effet échapper à Silverlight, c'est une vérité. Mais en même temps C#+Xaml permet d'attaquer le marché grand public via Metro style.
Le gain peut être largement supérieur à la perte vu que SL, pas plus que Flash, n'a réussi sur les sites grand public, et pour une seule raison bien simple à comprendre : google en refusant de mettre en place un système de référence des sites de type plugin a tué Flash comme SL pour l'écriture de site grand public dont la principale préocupation est d'être bien référencés... Donc tous ces sites sont depuis toujours écrits en Html, cela ne changer donc rien...

Chauvet Eric
Chauvet Eric
12/15/2011 11:47:41 PM

Merci, Merci pour cet excellent article superbement écrit.

Pingbacks and trackbacks (1)+

Add comment

  Country flag


  • Comment
  • Preview
Loading