Skip to content

Instantly share code, notes, and snippets.

@jm
Created April 12, 2012 15:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jm/2368029 to your computer and use it in GitHub Desktop.
Save jm/2368029 to your computer and use it in GitHub Desktop.
Talk proposal
[rubyist learn:@"Cocoa" withLanguage:@"MacRuby"];
-------------------------------------------------
Cocoa is a fantastic set of libraries to work with, but Objective-C can be a bit of a verbose beast. MacRuby offers Rubyists a great way to use the whole framework, but with a beautiful, developer friendly language.
The only catch is that idiomatic Cocoa is kind of weird for a Rubyist. What's a delegate? Aren't we not supposed to use threads in Ruby? It gets even dicier if one decides to write a GUI application, since most of us are writing web apps and don't encounter the concept of a run loop and don't worry about blocking the main thread for users typically. Why is this API so ugly? The unfamiliarity with the assumptions and idioms underlying MacRuby can make it just as hard (or harder!) to pick up.
This talk is a solution for the confusion. We'll take 6 core Cocoa concepts and look at what they are, how they're used in Cocoa, and use MacRuby to show their usage. We'll look at:
* Syntax (pattern matching method definitions, keyword arguments, MacRuby shortcuts, etc.)
* Protocols and categories
* Outlets, actions, and Interface Builder
* Data sources
* Delegates
* Notifications / observers
If you're a developer considering learning OS X or iPhone development but keep getting caught up on the intricacies and assumptions therein, learning Cocoa using MacRuby gives you a much easier way to "get" the framework without the cognitive load of learning a new language at the same time. Then you can take the knowledge of the framework and use it as you learn Objective-C.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment