After talking to a few iOS developer friends at companies such as Pivotal Labs and Shopify that are producing world-class, category leading apps are painting a picture that Swift isn’t quite production ready, but the potential of the language is already there and should not be ignored. DuoLingo has released an app in Swift to test the waters – check out their post.
Notable iOS developer Ash Furrow has some great things to say about Swift in Production
Betting on the future – Swift
Drawing inspiration from Haskell, Erlang and Ruby, Swift was made for developer happiness. While having a little bit of experience with Ruby, Swift reads quite easily and feels very familiar to Ruby. Experienced Rubyists will feel very much at home once they bang out a few simple one page apps on their own, much like the other languages I have mentioned.
So why even bet on the future? I can only surmise that Apple will be putting more resources into their own programming language and making it a joy for Apple developers to be able to create more and more valuable apps. The end game is that happy developers equals a stronger ecosystem, while creators and entrepreneurs are making their software more compelling on the consumer side, as well as being more productive and profitable because of the frictions that Apple will continually remove as they improve the Swift language, along with the process of testing and deploying apps as painless as possible.
While Swift is still in its nascent stages at version 1.2 released not so long ago, GitHub Swift projects have been on the rise, and I can only foresee that number rising. As the Swift language matures, I can see entire category leading apps being re-written in Swift from Objective-C for monolithic apps that need to start with a clean slate when engineering teams deem that Swift is “production ready”. When that happens, I don’t know, but it will happen sooner or later, which is my argument to get a head start on Swift.
Some resources on building iOS apps (free and paid) to get you started:
Treehouse’s Swift for iOS track
My review on Treehouse’s Swift course
Bitfountain’s Immersive iOS 8 Swift course
My review on Bitfountain’s Swift course
Bitfountain’s Immersive iOS 7 Objective-C course (free)
Stanford’s Developing iOS apps with Swift Course (free)
Keeping a foot in the past – Objective-C
On the other end, there’s no better time to be learning Objective-C and creating apps. Even if Apple sets in motion as Swift being the de-facto choice for their developers going forward, they won’t stop supporting Objective-C because that will alienate the majority of the developer ecosystem.
Costs to maintain and port over monolithic apps will undoubtedly be huge, for those who can’t afford to make the move, so there will be always a need for those who are proficient in Objective-C as well. Learning the language won’t be a complete waste, but I would guess that it would face the law of diminishing returns as Apple puts more preference and resources towards pushing the Swift language forward.
You can’t really go wrong either way
I know it’s a cop out, saying that you can’t really go wrong either way. If you have a few apps in Objective-C underneath your belt, there’s always backward compatibility with Swift, although the gulf in terms of developer tool maturity, documentation and community is maturing – the general consensus is that Swift isn’t “quite there yet”.
While I’m still quite fresh and naive, I would argue that it’s never going to be quite there until you commit to shipping something in Swift and finding out for yourself. Rather than sticking to what you know, why not try shipping side projects that are less risky to get a feel for the future of Apple.
On the other hand, for those who started off or are more comfortable with Swift, getting experience on the Objective-C side would be an invaluable experience in terms of understanding the concerns, objections and challenges of maintaining “legacy” Objective-C based iOS projects.
What are your thoughts? Where would you bet your precious time on now that Swift is steadily maturing?