Stephen Haney

Swift, Objective-C and Barriers to Entry
(or “My First iPhone Game”)

I want to build a fun iPhone app. I always have . . . just a small something to show off to my coder friends. I want to spend time daydreaming about becoming featured, going viral, and turning a hobby into an income stream.  Or, it can simply exist as an enjoyable exercise in creation and learning.  But here’s the holdup: I’ve always seemed to have better options than spending my time learning Obj-C’s syntax and, some would say, archaic quirks.  As an outsider, it’s too high a barrier to entry for a side project.  So, I immediately took to the idea of a new language when Apple announced Swift last Monday at WWDC.

Swift – Why I’m Optimistic

Swift’s syntax is very familiar and friendly to web developers or anyone versed in C based languages.  I’m 28 and I’ve been working on the web for the past 11 years; I spend a lot of my time with JavaScript and C#, and to a lesser extent Python and PHP.  Anyone with some basic knowledge of those languages can blow through the Swift book in a few days and feel confident opening Xcode and creating a new project.

Swift also has the advantage of starting fresh, learning from the mistakes, creep, and rot of other languages and getting it right the first time.  From what I’ve seen, Apple’s done a fine job crafting a language that encourages good practices; Swift takes the good and leaves the bad.

Getting Started and Sharing Knowledge

Despite my high hopes, I can’t have a true appreciation for Swift, its benefits, and shortcomings, until I dive in and build something great . . . or at least something worth showing to the family.  I’ve chosen to create an unambitious (relatively) puzzle game to break in the new language and learn more about iPhone game development.

There’s obviously not much out on Google yet about Swift.  New coders will be looking for forums, StackOverflow threads, and blogs that don’t exist yet; I plan on doing my small part by documenting my journey and sharing code snippets as I solve common problems.  It’ll be fun, and well worth it if my posts can help just a few stuck Googlers (or Bingheads, or whatever).

Now if you’ll excuse me, I’m launching Xcode and getting to work.  I’ll report back with my findings!