What is the Swift programming language, and why should I learn it?
Apple’s purpose-built language works across iOS, macOS, iPadOS and more
If you're an app developer, you've likely got a few favoured programming languages in your toolkit. Statistically speaking, these probably include Java, Python and some variation of C, but there's a strong argument for incorporating the Swift programming language into your arsenal if you haven't already.
Swift, often referred to as “Objective-C, without the C", is an open source programming language developed and maintained by Apple, and it's what the company recommends that developers use when creating apps for its various platforms, be it iOS, macOS or iPadOS.
It's an evolution of the Objective-C language that Apple has been using since co-founder Steve Jobs licensed it decades ago as part of the founding of NeXT, and is built to be a simplified and highly extensible version of Objective-C.
In addition to Objective-C, Swift incorporates aspects of Python, Rust, Ruby and other languages. Many of its features focus on making Swift as easy-to-use as possible; this includes things like improved string support, option types and measures to protect against programming errors like null point dereferencing or integer overflow.
What can I build with Swift?
Somewhat unsurprisingly, and in typical Apple fashion, Swift is compatible only with Apple's own operating systems, so you can't use it to develop software for Android or Windows devices. You can, however, use it to write code for any Apple product, as it works across macOS, tvOS, iPadOS, watchOS and iOS. Linux is the sole exception to this, as Swift does support the popular open source OS kernel.
Swift code is designed to take maximum advantage of Apple's hardware and operating systems and is regularly updated to keep in line with the latest developments in these areas. For apps on any Apple devices, there's really no substitute for the level of functionality it offers.
An example of an app built with Swift is Lyft, with ride-hailing company having completely re-wrote its iOS app using the programming language. While the old codebase consisted of about 75,000 lines of code, the Swift version recreated the same functionality with less than a third of that. Moving to Swift also allowed the app to feature app a new onboarding process; while the old one took more than a month and multiple engineers to implement, the new onboarding with Swift was completed within a week with only one engineer.
Other popular iOS apps built using the Swift programming language include Firefox, LinkedIn, Twitter and WhatsApp.
How to learn Swift programming
Understandably, Apple is keen to get as many people as possible to a point of familiarity with its homebrew language, and it has a series of training resources in order to support this. One such resource is Swift Playgrounds - a free iPad app which helps teach kids the fundamentals of Swift programming through a series of games and challenges.
For complete beginners to the world of programming, this may be a good place to start, but it's probably a little on the simple side for all but the most novice developers. There are e-books and other official Apple resources available for more advanced learners, as well as numerous online courses for learning Swift.
Once you're familiar with Swift, the easiest way to start actually using it to build apps is to download the latest version of Xcode, Apple's IDE for macOS. This includes all the essential tools like a code editor, debugger, testing environments and more, as well as a full version of Swift and all the runtimes you'll need to start constructing apps.
Managing security risk and compliance in a challenging landscape
How key technology partners grow with your organisationDownload now
Evaluate your order-to-cash process
15 recommended metrics to benchmark your O2C operationsDownload now
AI 360: Hold, fold, or double down?
How AI can benefit your businessDownload now
Getting started with Azure Red Hat OpenShift
A developer’s guide to improving application building and deployment capabilitiesDownload now