Your SlideShare is downloading. ×
JRuby - The Perfect Alternative
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

JRuby - The Perfect Alternative

1,866
views

Published on

This presentation was first presented at The Auckland Ruby Group - http://ruby.meetup.com/96/

This presentation was first presented at The Auckland Ruby Group - http://ruby.meetup.com/96/

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,866
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ram Vijapurapu @rvijapurapu
  • 2. What is JRuby? Its just Ruby Running on the JVM (Java Virtual Machine)
  • 3. Conclusion ..I truly wish it is that simple. Image credit: http://www.flickr.com/photos/hordurk/3204191929/
  • 4. Social Context
  • 5. Social Context
  • 6. Social Context
  • 7. Why do we want to go back to the Haunted House again? ● Reuse what's already built Enterprise Ready ● Need of a Scalable Platform ^ ● Need for an inclusive Platform – Ruby, Groovy, Python, JS, .. ● Generally Love of Engineering Genius
  • 8. What is the first thing you hear about Java? Image credit: http://bit.ly/btxcPf
  • 9. Common Man! Java is Slooow ● Maybe... Maybe not! ACHTUNG! Highly Unscientific Testing
  • 10. Common Man! Java is Slooow No Optimizations
  • 11. Common Man! Java is Slooow 100
  • 12. Common Man! Java is Slooow 1,000
  • 13. Common Man! Java is Slooow 10,000
  • 14. Common Man! Java is Slooow 100,000
  • 15. Common Man! Java is Slooow 100,000 What's your Point? See Java is sl0000w!
  • 16. st a Common Man! Java is Slooow F 1,000,000
  • 17. st F a Common Man! Java is Slooow Fast 1,000,000 Clearly you fudged it!
  • 18. You fudged it! ● Maybe – but there is method in madness
  • 19. You fudged it! Moral: Focus on your code ● Maybe JVM there is care ofin madness & – but takes method the rest – well into the future Performance Improvements in JVM from 1.5 to 1.6 have been significant. both are running i386
  • 20. What just happened? ● Magic – JVM/Hotspot (Dark Magic?) ● JIT (Just In Time Compilation) – Optimization on the Fly ● Speaking further on this is beyond the scope of this presentation _ Summary: Normal usage on Web you will find JRuby performs same as CRuby
  • 21. As all good things in life........ there are few limitations ● You cannot use libraries which use CRuby Extensions ● Java Threads ● Posix Methods ● Does not support continuations/bindings. (Feature Missing) http://docs.codehaus.org/display/JRUBY/Limitations
  • 22. Same stuff – Different Different ● ruby ● jruby ● Irb ● jirb ● rake ● jruby -S rake ● gem ● jruby -S gem Include jruby-complete.jar or jruby.jar in your CLASSPATH & PATH for the executable
  • 23. Show me stuff... JRuby integration with JVM Ruby'ized – by popular demand!
  • 24. Choose your Hammer – Calling Ruby from within Java
  • 25. Choose your Hammer – Calling Ruby from within Java JSR 223
  • 26. Choose your Hammer – Calling Ruby & Groovy from within Java
  • 27. Choose your Hammer – Calling Ruby & Groovy from within Java Why would we want to do this? Because we can
  • 28. Choose your Hammer – Calling JRuby file from within Java
  • 29. Choose your Hammer – Calling JRuby file from within Java
  • 30. Ruby > Java
  • 31. Ruby > Java & Back [SNIPPED]
  • 32. Ruby > Java & Back
  • 33. Performance & External Libraries ● For the sake of performance it would be better to use Java Libraries over JRuby at times. ● Totally depends on your requirement. ● Including external Java libraries within your JRuby Code is fairly straightforward ● You can also put the jar files in the rails lib directory for getting access to them in your rails application
  • 34. JfreeChart – Chart Generation ● All you need to do is either have the jars in your classpath ● Or include it in your libs folder in rails. http://kfahlgren.com/blog/2007/04/13/jruby-jfreechart-sparklines/
  • 35. JRuby & Library Jars
  • 36. This guy is boring why doesn't he just show me rails
  • 37. The Holy Blog
  • 38. ...
  • 39. ...
  • 40. DB Stuff
  • 41. Packaging...
  • 42. Packaging & Deploying config/warble.rb
  • 43. Voila
  • 44. In Summary ● I strongly believe JVM should be your platform Strategy ● This more or less comes out of my experience. ● JRuby will fit into many cloud architectures with little effort (Not sure of Azure yet) – Portability from within
  • 45. Useful Links ● http://jruby.org/ ● http://www.infoq.com/vendorcontent/show.action?vc ● http://code.google.com/p/appengine-jruby/ > http://rails-depot.appspot.com/ ● http://en.wikipedia.org/wiki/JRuby#Performance
  • 46. Ram Vijapurapu @rvijapurapu thinkbelievedo.com