Yes, as far as we know.
Yes. A Ruboto project IS an Android Java project. You can choose which parts of the app you want to write in Ruby, and which parts you want to write in Java. Developing in Ruby allows you a quick development cycle and more maintainable code, while developing in Java allows for higher performance.
No, not yet. There is a Google Summer of Code 2013 project underway to explore this.
Right now we have the dexmaker.jar based Dalvik byte code generation which is used for generating subclasses of Java classes. This will be used for JIT compilation in the future.
A progress dialog or splash screen is displayed within a second. The full app is available within a few seconds. Work is being done on improving Ruboto app startup time. We are tracking typical startup time on different devices at http://ruboto-startup.heroku.com/
For ruboto-core 0.10.0 a "Hello World" type application (apk) is about 57KB. The application installed on the device is about 188KB. In addition you need either the Ruboto Core platform app installed, which adds around 7.2MB download size and around 17MB of installed disk space, or you can include JRuby in your app. The Ruboto Core platform app is movable to the SDCARD.
Yes, like any other Android app.
Yes. You can include JRuby in your app in two ways:
--with-jrubyflag when you create your app with
ruboto gen app
ruboto gen jrubyand the two jars will be included in your libs directory. You will have to have the jruby-jars gem installed in your Ruby installation.
If you would like to remove JRuby from your app, just delete libs/jruby-*.jar from your project.
No. This is planned for Ruboto 1.1.
There are two limitations we need to solve:
Both these limitations are broken if we add SSL/HTTPS to JRuby now.
If you target your app at Android 4.0.3 or newer (API level android-15 or higher), and run your app standalone (including JRuby in your app), and prune the set of methods in your APK, you should be able to make it work.
You can use the Android libraries from Ruboto to get the same functionality.
Last edited by Uwe Kubosch,