I build web, mobile and desktop apps, produce screencasts, write ebooks, and provide pairing and training

Building Mac OS X apps with RubyMotion

RubyMotion is an incredibly powerful toolchain for building iOS apps using Ruby - but it's just as useful and just as powerful for building Mac OS X desktop apps too!

Unlock the power of Ruby in your Mac OS X apps to build everything from utility and productivity apps, to developer tools and helpers, to fully fledged desktop user interfaces. You'll integrate with web APIs, with core system functions, learn powerful ways to build user interfaces, and more. You'll learn how to best structure your apps and to take advantage of the Ruby syntax to make your development more efficient than building the app in Objective-C.

Available now - show me the packages already!

What is it?

It is an e-book that will guide you through various concepts related to building Mac OS X apps with RubyMotion. From the basic beginnings of an app, to more complex development and customization of apps, the book will include lots of code, example apps, and detailed descriptions of concepts central to building Mac OS X apps using the Ruby language. For more info on what's going into the book, check out the work in progress table of contents below.

Tell me more about the author

My name is Elliott Draper, and I'm the founder of KickCode. I've been programming professionally for over 12 years, and working with Ruby for over 10 years. For the past few years I've been doing a lot of development with RubyMotion, on iOS, and now also building Mac apps on OS X.

Is it just the book on its own?

The book is available as three packages - the book on its own, the book along with some screencasts which will follow later when the book is finished, and the book, screencasts, and pairing time with me to help you with your app.

What format is the ebook available in?

To begin with, the book is delivered just as a PDF, but I'm evaluating other formats. If and when the book is available in additional formats (such as mobi or epub), all purchasers will receive those for free as well.

How much will it be?

You can see the packages and prices below - each package has a slight early access discount on its final price before the finished book is available.

What content is in it, and what content is planned for the final version?

Here is the table of contents (subject to change as the book progresses) - items in green are completed and available in the book now.

  1. Introduction
    1. Why RubyMotion?
    2. Advantages
    3. Disadvantages
    4. Future
  2. Getting started
    1. Rakefile configuration
    2. Gems
    3. Cocoapods
    4. Pointers
    5. Debugging
    6. Building your own gems
    7. Development certificates, devices and provisioning profiles
  3. App user interface
    1. Creating a window and adding a control
    2. Basic interaction with controls
    3. Improved layouts with motion-kit
    4. Multiple panes
    5. Toolbars
    6. Tab views
    7. Gradients
    8. Custom controls
  4. Status bar apps
    1. Creating a status bar menu
    2. Adding menu items
    3. Custom pane
    4. Scroll view with custom items
  5. Building a document based app
    1. Opening and saving files
  6. Data
    1. Updating our app in the background
    2. Getting data from a JSON API
    3. Table view data
    4. Working with Core Data
    5. Persisting user settings with NSUserDefaults
    6. Using Core Data with iCloud
    7. Working with the iCloud key-value store
  7. Audio and video capture
    1. Capturing audio and video
    2. Previewing audio and video
    3. Saving a still image
    4. Processing frame data on the fly
  8. Other techniques and APIs
    1. Global hotkeys - setting up a hotkey and responding to it
    2. Global hotkeys - allowing the user to specify the key combo
    3. Accessibility APIs - global key handler
    4. Drag and drop - dragging content into a window
    5. Drag and drop - dragging content into the status bar menu
    6. User notifications - local notifications
    7. Location tracking with CLLocationManager
    8. Map displaying with MKMapView
  9. Testing and code quality
    1. Writing specs
    2. GUI testing
    3. Code quality analysis
  10. Sandboxing
    1. Restrictions
    2. How to test compliance
  11. Distribution, testing and App Store
    1. Test builds
    2. Testing App Store builds
    3. Submitting to the Mac App Store

What if I don't like it or find it useful?

I want you to be happy with the book, so if it's not useful or isn't what you were looking for, then drop me a mail with your feedback (so I can improve the book, and any future books), and I'll refund your purchase.

What version of Mac OS X are the examples in the book written with?

The majority of the examples should work on Mac OS X 10.8 up to Mac OS X 10.11, with a few exceptions where the examples relate to newer APIs introduced in 10.10 or 10.11.

When can I get it?

You can purchase it right now! It's in early access, which means you'll get the version of the book as it is today, with some of the content not yet finished (see above for a list of what's available right now), and then you'll get regular updates to the book, culminating in the final version. You'll get the book at a cheaper price while it's in early access too, but won't have to pay any more for the additional content updates or final version!



The book in PDF format, with regular updates up to and including the finished version.

£39 £29 during early access

Book + Screencasts

The PDF book, as well as a screencast series showing how to build a Mac app using RubyMotion step-by-step, to follow after the completed book.

£99 £79 during early access

Book + Screencasts + Pairing

The PDF book and screencasts, along with 3x 1 hour pairing sessions with me, to answer questions you have about developing with RubyMotion, or to help with specific development on your app.

£279 £239 during early access

Back to top


Building Mac OS X apps with RubyMotion

Learn how to build Mac apps with using Ruby with this ebook, currently in early access, and with the finished version coming soon.