ProMotion was created by me, Jamon Holmgren. While you're welcome to use ProMotion, please note that it's no longer maintained!
(And yes -- I created it long before Apple launched their own 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.
# app/app_delegate.rb
class AppDelegate < PM::Delegate
status_bar true, animation: :fade
def on_load(app, options)
open RootScreen
end
end
# app/screens/root_screen.rb
class RootScreen < PM::Screen
title "Root Screen"
nav_bar true
def on_load
set_nav_bar_button :right, title: "Help", action: :open_help_screen
end
def open_help_screen
open HelpScreen
end
end
# app/screens/help_screen.rb
class HelpScreen < PM::TableScreen
title "Table Screen"
def table_data
[{
title: "Help",
cells: [
{ title: "About this app", action: :tapped_about },
{ title: "Log out", action: :log_out }
]
}]
end
def tapped_about(args={})
open AboutScreen
end
def log_out
# Log out!
end
end
Screens | Navigation Bars | Tab Bars |
---|---|---|
Table Screens | Grouped Tables | Searchable | Refreshable |
---|---|---|---|
SplitScreens | Map Screens | Web Screens |
---|---|---|
Open a pull request! We love adding new ProMotion-built apps.
We have comprehensive documentation with code examples, usage examples, and API reference.
We're no longer supporting ProMotion and it's mostly retired. If you need help, feel free to file an issue, but I may not see it.
See CONTRIBUTING.md.