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.)
iPhone Apps, Ruby-style
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
Features
| Screens | Navigation Bars | Tab Bars |
|---|---|---|
![]() |
![]() |
![]() |
| Table Screens | Grouped Tables | Searchable | Refreshable |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| SplitScreens | Map Screens | Web Screens |
|---|---|---|
![]() |
![]() |
![]() |
...and much more.
Getting Started
- Check out the Getting Started Guide
- Watch the excellent MotionInMotion screencast about ProMotion (note: no longer active.
very reasonably priced subscription required) - Follow a tutorial: Building an ESPN app using RubyMotion, ProMotion, and TDD
- Read the Documentation
Changelog
Apps built on ProMotion
Your app
Open a pull request! We love adding new ProMotion-built apps.
API Reference
We have comprehensive documentation with code examples, usage examples, and API reference.
ProMotion Documentation
Screencasts
- Watch Jamon Holmgren give a talk about ProMotion at RubyMotion #inspect2014 (video)
- Watch the September 2013 Motion Meetup where Gant Laborde interviews Jamon Holmgren about ProMotion
Help
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.
Contributing
See CONTRIBUTING.md.
Core Team (inactive)
- Jamon Holmgren: @jamonholmgren
- Andrew Havens: @misbehavens
- Mark Rickert: @markrickert
- Ryan Linton: @ryanlntn
- Silas Matson: @silasjmatson
- David Larrabee: @squidpunch









