Opale : un préprocesseur permettant de traduire le Ruby en Javascript

Le 08/10/2013

Dans Développement

Aujourd’hui, le Blog du Webdesign vous présente Opale, un préprocesseur pour utiliser le Ruby dans votre navigateur !

Le Javascript est décidément un langage possédant de nombreux préprocesseurs. Et tous ces préprocesseurs, outre la couche d’abstraction supplémentaire, ont l’inconvénient de nous faire apprendre d’autres langages, et complexifient le travail en groupe. La solution serait peut-être de copier un langage déjà connu. C’est dans cette optique que c’est monté Opale, qui porte la syntaxe Ruby au Javascript.

Opale prepocesseur ruby javascript

Opale, préprocesseur Javascript pour Rubyistes

Si vous connaissez déjà le ruby et que vous avez besoin d’un peu de Javascript pour votre prochain projet, bonne nouvelle ! Opale va grandement vous simplifier la tâche : ce préprocesseur transformera pour vous votre code Ruby en code Javascript.

Opalrb homepage

Comme pour tous les préprocesseurs, l’important à regarder est le code une fois compilé. Ici, rien à dire, le code est bien entendu beaucoup plus verbeux que du Javascript fait main, mais est dans la moyenne de ce que propose tous les préprocesseurs.

Opalrb try

S’il est bien sûr possible de faire tourner en fond une tache pour compiler aux moindres changements vos fichiers, un js est fourni pour compiler à la volée dans votre navigateur. Cela peut-être pratique si vous travaillez sans ruby sur votre environnement d’intégration.

Enfin, le gros point noir est qu’il n’est malheureusement pas possible d’appeler les librarys JS que vous pourrez trouver avec ce préprocesseur. Pour accéder au DOM, je vous conseille ce portage de jQuery : https://github.com/opal/opal-jquery

Conclusion

Opale est un préprocesseur comme un autre. Il comble les soucis du Javascript en contrepartie d’une couche d’abstraction supplémentaire. Utilisateur de Rails ou Ruby, il aura aussi l’avantage de vous homogénéiser le développement front end et serveur, mais ne vous attendez pas pour autant à pouvoir utiliser vos gems comme autant de libraires Javascript, car ce n’est malheureusement pas l’idée.