Athens Ruby Meetup #3: IronRuby

1,273 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,273
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Athens Ruby Meetup #3: IronRuby

  1. 1. The .Net Ruby VM<br />Nikos Dimitrakopoulos<br />Dec 2009<br />
  2. 2. Me<br />Software developer<br />Ruby lover<br />Rails developer (for fun & profit)<br />Working at pamediakopes.gr<br />and thus also .Net developer<br />
  3. 3. The presentation<br />What is IronRuby<br />What does it offer to Ruby developers<br />Limitations<br />Future<br />
  4. 4. Famous quotes<br />It doesn’t scale<br />It’s slow<br />It’s immature<br />Not enterprise<br />…<br />
  5. 5. But<br />jRuby<br />MacRuby<br />Rubinius<br />MagLev<br />IronRuby<br />
  6. 6.
  7. 7. .Net<br />
  8. 8. What is IronRuby<br />The Ruby VM implemented in .Net (C#)<br />Part of the family of the scripting (and not only) languages implemented in .Net<br />Python<br />Ruby<br />(more coming)?<br />
  9. 9. .Net Integration<br />Interoperability with .Net<br />Consume all the C# code you want!<br />The huge .Net library ecosystem<br />External .Net libraries<br />Custom / existing C# code<br />
  10. 10. # Demo<br />
  11. 11. .Net Integration<br />Extend existing .Net classes the ruby way!<br />
  12. 12. .Net Integration<br />Call ruby code from .Net!<br />
  13. 13. # Demo<br />
  14. 14. .Net Integration<br />Deploy on .Net infrastructure<br />Web apps on IIS (Rails on .Net!)<br />Consume (natively) .Net services<br />SQL<br />Office<br />Active Directory<br />Exchange<br />etc...<br />
  15. 15. .Net Integration<br />Deploy on .Net infrastructure<br />Desktop applications on Windows<br />Desktop applications on everywhere (Mono)<br />
  16. 16. .Net Integration<br />Test .Net code with Cucumber & RSpec!<br />
  17. 17. Additionally<br />“Translations” of idioms:<br />object.SomeMethod() &lt;-&gt; object.some_method<br />System.Core &lt;-&gt; System::Core<br />C# lambdas and delegates &lt;-&gt; Ruby clojures<br />&gt;&gt;&gt; l = System::Byte.instance_methods(false).last<br />=&gt; &apos;get_type_code&apos;<br />&gt;&gt;&gt; l.ruby_name<br />=&gt; &quot;get_type_code&quot;<br />&gt;&gt;&gt; l.clr_name<br />=&gt; &quot;GetTypeCode&quot;<br />
  18. 18. Additionally<br />Interoperability with the other scripting languages!<br />Python<br />JavaScript<br />…<br />Use code also from there!<br />
  19. 19. Silverlight<br />Silverlight integration<br />Write ruby instead of javascript in your pages! (Gestalt project) <br />
  20. 20. Silverlight<br />
  21. 21. # Gestalt Demo<br />
  22. 22. Limitations<br />No support for native C gems<br />Some rough edges in interoperability<br />
  23. 23. Status<br />
  24. 24. Links<br />IronRuby:<br />http://ironruby.net/<br />http://ironruby.codeplex.com/<br />Rubyst.es<br />http://rubyst.es<br />http://groups.google.com/ruby-hellug<br />Pamediakopes<br />http://www.pamediakopes.gr<br />http://www.airtickets24.com<br />Me<br />http://blog.nikosd.com<br />http://twitter.com/nikosd<br />nospam - at - nikosd - dom – com<br />Code samples : http://nikosd.com/f/ironruby-code-samples.zip<br />

×