Are you a Ruby developer interested in iOS development but needing a bit of help to get started? Look no more!
We offer a full 5-day class 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 printed material and access to a dedicated forum where you can discuss with the instructors and other students.
Requirements: Basic Ruby knowledge, a Mac computer, a provisioned iOS device and a valid RubyMotion license. That's all!
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
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
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
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
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
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. The entire course is given in English.
You can find here public trainings that we have scheduled and purchase a seat. You can also fill out our form so that we can get back to you once we are new trainings available.
Private training is offered for groups of 15 or more. We will travel to your location and deliver the training on-site. We can also customize the material according to your needs.
“ 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.
“ Laurent and Norberto 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!
Laurent is the founder of HipByte, the company behind RubyMotion. Laurent created RubyMotion and is also its current lead developer.
Laurent worked at Apple for 7 years as a senior software engineer, on both iLife applications and the core layer of OS X and iOS. A long time rubyist, he created and still maintains the MacRuby project. In a previous life, he worked on IDA Pro and was an active contributor to RubyCocoa and GNOME.
Laurent holds a B.S. in Computer Science from Liege's Engineering School of Belgium.
Norberto is the founder of Raku and also an experienced programming instructor, having given more than 40 courses on iOS and Mac development. Norberto is also the co-founder of Mexico City's CocoaHeads group.
Norberto started programming 20 years ago and has been using NextStep and OpenStep since 1995. He discovered RubyMotion the day it was announced and has been using it in production since then.
Norberto holds a B.S in Computer Engineering and a M.S. in Computer Science from the National Autonomous University of Mexico. He also studied at the Software Engineering Institute at Carnegie Mellon.