Trainings

Are you a Ruby developer interested in mobile development, but needing a bit of help to get started? Look no more!

We offer full 5-day classes that will teach you everything you need to know about iOS and RubyMotion, from the very basic concepts to advanced topics. Experience with iOS is absolutely not required.

At the end of the training you should be able to start writing full-fledged apps for iPhone or iPad in Ruby.

 

This is a hands-on training. You will get to write a few iOS applications during the course. You will also be given exhaustive material and access to a dedicated forum where you can discuss with the instructors and other students.

Currently, the course focuses on iOS. An Android version is under preparation.

Planned trainings

 
 

Course outline

Day 1

iOS platform overview

Operating system, window and event system, application life cycle

Your first RubyMotion app

Creating an app, project structure, defining views and methods, setting targets and actions, running the app, icons, images

RubyMotion and Objective-C

RubyMotion stack, object model, memory management, messages, initializers, accessors, properties, differences between Ruby and Objective-C and RubyMotion

RubyMotion and C

Using structures, calling functions, using pointers

Introduction to Cocoa

Model-View-Controller, frameworks, UIKit and controls, Foundation

Day 2

Delegation pattern

Delegation, using frameworks, CoreLocation, CLLocationManager, compiler errors

Introduction to views

UIView, subclassing UIView, the drawRect: method, drawing and resizing, UIScrollView, zooming, gestures, retain cycles

Maps

MapKit framework, MapView, MKAnnotation, tagging

Testing

Bacon, spec files, spec helpers, context, device events, finding views, UIAutomation

Designing UI

Manual vs Interface Builder, XIB files, libraries and DSLs, using Interface Builder

Day 3

View controllers

Using view controllers, responsabilities, life cycle, UITabVarViewController, tab bar items, assigning views

Table views

Data sources, reading Apple documentation, the UITableViewDataSource protocol, UITableView, UITableViewController, UITableViewCell, editing table views, deleting, moving and inserting rows

Advanced table views

Subclassing table views, layout, custom cells

Navigation controllers

UINavigationBar, file's owner, UINavigationController, appearing and disappearing views

Notifications

Notification center, UIDevice notifications, autorotation

Day 4

Camera access

Displaying images and UIImageView, UIImagePickerController, UIPopoverController, caching images

Application sandbox and memory warnings

File system structure, reading and writing to disk, handling low-memory warnings, simulating memory warnings

Events

Touch events, tracking touch events, the responder chain, instruments

Animations

CoreAnimation, CALayer and views, implicit animations

Advanced animations

CABasicAnimation, timing functions, CAKeyFrameAnimation, CATransaction

Day 5

Settings

Settings bundle, NSUserDefaults, reading and writing defaults

Accessing Web services

Fetching data, NSURLConnection, parsing XML and JSON, Rails integration, UIWebView

Data persistence

The model, archiving, SQLite, CoreData, model definition, NSManagedObject, NSManagedObjectContext

Using 3rd-party libraries

Vendoring projects, Bundler, BubbleWrap, CocoaPods, Cocos2d

Concurrency

GCD (libdispatch), queues, NSOperation, blocks

Pricing

The training costs $2500 per student. Because we want to deliver high-quality training, our classes are small (25 students at most) and we always provide two instructors. We offer a discount for groups.

Requirements: The entire course is given in English. You should have basic Ruby knowledge, a Mac computer, a provisioned iOS device and a valid RubyMotion license. That's all!

What our alumni are saying

"Cyrus Innovation sees lots of opportunities to develop iOS apps for our consulting clients. We were excited to take the training, since we have a strong corps of Ruby developers. Laurent and Norberto delivered a great, wide-ranging introduction to both RubyMotion and native iOS development. We came out of it with the knowledge and confidence to take on developing native iOS apps. In the weeks since, we've already taken on our first paid RubyMotion work and we're moving fast thanks to the great kick-start." Paul Infield-Harm Directory of Product Development, Cyrus Innovation
"The folks at HipByte are amazing instructors. Their easy manner and depth of knowledge helped them adjust to the specific needs of the people in the room. The exercises were rich and enlightening, and the course was very interesting and informative. Overall, five days of training was definitely a worthwhile investment!" Abhishek Nalwaya Technical Lead, McKinsey & Company IT

Meet our instructors

Laurent Sansonetti
Twitter account

Laurent Sansonetti

Founder / Developer

Laurent is the founder of HipByte and the original developer of RubyMotion.

He worked at Apple for 7 years as a senior software engineer, on both iLife and OS X. At Apple, he maintained the Ruby distribution of OS X and also created the MacRuby project. In a previous life, he worked on IDA Pro and was an active contributor to RubyCocoa and GNOME.

Laurent lives in Liège, Belgium. He enjoys drinking beer, eating waffles, and spending time with his wife and son.

Colin Gray
Twitter account

Colin Gray

Community Manager

Colin is our community manager. He works on making sure the RubyMotion community is healthy. You might have seen him on the forums or have read the success stories interviews he prepared.

Having a passion for teaching, he is also one of our training instructors.

When he’s not doing RubyMotion stuff, he works on Jukely, one of RubyMotion’s high-profile apps, as their lead iOS developer.

Colin lives in Denver, Colorado. His wife Tory loves to say: “you need a new hobby”. These days he enjoys biking, hiking, gardening, electronics, skiing, pottery, woodworking, and most recently: homebrewing.

Want to stay in touch?

Follow us on Twitter