Hacker News new | past | comments | ask | show | jobs | submit login
Ruby on Rails on Google App Engine (jruby-rack.appspot.com)
41 points by EvilTrout on May 4, 2009 | hide | past | favorite | 10 comments



This post is a bit of a bait & switch.

Thanks to JRuby-Rack you can run any rack compliant application framework on Google App Engine (sinatra, merb, rails).

However, ActiveRecord (Rails modelling component) can't actually interface with the Google App Engine datastore directly.

There are tools that have been built by some guys at google to wrap the Java API, but i don't see these instructions including them.


If someone is working on this, It can be huge. Otherwise rails on GAE is a deal breaker. Although it is good to see as a first step :)


Yes, someone is working on this ;)

A lot of this will be presented at RailsConf tomorrow.

Ribrdb, is a googler who works on AppEngine, and has written Ruby wrappers for a a number of the pieces of the Java AppEngine API. You can find his work at http://code.google.com/p/appengine-jruby/

I'm working on some integration & environmental tools for developing locally w/ the AppEngine called Reggae (which i won't link since i don't have anything compelling to show yet).


It does raise the question of what it means to call something a 'Rails app', especially if AR is considered the heart of Rails.

Also, given the restrictions imposed by GAE, Rails may not even be a good choice. Sinatra or Innate/Ramaze (once jruby-rack pulls in Rack 1.0 code) seem much better options, being cleaner and lighter.



Google App Engine accepts Java bytecode and even supports run time loading of bytecode.

http://googleappengine.blogspot.com/2009/04/many-languages-a...

So even though there are limitations (e.g., single thread), the following languages can run on App Engine through the Java back door: PHP, Clojure, Groovy, JavaScript, Python, Ruby, Scala, Scheme, Beanshell, ...

Here's a wiki page with some info: http://groups.google.com/group/google-appengine-java/web/wil...

Also note that it's possible to run multiple languages against one datastore by using the built-in versioning system.


JavaScript on GAE: http://jack-js.appspot.com/

All it took was a nearly trivial servlet hooking into Rhino: http://github.com/tlrobinson/jack-servlet


Note: It runs only on JRuby


And this is a big deal because while Rails might run on JRuby (even outside of Google App Engine) not many people do in practice because the various libraries and gems haven't caught up yet.


Good.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: