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
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!
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/
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