Silverlight intègre Ruby au navigateur
Microsoft a ajouté une machine virtuelle .Net à sa plate-forme client riche Internet, machine qui permet d'écrire une application Silverlight en C# via une librairie de fonctions Ruby.
01net.
le 11/05/07 à 14h30
Lors de la conférence Mix07 qui se tenait la semaine dernière à Las Vegas, Microsoft a présenté sa nouvelle plate-forme client riche Internet
Silverlight. Disponible en alpha, la version 1.1 intègre une machine virtuelle .Net qui permet d'écrire une application Silverlight en Visual Basic, en C#, en
Javascript... mais aussi en Python et en Ruby !
' Vous pouvez développer un client riche Internet à l'aide du langage de votre choix : C#, Ruby, Python, VB. Ce client riche s'exécute naturellement dans n'importe quel navigateur
?" Internet Explorer, Firefox, Safari ?" sous Windows et Mac OS ', résume John Lam, récemment recruté par Microsoft pour développer le projet de compilateur répondant au nom d'IronRuby.
' Améliorer les performances de l'application '
Jusqu'à présent, seul Google, avec son Google Web Toolkit, proposait ce type d'approche en compilant un code Java en DHTML/Ajax. L'intégration du compilateur Ruby au sein de Silverlight 1.1 s'effectue via un
module baptisé Dynamic Language Runtime (DLR) qui compile à la volée un code source Ruby vers le bytecode .Net. ' .Net apporte à Ruby un compilateur JIT [Just in Time, NDLR] qui améliore les performances
de l'application ', explique John Lam.
Une bonne nouvelle pour les fans de
Ruby On Rails qui pourront désormais choisir entre deux machines virtuelles Ruby : celle de Microsoft, IronRuby, adaptée au développement d'applications clientes, ou Yarv,
la machine virtuelle développée par la communauté et particulièrement adaptée aux applications serveurs.
Réutiliser les compétences et les composants existants
Même s'il s'agit encore d'une version préliminaire d'IronRuby, John Lam et Jim Hugunin, respectivement architecte du DLR chez Microsoft et père d'IronPython, ont réalisé quelques
démonstrations époustouflantes lors d'une session intitulée ' Just Glue It! Ruby and the DLR in Silverlight '. Grâce à l'intégration de Ruby à .Net, il est possible d'écrire une application Silverlight
en C# en s'appuyant sur une librairie de fonctions Ruby. Les développeurs peuvent donc réutiliser leurs compétences et des développements Ruby, Python ou Javascript existants (frameworks, librairies de fonctions, etc.)
s'ils codent en C#.
Inversement, on peut aussi écrire une application Silverlight en Ruby en s'appuyant sur les APIs du framework .Net. IronRuby et le compilateur VB seront disponibles d'ici à la fin de
l'année.
IronRuby sera distribué gratuitement sous licence Microsoft Permissive laquelle, bien que non reconnue par
l'OSI (1), ressemble à une licence
open source permissive (c'est-à-dire permettant de faire ce que l'on veut avec le code) telle la BSD.
Microsoft collabore également très activement avec Zend et la communauté PHP pour créer une interface native entre PHP et .Net. Baptisé Phalanger, ce projet donnera bientôt naissance à un compilateur JIT PHP pour .Net, et donc pour
Silverlight. Il sera du coup bientôt possible de développer une application cliente en PHP en utilisant l'API .Net.
(1) Open Source Initiative, organisation de promotion de l'open source.