A platform for developing Android applications using the JRuby Ruby implementation.
Ruboto is a platform for developing native Android applications using the Ruby programming language through the JRuby implementation. It solves the problem of Android development typically requiring Java or Kotlin by allowing Ruby developers to write app logic in Ruby, which runs on the Android Dalvik/ART runtime via JRuby. It integrates with standard Android tooling like Android Studio and Gradle.
Ruby developers who want to build Android applications without switching to Java or Kotlin, and developers familiar with Ruby who are entering the mobile app space.
Developers choose Ruboto because it leverages their existing Ruby expertise for Android development, reducing the learning curve. It provides a unique bridge between the Ruby ecosystem and Android, offering a more familiar and expressive language for app logic while maintaining compatibility with Android's native components and tooling.
A platform for developing apps using JRuby on Android.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables Ruby developers to build Android apps without learning Java/Kotlin, leveraging existing skills via JRuby integration, as shown by activity generators and Ruby code execution.
Fits into common Android Studio and Gradle workflows, reducing tooling friction, evidenced by instructions for modifying Gradle files and using standard project structures.
Supports bundling Ruby gems like ActiveRecord into the APK via a gems.rb file, allowing reuse of Ruby libraries for tasks such as database management.
Provides ready-to-use Android components (e.g., RubotoActivity, RubotoService) to handle common patterns, simplifying app development and reducing boilerplate.
Requires multiple manual steps, including Gradle tweaks, running a bash script for JRuby jar updates, and configuring dependencies, which can be error-prone and time-consuming.
Relies on jcenter for dependencies, a repository being phased out, potentially causing future build failures or security issues if not migrated.
Embedding JRuby increases APK size and adds runtime interpretation overhead, impacting app startup times and efficiency on resource-constrained devices.
Lacks guides for key scenarios, such as adding Ruboto to existing projects, with the README admitting 'HOWTO missing. Pull requests welcome!'