How I Got Started With iOS Development
15 Oct 2016With the introduction of the iPhone and the release of the first official SDK, I got more and more interested in app development. But jumping into Objective-C, memory management, and paying for the Developer Program seemed too much of a hassle for me to actually get started.
I started dabbling with MacRuby which allowed me to write OS X apps with Ruby that would compile to native binaries. It allowed me to learn a bit about Apple’s APIs and frameworks and (coming from a backend development background) I learned a lot about what it means to make applications that are not bound to the browser. But also felt a bit clunky since I had to translate docs, examples, etc. from Objective-C to Ruby and find out how everything was mapped.
In December 2010, I bought a very important screencast: Objective-C for Rubyists by PeepCode (Geoffrey Grosenbach). It highlighted the similarities between the two languages (more than I thought!), but also their differences, and it eased me into learning Objective-C.
From then on, I became more serious and invested more time in learning application development:
- I bought Cocoa Programming for OS X by Aaron Hillegass and helped me to learn more about the architectures and patterns involved in developing software for macOS (or OS X).
- Kevin Vinck’s Hot Cocoa was extremely beginner-friendly and I devoured his videos.
- AppleProgramming on Youtube covered basically every topic and every question I could have had. It was documentation in video form - very thorough and detailed.
- I began working on little projects using Apple’s frameworks, QTKit most notably.
Then RubyMotion (an offspring of MacRuby) came around, and I coughed up the money to become a member of Apple’s Developer Program for a year. A lot of libraries (Promotion, BubbleWrap, SugarCube, etc.) sprung up, aiming to bring Rubyisms and syntactic sugar to app development. 37Signals used it to create a native Basecamp client. But it didn’t stick. I was too busy with my master’s degree, and I had neither time nor the energy to learn more stuff outside of my curriculum.
In 2014, I moved to Vienna and kept freelancing for my former employer. In Spring 2015, I was fed up and wanted to work in a company together with a team again. I landed at my current employer to take care of the corporate website (WordPress). I didn’t enjoy the task much, but my colleagues and the company culture made it worth sticking around. When my manager learned that professionally I felt miserable, he gave me the chance to transition into their iOS development team. Within two months, I was an iOS developer.
So, for one year, I now get paid to work on an awesome project that tries to make the lives of people living with a chronic disease easier. It felt quite daunting to jump into a vast codebase after working only on a few smaller hobby projects. I still have a long way to go, but I’m feeling much more confident already. Can’t wait to see what the next year brings!