ProMotion

ProMotion 是 RubyMotion gem,能让 iPhone 开发更像 Ruby 而不是 Objective-C。「ProMotion is a RubyMotion gem that makes iPhone development less like Objective-C and more like Ruby.」

  • Owner: jamonholmgren/ProMotion
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

ProMotion

Gem Version

ProMotion was created by me, Jamon Holmgren. While you're welcome to use ProMotion, please note that it's no longer maintained!

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
ProMotion Screen ProMotion Nav Bar ProMotion Tabs
Table Screens Grouped Tables Searchable Refreshable
ProMotion TableScreen Grouped Table Screen Searchable Refreshable
SplitScreens Map Screens Web Screens
ProMotion SplitScreens MapScreen ProMotion WebScreen

...and much more.

Getting Started

  1. Check out the Getting Started Guide
  2. Watch the excellent MotionInMotion screencast about ProMotion (very reasonably priced subscription required)
  3. Follow a tutorial: Building an ESPN app using RubyMotion, ProMotion, and TDD
  4. Read the Documentation

Changelog

See Releases page

Apps built on ProMotion

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

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)

Other Contributors

Main metrics

Overview
Name With Ownerjamonholmgren/ProMotion
Primary LanguageRuby
Program languageRuby (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2012-08-30 16:35:59
Pushed At2025-02-04 15:14:50
Last Commit At2025-02-04 07:14:49
Release Count41
Last Release Namev3.0.0 (Posted on 2020-03-04 16:43:38)
First Release Namev0.2 (Posted on 2013-04-25 07:55:48)
用户参与
Stargazers Count1.3k
Watchers Count62
Fork Count144
Commits Count1.8k
Has Issues Enabled
Issues Count431
Issue Open Count25
Pull Requests Count320
Pull Requests Open Count0
Pull Requests Close Count72
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private