Swift

Swift took us all by surprise at this year's WWDC, including many of Apple's employees. A successor to Objective C had been discussed for almost a decade, yet people still expressed dissapointment that what Apple revealed was not the Objective C 3.0 that they had hoped for, but something altogether more ambitious.

At the point of the announement I had been teaching myself iOS development with Objective C for almost 6 months, so I was a bit hesitant to switch to Swift as I felt I was throwing away all that hard work. In reality of course there is a lot more to development than just the language, but switching to Swift would require more than just learning a new syntax.

Still, I was excited to try Swift and immediately began trying Xcode's playgrounds, and reading everything I could about it. I followed the development of the language with interest, but it was clear with each Xcode beta release that the large changes to the language, and no guarantees of source compatibilty, would make it difficult for a beginner developer to keep up.

So I decided to stick with the original plan of programming my project in Objective C. The language was not going to change, all of the great resources I had been learning from were written in Objective C, as were all of Apple's APIs. If I want to introduce some Swift later on, I can quite easily as Apple makes it simple to combine both languages in a single project.

Project

It has been clear to me since I started my CS degree that I wanted to write software for a living, and that on Apple's platform was where I wanted to do it. The release of Stanford's "Developing iOS 7 apps for iPhone and iPad" course in October 2013 prompted me to begin my first iOS app. They recommended Stanford's "Programming Abstractions" and "Programming Methodologies" courses as prerequisites, so I worked my way through both of these, watching all the lectures and completing the assignments. These were great refreshers and I fully recommend them.

Today my proposal for my University Final Year Project has been accepted. I won't detail it fully here yet, but it will make heavy use of the Multipeer Connectivity Framework introduced in iOS 7. This will be finished by April 2015, and hopefully released on the App Store.

I have been following the Apple Developer community for years, here are a few resources I find very helpful:

Blogs
Michael Tsai's Blog
inessential by Brent Simmons
David Smith's blog
Indie Stack by Daniel Jalkut
NSHipster
objc.io

Podcasts
Developing Perspective
Accidental Tech Podcast
Core Intuition

Tutorials
Ray Wenderlich
Apple's WWDC Videos

First

This blog is a place for work and ideas. It is built on the blogging engine Camel created by ATP's Casey Liss.