Or as an alternate title...

Learning Apple's Frameworks is easier with Swift

Last night at the Sydney General Assembly office, myself and four others ran a panel to talk about Swift. The four amazing experts that joined me were Ben Taylor, Dan Nolan, Will Raxworthy, and Garrett Heinlen.

Two of the core topics that repeatedly came up was around Swift being production ready, and if it helped people learn iOS/OS X development faster.

Production Readiness

When the topic of Swift's production readiness came up, there was an overwhelming "No" from the panel, for several reasons, the most obvious being that it's still in beta, with the language changing as it's still in very active development.

Once out of beta, it will of course be "production ready", but could still contain some bugs, be missing features, and just not be 100% complete like Objective-C is, as it has had a long running history with time to sort all that out.

There then comes the topic of whether the Swift community will be production ready in the coming months. There is an unimaginable amount of resources out there for Objective-C development, so beginners will still have to learn both languages.

We've seen this before with the RubyMotion community, which in the beginning things were similar to how Swift's community is currently, lots of hype and excitement but no clear view of the future. It's taken some time but the RubyMotion community is certainly now maturing, as well as the product itself. It's future is now much clearer. So we can hope that Swift's community will be pushed along and grow fast with the encouragement of current Objective-C developers like the RubyMotion one did with the help of Ruby and Objective-C developers alike.

What about learning?

Newcomers are now faced with more choices. I've had a great many conversations with people entering into iOS/OS X development who are confused at where to start and which language to use, Objective-C, Swift, or RubyMotion.

The biggest advantage I see in Swift other than cleaner code, is ease of learning. Swift is a language of it's own, instead of a weird subset of C combined with frameworks as it's core library. This means it's much easier to learn the language first (likely by reading Apple's book), followed by the frameworks, which as is brought up consistently in conversations of which language to use, is known well to be the actual hard part to learn.

This should make jumping into iOS or OS X development much easier, as instead of trying to juggle learning two things at once (Objective-C and Cocoa), you can instead focus on one thing at a time. I can still remember how much banging my head on my desk was involved with trying to wrap my head around both at once when I started.

This is the same argument I have for using RubyMotion when learning, as you can learn Ruby (or even better you might know it already), and then learn the frameworks by reading RubyMotion books or watching RubyMotion screencasts. Of course I have many arguments for using RubyMotion, but I'm trying to only mention RubyMotion as a comparison for Swift's potential future.

What are your thoughts?

Send me a Tweet with your thoughts about Swift and how Swift and RubyMotion make learning Apple's frameworks easier.

You can always support me too by subscribing to MotionInMotion (a weekly RubyMotion screencast, but great of any iOS/OS X developer) or by buying my book "RubyMotion for Rails Developers" for whatever you like, it's pay what you want.