A la conquête du Web 3.0

J’ai eu une discutions intéressante ce midi au sujet du buzz en ce moment: Adobe open-source Flash! Je vois ça comme un premier pas vers la conquête du Web 3.0. Une guerre déjà entamé entre Adobe, Microsoft et le monde libre.

Haha, je sais que le terme Web 2.0 fait couler beaucoup d’encre (ou abîme les claviers) mais moi je le prend du point de vue du développeur:

Au début, il y avait le néant… puis l’informaticien inventa la page HTML! Dans sa foulé il inventa le Javascript… puis les applets Java… pas de chance, l’informaticien était en avance sur son temps…

Puis le Web s’est vu enrichir de nouveau média (Youtube, Deezer, etc.) Toute cette magie est possible grâce aux génies de Macromédia inventeurs du Flash! (racheté par la suite par Adobe)
Le web est devenu plus beau, plus fun… et plus lourd tout de même.
Flash est aujourd’hui la techno incontesté pour les médias riches. Elle était aussi en avance sur son temps: les sites entièrement Flash était encore trop lourd pour les débits de l’époque. Ce n’est aujourd’hui plus un problème, mais si tous les sites ne sont pas en Flash, je l’explique pour plusieurs raisons:
Premièrement, cette technologie était boudé par le monde Linux qui se retrouvé avec un produit propriétaire, des versions en retard par rapport à celles sur Windows, et même souvent bugguées.
Les adeptes des standards W3C ne voient pas non plus Flash d’un très bon œil et préfère se concentrer sur la norme HTML+ECMASCRIPT (autrement dit: Javascript).

C’est la que le Web 2.0 atteint son paroxysme: les sites Web d’aujourd’hui exploitent à fond le Javascript (Ajax, GWT, Scriptaculous, etc.). Cela donne des pages Web plus riches, plus interactives, plus animées, et plus légères!
Car oui, le bon vieux HTML avec un peu de Javascript c’est plus léger que du Flash. Certains dénonceront simplement les mauvais codeurs ActionScript qui sont souvent des graphistes reconvertis et qui font des choses non-optimisés…
Ceci dit, cette performance n’est possible que grâce aux effort fournis par les navigateurs Web qui supportent de mieux en mieux le Javascript.
Mais voila, les vidéos ou encore d’autres choses ne sont pas possibles en HTML+Javascript aujourd’hui, et c’est pourquoi que Flash est encore très utilisé (surtout concernant la vidéo).

C’est la que Microsoft riposte avec Silverlight et ça va faire mal.
Imaginez: un plugin similaire à Flash, mais plus performant (WPF utilisant gracieusement DirectX) avec des langages plus faciles à coder (C#, XAML, etc.) et des outils de développement/design très soignés (la série des Expression).

Mais la communauté pro-libre/pro-standard n’en reste pas la: HTML5 est censé combler les lacunes vis-à-vis de Flash ou Silverlight.

Sun veut aussi être de la partie, après l’échec des applets, il tente nous proposer JavaFX.
Les principales raisons de l’échec des applets sont:
– Java c’est gros et lourd à télécharger… imaginez un JRE de 30mo à l’époque des 56k!
– Ce n’est n’était pas non plus très performant, surtout en matière d’affichage.
– Il n’existe aucun outil pour graphiste pour faire des applets! C’est la que Macromédia avec Flash avait marqué un point.
– Ce n’est n’était pas libre… donc difficile à faire adopter par la communauté des développeurs.

Mais Sun propose des solutions:

  • Java Kernel: le principe est simple, il faut que le téléchargement d’une JRE soit négligeable (tout comme Flash). Pour ce faire, l’utilisateur télécharge une version « minimale » de la JRE, qui téléchargera des paquets supplémentaires seulement s’il y en a besoin.
  • Java2D/Swing plus performant, ainsi que l’accélération avec DirectX (elle existait depuis peux de temps, mais désactivé par défaut car trop buggué). Cela permet aussi des effets comme la transparence etc.
  • JavaFX: ou comment créer un langage de description d’interface, pour créer plus simplement des animations etc.
  • Java est open-source: à quand Java installé par défaut sous Linux? (Même si c’est maintenant un paquet officiel d’Ubuntu)

Le seul hick qui va faire très très mal: toujours pas d’outil puissant pour les graphistes.
On peut aussi se demander pourquoi avoir inventer un n-ième langage de script, là où tout le monde optent pour le XML comme descripteur d’interface.

On remarque que « Open-source » est maintenant synonyme de « standard », et ça Adobe l’a compris. Fort se sa popularité, l’ouverture forcement va booster son engouement.
Microsoft n’est pas en reste dans ce domaine: depuis son alliance avec Novell, ils travaillent tous deux pour promouvoir .Net sous Linux même si l’équivalent à Silverlight en libre, Moonlight, est encore loin de voir le jour
On pouvait pointer du doigt le manque de sérieux en matière de développement avec ActionScript, mais avec Flex ce n’est plus vrai.

Avec toutes ces technos, on se demande si le navigateur ne servira plus qu’a charger un plugin Flash/Java/Silverlight, et déléguera le travail de rendu à ceux la. Mozilla sonne l’alarme et explique l’importance de HTML5.

Les paries sont lancés:
Les prochains sites-web, en Flash? HTML5+Javascript? Silverlight/Moonlight? JavaFX?

Publicités

6 réflexions sur “A la conquête du Web 3.0

  1. Très bon résumé de la situation… J’espère que le gagnant dans l’histoire restera bien l’utilisateur.

    Sinon, je pense que les solutions AJAX ne sont pas forcément incompatibles avec les technologies comme Flash ou Silverlight. Il y a certaines choses qui peuvent être réalisées très simplement en xhtml + javascript, et d’autres qui sont impossibles. A contrario, utiliser flex ou silverlight pour faire un pauvre site web classique n’a pas vraiment de sens…

    Quand je vois TeamCity ou les démos de gwt-ext, je me dis qu’il n’y a pas forcément besoin de nouvelles technos pour développer de réelles RIA, esthétiques, propres, standardisées, etc.

    D’un autre côté, quand je vois ça, je me dis qu’on serait idiots de s’en priver.

  2. Je pense aussi que le couple xhtml+javascript fait des merveilles. Et cela ne nécessite rien à télécharger puisque c’est direct dans le navigateur.
    Mais voila: chaque navigateur interprète tout ça comme il veut (ou du moins, comme les standards le veulent) et on obtient parfois des résultats différents.
    De plus, coder/débugguer du html+css+javascript c’est pas mal galère. Il est vrai que Firebug rend la chose plus aisé. Il est vrai que les APIs masquent la complexité du Javascript/Ajax (rien de plus facile que de poser un « UpdatePanel » en Asp.net).
    Il n’y a pas que les codeurs qui sont impactés, mais les designeurs aussi. Donc j’espère que le gagnant sera celui qui arrivera à mettre d’accord tout ce petit monde: utilisateur+codeur+designeur.

  3. Toi qui est un professionnel de Linux, tu pourrais peut-être me dire comment installer une appli sur mon NAS. Apparemment, il ne reconnait pas certaines commandes comme Make. Je suis si près du but…

  4. Woa une vrai discutions de développeurs… 🙂 Mais d’un point de vu utilisateur ça donne quoi : Encore et toujours installer des plugins (Flash, silverlight, etc) pas toujours compatible avec l’O/S (win, linux, etc), des incompatibilités entre navigateur internet (CSS), et des appli ajax qui ralentisse souvent la navigation du site. Bref un vrai bordel comme dans la vrai vie 😉

    sinon, deux framework javascript assez sympa pour vous ou vos amis développeurs : http://mootools.net/ et http://extjs.com/

  5. Gryzor > Rien à voir avec le Web3.0 🙂
    sudo apt-get install build-essential
    ça installe normalement tout ce qu’il faut pour compiler (les headers, les commandes comme Make, etc.)
    Mais bon, je ne sais pas si ton NAS supporte « apt-get » 🙂

  6. Guillaume > Flash et le reste tentent de faire en sorte que le téléchargement soit le plus petit possible. Concernant .Net, qui est très gros, c’est maintenant installé « de force » sur vos Windows avec les WindowsUpdate. Si Flash est open-source, je ne vois pas de raison de ne pas l’inclure avec Firefox, au même titre que le JavaScript. Si c’est le cas, ça va faire un buzz car fournir Flash avec Firefox, va rendre cette techno standard « de-facto ».

    Après, tu as raison: Flash, Silverlight/Moonlight etc. ne sont pas tous les mêmes sous Linux/Windows/Macos. Mais il ne faut pas oublier que c’est aussi le cas avec Firefox: un version pour chaque OS. De plus, il y a sans doute plus de différence entre Flash Linux/Windows qu’entre Firefox/IE.
    C’est aux développeur de faire le maximum pour que ça fonctionne aussi bien sur un OS qu’un autre. Et pour que ça fonctionne entre navigateurs il faut des normes solides.

    Concernant les perfs: on pourrait avoir un rendu très rapide si le HTML+Javascript était dessiné à l’aide d’OpenGL ou autre (je pense notamment à Pango et Cairo sous Linux). Même s’il est vrai que l’interprétation d’un code HTML et d’un script JavaScript ne sera jamais plus rapide que du Java/Flash/.Net pré-compilé.

    Voici mon consta:
    – Flash: léger avec de beau graphisme plutôt rapide, mais buggué d’une plateforme à l’autre.
    – Java: celui qui a sans doute le moins de différences entre OS (WORA), mais pour l’instant lourd et pas très rapide en affichage.
    – .Net: sans doute le plus rapide (très bonne intégration avec DirectX) mais très différent entre OS (mono est loin d’être l’égale) et le plus lourd (même si installé par défaut sous Windows).
    – HTML+JavaScript+CSS: le plus léger (dans les navigateurs) pas très rapide et de grosses différences entre navigateurs/OS.

    En tout cas, c’est sympa de donner un avis « d’utilisateur » 😉

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s