Over the past few months I’ve wrestled with a topic I’m sure many of you have as well – When is the right time to learn/move to Swift for existing Objective C app developers?
I’ve read lots of posts where developers have jumped whole-heartedly into Swift and never looked back, dealing with inconveniences and changing features as the cost of getting in on the ground floor. Likewise, many other developers have stuck with tried and true Objective C that they know. The second option also has the benefit of being battle-tested as well as still being fully supported by Apple. That being said, Apple obviously sees Swift as the (not-too distant) future; they have stopped providing documentation and sample code for newer products in Obj-C in the developer site.
I had held off learning much about Swift myself, considering all of our current code bases are based in Objective-C. However, that nagging feeling that learning Swift sooner than later would be advantageous wouldn’t go away.
The Next Big Thing
At Creative Ave we really just like building cool stuff. That’s our mission statement if you will. While the past year we’ve focused on rapidly expanding Caffiend and bringing out a lot of the features we wanted to add, we haven’t done much else app-wise. We’ve tossed around and said no to a lot of app ideas though. Happily in the past month we’ve had two very interesting candidates for new apps. Being the lead programmer my first thought was “This could be an opportunity to try Swift!”
Not having an established code base to deal with was key for me. Also, both of these projects are ventures into new territory for us, which means lots of learning regardless. Finally, it seemed like a more-future proof solution than knowing that if we went Obj-C, someday I would have to rewrite both of these apps in Swift anyway.
I’m not sure whether either of these apps will make it to market, but it’s exciting to be a newbie again. Not being so familiar with the syntax and what I expect has been a blessing creatively, despite being very frustrating sometimes.
As I was off toying around with Swift for these prototype projects, a small project crossed our path; a simple one off app. Being so simple I quickly decided this would be my proving ground. We would ship this simple app in Swift. A few days have gone by and I can now report that it has been quite successful. This one off app is almost entirely done, the customer is thrilled (and could care less what language the app is written in) and I have some first hand experience with Swift.
As we move forward with the other projects I was talking about earlier, we’re going be to trying more and more in Swift and the results thus far are promising.
I’m also very excited to see where Swift on Linux goes – that could be a very interesting development for server side apps.