Updated: Should I Learn Swift Or Objective-C As A Beginner App Maker?
Updated: May 29 2016.
It’s a hot topic on Quora: Should I learn Objective-C or Swift? Last year I gave an account of Swift’s popularity and a recommendation for beginner app makers. What’s changed since then?
In June 2014 Swift first appeared, a new programming language made by Apple’s Chris Lattner. You can use it to create apps for Apple’s iOS and Mac operating systems. It aims to create an easier programming environment for beginners as well as giving experienced coders better tools for programming. Over the course of 16 months the language has matured and its still rising in popularity. Apple’s not new to designing programming languages, they’ve done so on several occasions since Wozniak’s BASIC.
The big blogs shout that Swift “is it” and is going to change the way we make apps while opinions from in the field say the opposite. Experienced developers say Swift’s giving them features Objective-C never had. Professional freelance developer Chris Hulbert says this:
“Swift was certainly a suprise when they announced it at WWDC not so long ago! However, it is still looking too immature for medium-to-large projects. Issues such as taking minutes to compile medium-sized projects, Xcode relentlessly crashing, runtime bugs, and the many other frustrations you can read about in the Apple dev forums all rule it out for day-to-day use, and as such all i’ve seen is people toe-dipping in the new language by using it for small utility classes or maybe one or two view controllers.”
Supercharge your next app project
Grab the App Toolbox 2017 to learn how to save time building your app
and how to get thousands of app installs in the App Store.
Reportedly, LinkedIn built an entire app in Swift. Although it kinda looks like shiny media coverage, it sure tells: We’re LinkedIn, and we trust this new language Swift for a serious project.
The great networking library for iOS, AFNetworking, has a popular Swift equivalent: Alamofire. In about one year of its existence Alamofire has amassed 14.000 stars, while in five years AFNetworking raked in no more than 21.000.
Swift Or Objective-C?
First, you have to understand why Apple created Swift.
Some say it’s to cut of Android, others say it’s because it was time to replace Objective-C with something new. Apple’s company culture and vision says something else: an obsession with end-to-end design and seamless hardware-software-development integration. After reading Steve Jobs’ biography, you can figure Apple must have fully adopted Jobs’ philosophy: create products that are designed well, even the parts you don’t see, and don’t give people direct access to those parts. iOS is still a closed system, right? No, Apple is telling you what to love!
But where does the Swift vs Objective-C balance stand for beginner app developers? I gave the following advice to Dale Grant, a Quora user, in January 2015, almost a year ago.
Yes, I think Objective-C is better than Swift for making professional apps. But don’t make any decision based on that yet, let me explain.
The Objective-C language gets critiqued a lot because it’s hard to learn as a beginner. Apple manages the transition from Objective-C to Swift by introducing intercompatibility thanks to Objective-C header files in Swift.
Swift is new and young. In the past few Xcode updates, there were major updates to Swift itself. There’s no guarantee your code will keep working in new versions of Xcode, which can be a dealbreaker for beginner coders because they’d run into unnecessary and frustrating bugs all the time. When learning something new, you need to see that it works to stay motivated, not that it breaks for nothing.
What Has Changed Since Last Year?
Let’s look at the facts:
- GitHub hosts over 74.000 code repositories written in Swift.
- The TIOBE index of programming language popularity lists Swift as the 15th most popular language, compared to 18th last year. Moreover, Objective-C dropped from 3rd place to 14th!
- LearnAppMaking’s Pro Course switched to Swift from Objective-C over a year ago, thanks to Swift’s rise in popularity.
- In Redmonks popularity index, Swift made the top 20 most popular languages in June 2015.
Swift is great for learning app development and especially if you want to figure out if making apps is something for you. It is clearly taking over in terms of popularity.
Although many companies still use Objective-C as their main language, Swift is slowly replacing Objective-C as the de facto language for iOS app programming. And with new marketing tools entering the indie app making arena, Swift is a welcome new weapon of choice.
Join 11.000+ app developers and marketers
- Get a weekly curated list of app development tools, articles and resources in your inbox
- 10x your app installs with relevant App Store Optimization and app marketing strategies
- BONUS: Grab a free copy of the App Toolbox 2017 to supercharge your next app project
Comments & Thoughts
On The Blog
Great App Ideas: The X-for-Y
During the LearnAppMaking.com course, I ask students to think of a major competency they have. Like psychology, being a dentist, having a brick and mortar business. This is the X-for-Y Archetype, it's a business they're going to apply a principle to from another business. Are there any X-for-Y ideas you can come up with?
Best Of Quora: Android vs. iOS, Finding A Job, Prototyping And Gazing Into Space (Week 35)
This week's edition, topics include the Android vs. iOS debate, finding a job as a programmer, prototyping, coding clubs and gazing into the void of space.
App Success: Steffi and Jonas and the Problem of Picking Places for Lunch
In my pursuit of compelling stories about successful App Makers, I ran into Steffi and Jonas during my 3-week retreat in Portugal. They are both web developers from Berlin (Germany) and decided to create an app together. What makes them and their app successful?
Question: "How can I use an iPhone app if I don't have an iPhone?"
Great question! How do you work with an iPhone app if you don't have a physical device available?