langage de programmation Ruby ciblant le framework Microsoft .NET . Elle repose sur le Dynamic Language Runtime (DLR), une bibliothèque s'exécutant sur la Common Language Infrastructure (CLI ) qui fournit notamment le typage dynamique et la répartition dynamique des méthodes pour les langages dynamiques.
Le projet est actuellement inactif, la dernière version d'IronRuby (version 1.1.3) datant de mars 2011.
la conférence MIX 2007, Microsoft a annoncé IronRuby, qui utilise le même nom que le projet IronRuby de Wilco Bauwer, avec son autorisation. Sa sortie publique était prévue pour OSCON 2007.Le 23 juillet 2007, comme promis, John Lam et l'équipe de conception du DLR ont présenté la version pré-alpha du compilateur IronRuby à OSCON. Il a également annoncé un calendrier rapide pour une intégration plus poussée d'IronRuby dans la communauté open source.
Le 31 août 2007, John Lam et l'équipe de conception du DLR ont publié le code en version pré-alpha sur RubyForge. Le code source continue d'être régulièrement mis à jour par l'équipe principale de Microsoft (mais pas à chaque modification ). L'équipe n'accepte pas non plus, pour le moment, les contributions de la communauté pour la bibliothèque principale Dynamic Language Runtime .
Le 24 juillet 2008, l'équipe IronRuby a publié la première version alpha binaire, conformément à OSCON 2008. Le 19 novembre 2008, ils ont publié une deuxième version Alpha.
L'équipe a activement travaillé à la prise en charge de Rails sur IronRuby. Certains tests fonctionnels de Rails ont commencé à s'exécuter, mais beaucoup de travail restait à faire pour pouvoir exécuter Rails dans un environnement de production.
Le 21 mai 2009, ils ont publié la version 0.5 à l'occasion de RailsConf 2009. Avec cette version, IronRuby pouvait exécuter certaines applications Rails , mais pas encore en environnement de production.
La version 0.9 a été annoncée lors de la conférence OSCON 2009. Cette version a amélioré les performances. La version 1.0 RC1 est devenue disponible le 20 novembre 2009.
La version 1.0 est devenue disponible le 12 avril 2010, en deux versions différentes :
- La version privilégiée, qui fonctionne sous .NET 4.0.
- Une version aux fonctionnalités plus limitées, qui fonctionnait sur .NET 2.0. Cette version était la seule compatible avec Mono .
L'équipe IronRuby prévoyait de prendre en charge Ruby 1.8.6 uniquement pour les versions 1.0 et la version 1.9 uniquement pour les prochaines versions 1.x, en omettant la prise en charge de Ruby 1.8.7.
En juillet 2010, Microsoft a congédié Jimmy Schementi , l'un des deux derniers membres de l'équipe principale d'IronRuby, et a cessé de financer le projet. En octobre 2010, Microsoft a annoncé que les projets Iron (IronRuby et IronPython ) allaient devenir des projets « externes », permettant ainsi aux « membres de la communauté de contribuer sans l'implication de Microsoft ni le parrainage d'un employé de Microsoft ».
La dernière version publiée d'IronRuby date du 13 mars 2011, version 1.1.3.
Architecture
Support mono
IronRuby peut fonctionner aussi bien sur Mono que sur Microsoft Common Language Runtime (CLR) , mais comme l'équipe IronRuby ne le teste qu'avec le CLR sous Windows , sa compilation sur Mono peut échouer selon la configuration de compilation.
Interopérabilité .NET
L’interopérabilité entre les classes IronRuby et les classes .NET Framework classiques est très limitée car de nombreuses classes Ruby ne sont pas des classes .NET. Cependant, une meilleure prise en charge des langages dynamiques dans .NET 4.0 pourrait améliorer l’interopérabilité à l’avenir.
Prise en charge de Silverlight
IronRuby était pris en charge par Silverlight . Il pouvait être utilisé comme moteur de script dans le navigateur, au même titre que JavaScript . Les scripts IronRuby étaient transmis comme de simples scripts JavaScript côté client, via <script>des balises `<script>`. Il était alors possible de modifier le balisage XAML intégré .
La technologie sous-jacente s'appelait Gestalt.
La même chose a fonctionné pour IronPython .
Infrastructure de test
IronRuby a intégré RubySpec , un projet visant à écrire une spécification complète et exécutable pour le langage de programmation Ruby. Le dépôt Git d'IronRuby inclut une copie des tests RubySpec, y compris le framework de test MSpec.
Licence
IronRuby a été précédemment publié sous la licence publique Microsoft , qui est une licence de style BSD certifiée OSI .
Le 16 juillet 2010, Microsoft a redistribué IronRuby ainsi que le DLR sous la licence Apache 2.0 .
Pour en savoir plus
- Friedman, Shay (2010). IronRuby Unleashed . Sams Publishing . ISBN978-0-672-33078-0.
- Publications Manning . ISBN978-1-933988-61-0.