JRuby Roundup: 1.5.1, Google App Engine, Native Extensions
Google App Engine's (GAE) Java support allows developers to use some JVM-based languages like JRuby. Users of JRuby 1.5, need to make sure they're running JRuby 1.5.1, the latest release that fixes problems on GAE.
JRuby users on GAE will encounter some of the limitations that GAE imposes, eg. the lack of a relational database, which means using DataMapper instead of ActiveRecord. For some more tips on JRuby on GAE see an article on the basics of JRuby on GAE and an example of full text search running on GAE.
One limitation of JRuby is the lack native extension support, which means that a group of libraries is off limits for JRuby developers, unless someone took the time to port the native parts to Java.
A few months ago, Wayne Meissner started work on a project that would allow to run many native extensions in JRuby. Not all of them, simply because some extensions rely on MRI implementation details that can't (easily) be reproduced in JRuby. Nevertheless, supporting only the well behaved native extensions could already help many users.
A project in the Ruby Summer of Code, by Tim Felgentreff, is now trying to continue the work on getting native extensions to work in JRuby. The project's progress can be seen by following the commits on Tim's JRuby fork on GitHub.
If you're a GAE user, native extension support won't be useful since there's no native code on GAE - but for all other JRuby users: which native extensions do you miss?
Delivering Performance Under Schedule and Resource Pressure: Lessons Learned at Google and Microsoft
Ivan Filho Mar 06, 2014
Andrew Stellman Mar 06, 2014