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.”
Do you have more questions than just Swift vs. Objective-C?
Get exclusive access to our free step-by-step “Get Started With Your App Idea” guide and set yourself up for App Store success! Moreover, you get curated iOS app articles and resources right in your inbox. Smart app makers stay up-to-date on Swift development, growth hacking and App Store Optimization. Trusted by 11.000+ app developers and marketers. Sent out weekly.
Yes, Sign Me Up!
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
- Every Monday: get curated app marketing news, resources, tools and goodies in your inbox
- Grow your app's userbase with the latest App Store Optimization and app marketing strategies
- FREE: Get the free step-by-step Get Started With Your App Idea guide to set yourself up for App Store success!
Comments & Thoughts
On The Blog
Guide: How To Migrate Your Parse App To Parse Server With Heroku And mLab
Oh no! Parse is shutting down it's Backend-as-a-Service. What now? Read on to find out how you can migrate your iOS app from Parse to Parse Server, and learn a ton about back-end services.
How to Make an iOS App for iPhone with Xcode
Making an iOS app for iPhone or iPad isn’t hard, but there’s quite a few tools involved. Xcode, for instance, is the program that’s used to code apps and make their layouts. The iPhone Simulator can be used to view and test your app. To develop your own apps, you don’t start with learning how to code. You start with the end in mind: what do I want to make and what do I need to do that?