There are number of tools these days which allow developers to create native iOS / Android apps. Swift, Objective-C, JavaScript, Java. Ruby also has a tool! Will talk a bit more about it.
8. RubyMotion is a toolchain that allows developers to write native iOS
(iPhone, iPad), WatchOS (Apple Watch), OS X (laptop and desktop
computers) and Android (phones, tablets, TVs, wearable, etc) applications
in the Ruby programming language.
19. Requirements (iOS)
You will need a Mac running OS X 10.9 or higher.
For iOS development, you will also need to install the iOS SDK and join the iOS
developer program in order to receive an application-signing certificate. You will
need an iOS device (iPhone or iPad) if you want to physically test your application.
For OS X development, you will need to join the Mac developer program if you
intend to deliver apps on the Mac App Store.
20. Requirements (Android)
For Android development, you will need to join the Google Play program and also
an Android device configured for development.
22. Memory management
RubyMotion provides automatic memory management; you do not need to reclaim
unused objects.
Since memory can be limited on iOS hardware, you must take care not to create
large object graphs.
23. Concurrency
The ability to run code concurrently became critical as multicore processors
appeared on iOS devices. RubyMotion has been designed around this purpose.
RubyMotion has the concept of virtual machine objects, which wrap the state of a
thread of execution. A piece of code is running through a virtual machine.
Virtual machines don’t have locks and there can be multiple virtual machines
running at the same time, concurrently.
24. Compliance
RubyMotion is 100% compliant with Apple's App Store and Google Play policies.
Your code is compiled ahead-of-time, never interpreted, and you access the entire
set of iOS, OS X and Android public APIs.
Once compiled, a RubyMotion app looks pretty much the same as an Objective-C
or Java app.
25.
26. ProMotion
ProMotion is a RubyMotion gem that makes iOS development more like Ruby and
less like Objective-C. It introduces a clean, Ruby-style syntax for building screens
that is easy to learn and remember and abstracts a ton of boilerplate
UIViewController, UINavigationController, and other iOS code into a simple,
Ruby-like DSL.
36. Pros
● Use the language you already know and love - Ruby.
● No need to use Xcode, pick your favorite editor and work from terminal.
● Pretty easy to get started.
● Repl (read, evaluate, print, loop)
● Final result - natively compiled application
37. Cons
● Commercial product, so it costs money
● Lack of tutorials, examples, documentations
● Outdated gems (companies moved to alternative solutions)
● Tiny community