- IronRuby
-
IronRuby Développeur Microsoft Dynamic Language Runtime Team Dernière version stable IronRuby 0.9 (le 1er août 2009)[+/−] Système d'exploitation Multiplate-forme Licence Microsoft Public License Site web IronRuby.net IronRuby est une implémentation de l'interpréteur du langage de programmation Ruby visant le .NET Framework de Microsoft. C'est une surcouche au DLR, une bibliothèque se superposant au CLR 2.0 qui fournit, entre autres, un typage dynamique et la délégation dynamique des méthodes pour les langages dynamiques.
Sommaire
Histoire
Le 30 avril 2007, à la conférence MIX 2007, Microsoft dévoila IronRuby, qui utilise le même nom que le projet de Wilco Bauwer, avec l'accord de ce dernier[1]. Sa sortie publique était annoncée pour l'OSCON 2007[2].
Le 23 juillet 2007, comme prévu, John Lam et la DLR Design Team présentèrent la version pré-Alpha du compilateur IronRuby à l'OSCON. Il annonça également une intégration rapide de IronRuby au sein de la communauté open source[3].
Le 31 août 2007, John Lam et la DLR Design Team publièrent le code (au stade de version pre-alpha) sur RubyForge[4]. Le code source a été mis à jour régulièrement par l'équipe de Microsoft. L'équipe n'accepte pas les contributions de la part de la communauté concernant le noyau de la bibliothèque DLR, du moins pour le moment[5].
Le 24 juillet 2008, la IronRuby team publia la première version alpha exécutable, dévoilée pour l'OSCON 2008[6]. Le 19 novembre 2008, une seconde version alpha vit le jour.
L'équipe de développement travailla activement sur le support de Rails par IronRuby[7],[8]. Quelques tests fonctionnels de Rails donnent des résultats, mais il y a encore beaucoup de travail à faire avant de pouvoir utiliser Rails dans un environnement de production[9].
Le 21 mai 2009, ils publièrent la version 0.5 lors de la RailsConf 2009. Cette version de IronRuby peut exécuter des applications Rails, mais pas encore dans un environnement de production[10].
L'annonce de la version 1.0 est attendue pour l'OSCON 2009[11]. La version 0.9 a été publiée le 1er août 2009[12].
Prise en charge par Mono
Normalement, IronRuby s'exécute aussi bien sur Mono que sur le CLR de Microsoft, mais comme l'équipe de développement ne l'a testé qu'avec le CLR s'exécutant sur Windows[13], il pourrait ne pas être supporté par Mono suivant l'architecture[14],[15],[14],[16].
Interopérabilité vis-à-vis de .NET
L'interopérabilité entre les classes d'IronRuby et les classes habituelles du .NET Framework est plutôt limitée pour le moment car de nombreuses classes de Ruby ne sont pas des classes de .NET[17]. Cependant, un meilleur support des langages dynamiques dans .NET 4.0 pourrait accroître l'interopérabilité à l’avenir[18].
Exemple
-
require 'mscorlib'
-
require 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
-
require 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
-
-
Application = System::Windows::Forms::Application
-
Form = System::Windows::Forms::Form
-
MessageBox = System::Windows::Forms::MessageBox
-
Button = System::Windows::Forms::Button
-
Point = System::Drawing::Point
-
-
class MyForm < Form
-
-
def initialize
-
self.text = "My .NET Form from Ruby"
-
-
@button = Button.new
-
@button.location = Point.new 150, 150
-
@button.text = "Click Me!"
-
-
my_click_handler = Proc.new {|sender, e| MessageBox.show 'Hello from Ruby!'}
-
@button.click(&my_click_handler)
-
-
self.controls.add @button
-
end
-
end
-
-
my_form = MyForm.new
-
Application.run my_form
Licence
IronRuby est disponible sous la Microsoft Public License, certifiée par l'Open Source Initiative[19].
Voir aussi
Références
- Microsoft's Iron Ruby ». Mis en ligne le 2007-07-24 Wilco Bauwer, «
- Microsoft and IronRuby ». Mis en ligne le 2007-06-18 John Lam, «
- A First Look at IronRuby ». Mis en ligne le 2007-07-23 John Lam, «
- IronRuby on Rubyforge!. Mis en ligne le 2007-08-31. « Today, you must check the source code out of the IronRuby Subversion repository on Rubyforge. You will need a Subversion client; we recommend TortoiseSVN. To build the sources from the command line, you must also have Ruby installed on your computer already »
- Regarding IronRuby... How true it sounds from this blog, 2008-04-29. Mis en ligne le 2008-05-25. « The DLR is does not accept contributions from the community (...) Today we do not push to SVN on every successful SNAP check-in »
- IronRuby at OSCON, 2008-07-24. Mis en ligne le 2008-08-04. « We’re shipping our first binary release. In this package, we’re taking a “batteries included” approach and shipping the Ruby standard libraries in it »
- IronRuby on Rails. Mis en ligne le 2008-05-25
- IronRuby r112 is out, 2008-05-24. Mis en ligne le 2008-05-25
- IronRuby / Rails Question, 2008-05-25. Mis en ligne le 2008-05-25. « I don't think we're near the end game yet :) We're barely able to run Rails functional tests now, and there's a lot more library work to be done before we can start thinking about deployment »
- IronRuby at RailsConf 2009, 2008-05-25. Mis en ligne le 2008-05-25. « IronRuby running Rails is not new, but doing it well or completely – is. IronRuby can now run real Rails applications, rather than just toy-hello-world examples. This does not mean IronRuby on Rails is ready for production, but it’s a great measure of forward progress »
- IronRuby 1.0 at OSCON 2009, 2009-06-15. Mis en ligne le 2009-06-15
- IronRuby - Release: 0.9.0
- IronRuby and Mono, 2008-08-06. Mis en ligne le 2008-09-13
- IronRuby and Mono, 2008-09-04. Mis en ligne le 2008-09-13
- DLR Daily Builds (including IronRuby), 2009-01-23. Mis en ligne le 2009-01-23
- mono builds, 2009-05-26. Mis en ligne le 2009-06-05
- Xna+IronRuby+RubyNewb=headache, 2008-12-16. Mis en ligne le 2008-12-20
- WPF databinding with ruby objects, 2008-12-12. Mis en ligne le 2008-12-13
- Microsoft Public License (Ms-PL)
Liens
Catégories :- .NET Framework
- Ruby
- Langage de programmation
- Langage orienté objet
- Langage de script
-
Wikimedia Foundation. 2010.