Developpez.com

Le Club des Développeurs et IT Pro

Shumway : une solution en JavaScript pour lire le Flash

Le projet open-source soutenu par Mozilla s'appuie entièrement sur les technos Web

Le 2012-06-06 11:41:24, par Gordon Fowler, Expert éminent sénior
Du Flash, mais sans Flash. Voici ce que s’apprête à proposer la Fondation Mozilla avec son projet Shumway.

Shumway est une manière ingénieuse de prendre en charge le rendu des fichiers SWF sans avoir à passer par Flash Player. Concrètement, il remplace le player par une machine virtuelle entièrement en JavaScript et utilise les technologies web (HTML5) pour jouer le fichier.

Résultat, plus besoin d’installer de plug-in dans le navigateur. Ou de dépendre d'Adobe pour les éditeurs de navigateurs.

Ce jeune projet s’appuie sur un autre, plus ancien, baptisé du joli nom de « Gordon » (un runtime Flash open-source lui aussi en JavaScript). La filiation est encore plus claire quand on sait que ces deux appellations sont issues de la même référence télévisuelle : Gordon Shumway est le vrai nom de ALF, le sympathique extra-terrestre poilu, ami des chats à sa façon, venu de feu la planète Melmac.


Gordon Shumway, personnage qui a donné son nom aux deux projets

Pour l’instant, la solution n’en est qu’au stade de l’expérimentation. Si ses premiers résultats se révèlent satisfaisants, l’intégration à Firefox reste en revanche une possibilité parfaitement envisagée par Mozilla.

D’ici là, les développeurs intéressés pourront jeter un oeil sur le code - open-source - de Shumway librement disponible sur cette page.

Et vous ?

Intéressé(e) par un lecteur Flash open-source de ce type ?

Une bonne nouvelle pour les développeurs Flash ?
  Discussion forum
11 commentaires
  • Freem
    Membre émérite
    Et on sait quelles versions de flash ils comptent supporter?
    Parce qu'il existe déjà une implémentation libre de flash, gnash, qui certe nécessite un plugin pour s'intégrer aux navigateurs, mais malgré le fait que ce projet soit considéré comme prioritaire par GNU, n'est pas suffisamment évoluée pour tenir la comparaison...

    http://www.gnu.org/software/gnash/ma...f.html#runs-on

    Alors je me demande comment Mozilla compte faire pour déchiffrer les dernières spec, si les 6 dev qui sont sur gnash n'ont toujours pas réussi?

    Enfin, de toute façon, je leur souhaite bonne chance. Flash est l'un des 2 derniers logiciels hors contrôle sur mes machines, et le seul que je n'installe que par manque d'alternative...

    Pour le côté bonne nouvelle, ce n'est pas pour les développeurs flash que je la vois, mais pour ceux qui sont contraints d'utiliser un player flash pour utiliser des sites web, et qui sont donc contraints de supporter l'instabilité et la lourdeur de cette immondice.
  • camus3
    Membre éprouvé

    Ha parce qu'on peut ouvrir des fichiers binaire avec JS ?
    Oui JS a des tableaux typés pour les données binaires. Tu peux par exemple faire de la compression en javascript , appliquer des effets à une source audio ,etc ...

    et qui sont donc contraints de supporter l'instabilité et la lourdeur de cette immondice.
    Et qui sera remplacé par l'instabilité et la lourdeur d'apps HTML5 équivalentes parce que c'est pas avec javascript que tu vas gagner en performances. Faut arrêter ce genre de discours has been. On est plus en 2008.
  • stailer
    Membre chevronné
    Intéressé(e) par un lecteur Flash open-source de ce type ?
    Bien sur ! Fournir une application Flex sans obliger à avoir un player flash ce serait énorme.
    Il serait possible avec Flash Builder de développer de façon professionnelle pour n'importe quel type de plateforme ayant le navigateur Firefox (pour commencer ?).

    Une bonne nouvelle pour les développeurs Flash ?
    Trop tôt pour le dire et je crois qu'on rêve un peu... Faut voir les performances etc..
  • Elendhil
    Membre averti
    Je serais plutôt partisan pour une machine virtuelle universelle. Ce serait bien mieux et beaucoup plus simple.

    Comme tous les langages de programmation sont libres , on pourrait coder en javascript, java, ruby,as3,c#,python, bref ce qu'on veut. On transforme notre code source en bytecode qui sera utilisé dans une vm.

    Il suffit que les principaux navigateurs collaborent pour créer une vm libre et ils l'intègrent tous à leur navigateur. (Ils peuvent même peut-être utiliser une déjà existante libre ... )

    Comme ça tout le monde est content chacun code comme il veut, plus de problèmes de compatibilités, moins de problèmes de sécurités vu qu'elle serait intégré dans le coeur de tous les navigateurs et donc tout le temps à jour (enfin si on met à jour son navigateur).

    En plus ce serait plus performant et ça leur couteraient moins cher plutôt que de créer chacun de leur côté un moteur javacript qui est finalement rien d'autre qu'une énième virtual machine.
  • Teocali
    Membre averti

    Le jeune projet s’appuie sur un autre, plus ancien, baptisé du joli nom de « Gordon » (un runtime Flash open-source lui aussi en JavaScript). La filiation est encore plus claire quand on sait que ces deux appellations sont issues de la même référence télévisuelle : Gordon Shumway est le vrai nom de ALF, le sympathique extra-terrestre poilu, ami des chats à sa façon, venu de feu la planète Melmac.
    Je ne pense pas que le projet Gordon soit une reference a ALF. Je parierais plutot pour une reference a Flash Gordon.
    Mais sinon cela reste une excellente initiative,
  • ZiGoM@r
    Membre averti
    Une VM en JS...
    ...ce monde part en sucette !
  • Aiekick
    Membre extrêmement actif
    Ha parce qu'on peut ouvrir des fichiers binaire avec JS ?
  • Watilin
    Expert éminent
    Pour plussoyer ce qui a été dit plus haut, j'ai moi aussi de gros doutes quant à l'interprétation des specs et aux performances. Moi qui suis plutôt partisan des technos HTML5 d'habitude...

    La question que je me pose, c'est comment est-ce possible au point de vue légal ? Adobe va forcément gueuler non ?
  • Envoyé par stailer
    Pas plus que le plugin java ou silverlight. Faut arrêter avec ça... Ca rime à rien.
    Java, Silverlight et Flash n'ont rien à voir en terme d'implémentation. Je suis sous Mageia Linux 1 et j'ai été contraint de passer à Gnash car Adobe Flash ne veut même plus lire les vidéos sur Youtube, Moonlight a été abandonné très récemment et je n'avais jamais réussi à m'en servir (pour lire des vidéos encore une fois). Quant à Java, le support des applets est variable selon les navigateurs mais Java Web Start marche très bien depuis des lustres sur les 3 principales familles de système d'exploitation et sur Solaris donc je ne suis pas d'accord avec vous, on ne peut pas tout mettre au même niveau.

    Envoyé par stailer

    Et puis franchement, t'as été voir un peu ce que fait le player 11 en matière de 3d ? J'ai vu tourner des trucs en Silverlight assez sympas mais la clairement on est au dessus. C'est pas pour rien qu'énormément de développeurs se tournent sur flash builder et air pour développer des jeux.
    En même temps, il existait déjà des jeux en 3D en Java dès le milieu des années 90 (Frag Island?) et on pouvait utiliser Alchemy avec Flash bien avant que l'API Molehill apparaisse. La 3D dans les navigateurs n'a attendu ni WebGL ni Flash (ni même Java) pour exister, il suffit d'étudier l'histoire de VRML pour s'en rendre compte.

    Envoyé par stailer

    Enfin bref, c'est un autre sujet... Peut-être bizarrement parce que je n'ai jamais eu de problème particulier avec le Flash Player
    C'était aussi mon cas jusqu'à la version 11.

    Envoyé par Elendhil
    Je serais plutôt partisan pour une machine virtuelle universelle. Ce serait bien mieux et beaucoup plus simple.

    Comme tous les langages de programmation sont libres , on pourrait coder en javascript, java, ruby,as3,c#,python, bref ce qu'on veut. On transforme notre code source en bytecode qui sera utilisé dans une vm.
    La JVM d'OpenJDK est déjà capable de supporter pas mal de langages de script dont Python, Groovy et Scala. Pour Javascript, je crois qu'on peut passer par Rhino.

    Envoyé par Watilin
    La question que je me pose, c'est comment est-ce possible au point de vue légal ? Adobe va forcément gueuler non ?
    Adobe n'a pas pesté contre Gnash.
  • stailer
    Membre chevronné
    et qui sont donc contraints de supporter l'instabilité et la lourdeur de cette immondice.
    Pas plus que le plugin java ou silverlight. Faut arrêter avec ça... Ca rime à rien.

    Et puis franchement, t'as été voir un peu ce que fait le player 11 en matière de 3d ? J'ai vu tourner des trucs en Silverlight assez sympas mais la clairement on est au dessus. C'est pas pour rien qu'énormément de développeurs se tournent sur flash builder et air pour développer des jeux.

    Enfin bref, c'est un autre sujet... Peut-être bizarrement parce que je n'ai jamais eu de problème particulier avec le Flash Player et que paradoxalement c'est dans les débuts du plugin Silverlight que je me souviens des problèmes : player video qui plante, migration impossible ... Ca ne s'est amélioré qu'à partir de la v3.