InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

JRuby Roundup: 1.5.1, Google App Engine, Native Extensions

Posted by Werner Schuster on Jun 30, 2010

Sections
Development
Topics
Ruby ,
JRuby
Tags
Google ,
Google AppEngine ,
JRuby

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?

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.