Your SlideShare is downloading. ×
0
JRuby in a Java World Sneaking JRuby in the Backdoor by Mark Menard, Vita Rara, Inc.
JRuby <ul><li>JRuby is an implementation of Ruby that runs on the Java Virtual Machine. </li></ul><ul><ul><li>Can use Java...
JRuby for Java Developers <ul><li>A dynamically typed object oriented language. </li></ul><ul><li>Supports open classes an...
JRuby on Rails <ul><li>Ruby on Rails </li></ul><ul><ul><li>A highly productive Ruby web framework focusing on convention o...
JRuby in a Java House <ul><li>Prototyping </li></ul><ul><li>Testing </li></ul><ul><li>Intranet Applications </li></ul><ul>...
Language per Tier <ul><li>Use appropriate language per tier of your application. </li></ul><ul><li>We’re all polyglots! </...
Greenfield Development <ul><li>JRuby on Rails runs on the JVM and can be deployed in most Java application servers. </li><...
Brownfield Development <ul><li>How many greenfields are there really? </li></ul><ul><li>Strategies </li></ul><ul><ul><li>S...
Sneaking Rails in the Backdoor <ul><li>Embed a Rails app inside an existing Java web application. </li></ul><ul><ul><li>Ad...
Upcoming SlideShare
Loading in...5
×

JRuby in a Java World

892

Published on

Brief overview of using JRuby in a Java shop. Covers

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

No Downloads
Views
Total Views
892
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "JRuby in a Java World"

  1. 1. JRuby in a Java World Sneaking JRuby in the Backdoor by Mark Menard, Vita Rara, Inc.
  2. 2. JRuby <ul><li>JRuby is an implementation of Ruby that runs on the Java Virtual Machine. </li></ul><ul><ul><li>Can use Java classes. </li></ul></ul><ul><ul><li>Supports embedding into Java applications. </li></ul></ul><ul><ul><li>Allows testing of Java code using Ruby tools such as: </li></ul></ul><ul><ul><ul><li>RSpec </li></ul></ul></ul><ul><ul><ul><li>Cucumber </li></ul></ul></ul><ul><ul><li>Support is coming for creating Java classes. </li></ul></ul>
  3. 3. JRuby for Java Developers <ul><li>A dynamically typed object oriented language. </li></ul><ul><li>Supports open classes and meta-programming. </li></ul><ul><li>Terse syntax with low ceremony. </li></ul><ul><li>High developer productivity. </li></ul><ul><li>Has support for closures. </li></ul><ul><li>Is focused on developer joy. </li></ul>
  4. 4. JRuby on Rails <ul><li>Ruby on Rails </li></ul><ul><ul><li>A highly productive Ruby web framework focusing on convention over configuration, and DRY (Don’t Repeat Yourself). </li></ul></ul><ul><ul><li>Used in many high volume Software as a Service applications. </li></ul></ul><ul><ul><ul><li>Basecamp </li></ul></ul></ul><ul><ul><ul><li>Lighthouse App </li></ul></ul></ul><ul><ul><li>Branching out into more consumer oriented websites. </li></ul></ul><ul><ul><ul><li>Yellowpages.com </li></ul></ul></ul><ul><ul><ul><li>Slideshare.net </li></ul></ul></ul>
  5. 5. JRuby in a Java House <ul><li>Prototyping </li></ul><ul><li>Testing </li></ul><ul><li>Intranet Applications </li></ul><ul><li>CRUD </li></ul><ul><li>Script Existing Java Resources </li></ul>
  6. 6. Language per Tier <ul><li>Use appropriate language per tier of your application. </li></ul><ul><li>We’re all polyglots! </li></ul><ul><li>Model </li></ul><ul><ul><li>Java, Groovy++ or Scala for performance </li></ul></ul><ul><ul><li>Ruby, Groovy or Python for expressiveness </li></ul></ul><ul><li>Controller </li></ul><ul><ul><li>Use a dynamic language </li></ul></ul><ul><li>View </li></ul><ul><ul><li>JSP, Velocity, ERB, Groovy, Javascript </li></ul></ul>
  7. 7. Greenfield Development <ul><li>JRuby on Rails runs on the JVM and can be deployed in most Java application servers. </li></ul><ul><li>Packaging is easy via Warbler gem. </li></ul><ul><li>Consider this if you have a simple proof of concept project. </li></ul>
  8. 8. Brownfield Development <ul><li>How many greenfields are there really? </li></ul><ul><li>Strategies </li></ul><ul><ul><li>Script existing domain models. </li></ul></ul><ul><ul><li>Use as scripting language for business rules. </li></ul></ul><ul><ul><li>Embed Rails app in existing Java web app. </li></ul></ul><ul><ul><li>Use Cucumber to test existing web app. </li></ul></ul><ul><ul><li>Use RSpec to test existing Java code. </li></ul></ul>
  9. 9. Sneaking Rails in the Backdoor <ul><li>Embed a Rails app inside an existing Java web application. </li></ul><ul><ul><li>Add JRuby dependencies </li></ul></ul><ul><ul><li>Add jruby-rack handler to web.xml </li></ul></ul><ul><ul><li>Create Rails application in project. </li></ul></ul><ul><ul><li>Integrate packaging of Rails app into build process. </li></ul></ul><ul><ul><ul><li>Can be in a subdirectory of /WEB-INF, or </li></ul></ul></ul><ul><ul><ul><li>Can be integrated into the / of the web application. </li></ul></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×