The RubyMotion blog announces releases, success stories, and tutorials for a toolchain for writing iOS, OS X, and Android apps in Ruby.
HN links it for RubyMotion announcements, especially Android support, and for success stories. Commenters note the Android runtime is a new Ruby implementation.
The RubyMotion folks disagree:
RubyMotion for Android features a completely new Ruby runtime specifically designed and implemented for Android development. This is a new implementation of the Ruby language, it does not share code with RubyMotion for the Objective-C runtime. We are using the RubySpec project to make sure the runtime behaves as expected.
...
We feature an LLVM-based static compiler that will transform Ruby source files into ARM machine code. The generated machine code contains functions that conform to JNI so that they can be inserted into the Java runtime as is.
...
RubyMotion Android apps are packaged as .apk archives, exactly like Java-written apps. They weight about 500KB by default and start as fast as Java-written apps.
http://blog.rubymotion.com/post/87048665656/rubymotion-3-0-sneak-peek-android-support
Yes! RubyMotion ships with a port of Bacon, which removes all the friction from testing in the traditional iOS stack (setting up Xcode, adding multiple targets, verbosity...). Just have to add tests in ./specs and run 'rake spec'
Glance at the docs, especially the section about testing views. Much cleaner API than anything in Objective-C: http://www.rubymotion.com/developer-center/articles/testing/
(also a recent blog post on testing if you're still curious: http://blog.rubymotion.com/post/26489000626/functional-view-and-controller-testing-with-rubymotion)
Thanks! I wasn't aware of that announcement. Last month's blog post says: "If you have a RubyMotion app for iOS or OS X and want to port it to Android, you can even share some of the code." (http://blog.rubymotion.com/post/87048665656/rubymotion-3-0-sneak-peek-android-support)
I haven't used Ruby Motion myself -- do you know how much of the code can be reused excluding platform-specific UI stuff? There's a significant difference between 5% and 95%. :)
Interesting note, it is written in Rubymotion (not Obj-C or Swift). Here are his comments:
"It just felt like everything was thought through, distilled down, and presented in a form that was immediately familiar to me given my Ruby background (and the “Ruby mindset”)."
http://blog.rubymotion.com/post/82087136696/rubymotion-success-story-a-dark-room
RubyMotion now has builtin (beta) support for Android.
http://blog.rubymotion.com/post/97668474211/announcing-the-public-beta-of-rubymotion-for-android
Have a look at their blog for some success stories:
http://blog.rubymotion.com/
Here is a great RubyMotion tutorial:
http://rubymotion-tutorial.com/