Is Ruboto a serious alternative to Java?

873 views
Skip to first unread message

James West

unread,
Oct 3, 2011, 4:19:45 PM10/3/11
to Ruboto (JRuby on Android)
I'm a Ruby and RoR / Delphi developer getting into android development
and I'm wanting to know if Ruboto is a serious development solution
for complex android apps? I've played with Rhodes which is fine if you
don't want to do anything with external jar libraries and I can't
stand JAVA so I'm hoping that this is the language I'm looking for.
I'd really appreciate an objective reply

Kind Regards

James

Uwe Kubosch

unread,
Oct 3, 2011, 5:21:32 PM10/3/11
to rub...@googlegroups.com
Hi James!

On 2011-10-03, at 22:19, James West wrote:

> I'm a Ruby and RoR / Delphi developer getting into android development
> and I'm wanting to know if Ruboto is a serious development solution
> for complex android apps? I've played with Rhodes which is fine if you
> don't want to do anything with external jar libraries and I can't
> stand JAVA so I'm hoping that this is the language I'm looking for.

Ruboto is definitely a serious development platform for doing serious and complex apps.

Ruboto is not fast, so any performance critical parts need to be in Java.

Ruboto is based on JRuby, and since Dalvik does not have runtime byte code generation, all Ruby code is interpreted. This leads to significant stack usage. The main thread in an Android app, there user interface thread, is limited to 4KB of stack. That mean no really complex Ruby code can run on the UI thread. Ruboto offers mechanisms to work around this. Long running code on the UI thread is discouraged anyway, since it locks up the UI.

Runtime byte code generation will come to Dalvik at some time. A way to precompile Ruby scripts into Java classes ahead of time will also appear. No time frame yet.

JRuby initialization takes a few seconds, så even if your splash screen is instantly displayed, your Ruby code takes a few seconds to start, 10 seconds on last years devices, 6 seconds on current pads. This startup time will get shorter as hardware gets faster and we work on the JRuby startup time.

Ruboto is a young project. It is definitely useable for development right now, but as we work towards version 1.0.0, we will improve the API as we learn more about Android and the possibilities and limitations. During this transition, we will try to keep migrating a Ruboto app as easy as possible, but making the API better takes precedence over compatibility to older Ruboto version. However, since we are a young project, we have plenty of time for support :) so we will help you upgrade when we release new versions. Also you are welcome to join the project.

My company, Datek Wireless in Norway, released a fleet control app for the passenger busses at Oslo Airport Gardemoen this saturday. The bus tracking and dispatch system is a Ruboto app.

Feel free to read the FAQ on the WIKI

https://github.com/ruboto/ruboto-core/wiki/FAQ

> I'd really appreciate an objective reply

I am biased in that I like writing Ruby more than Java or C/C++, and that I am a developer on the Ruboto project as opposed to the SL4A project..

--
Uwe Kubosch
u...@kubosch.no
http://kubosch.no/


Scott

unread,
Oct 4, 2011, 3:16:19 AM10/4/11
to Ruboto (JRuby on Android)
Hi James,

I had one additional thought to what Uwe said:

If you can't stand Java and your decision is between Ruby/Ruboto and
Java, then definitely start with Ruboto. You can always use Ruboto to
learn the Android API and prototype your new app. I suspect that
you'll be able to leave it in Ruby, but if necessary, you can always
convert part or all of it over into Java.

We've been pretty quick to respond to questions (realizing that our
documentation has some gaps), so don't hesitate to ask.

-- Scott
Reply all
Reply to author
Forward
0 new messages