The moment Apple announced a brand new programming language alongside a new version of Xcode, Swift has undoubtedly become a buzzword. Not only iOS developers but also Apple fan boys want to know what is so fascinating about Apple’s brand new programming language.
If you look back at last year’s WWDC, Apple focused on design and user experience with the complete overhaul to the iOS interface, but this year Apple focused on developers with the biggest news since the introduction of the iPhone – Swift- a brand new programming language developed by Apple specifically for iOS and Mac app development. When Craig Federighi announced the new language Swift at WWDC, it got the largest cheer out of the audience than any other single feature.
Swift language
Swift, Apple’s brand new programming language, revolutionizes iOS development by blending great ideas invented elsewhere. It supports almost everything developers can do in Objective-C today, plus many of the great features from other modern languages such as tuples, optionals, generics, closures, etc.
At WWDC Federighi announced Apple’s brand new language on stage saying, “We’ve used Objective-C for 20 years, and we love it. But we wondered what we could do without the baggage of C.”
It’s an innovative, object-oriented programming language for iOS and OS X development. As Apple describes it, it’s enjoyable and an interactive experience of writing code with the concise yet expressive syntax.
Swift is powerful, expressive and easy to use, and as its name would suggest, is built to be fast. It uses the same LLVM compiler that Objective-C currently uses, which means that it gives complete freedom to the developers to run Swift, Objective-C, and C code, all in the same program. Also, the code is translated into streamlined native code so that developers can get the most out of latest versions of iPad, iPhone, and Mac. Swift is fully binary compatible with current Objective-C libraries and Apple has tried to make sure that it still works closely with Cocoa frameworks in order to confirm the transition will be as seamless as possible for developers.
The most interesting part is that Apple brings a bunch of new real-time development features at no extra cost. Swift features a Read-Eval-Print-Loop (REPL) to optimize debugging within a program. A script-like environment facilitates developers to evaluate and interact with the app during the development stage. With Playgrounds, developers can see the live feedback of their coding, so the developers can easily test exactly what is going to happen inside an app.
Have a look at Swift’s “Playground” development environment:
Federighi confirms that Swift is far better at handling RC4 encryption compared to Objective-C and Python:
More on Swift’s speed:
Apple states that Swift apps are significantly faster than Objective-C apps, outperforming them by over 93x.
The first thing you will notice is that Swift does things in a quite different way. Unlike Objective-C, it does not compare to Objective-C or C. Swift code almost reads in a quite similar way the Javascript does, and it abandons many of the Objective-C complexities that have become the norm for many out there in the developer community.
Key Features
According to Apple, these are some of the highlights of its brand new language:
Fast and more powerful
As its name would suggest, Swift uses high-performance LLVM compiler that helps developer create the high performance apps. It is built to be fast, and is tuned to get the most out of the latest version of iPhone, iPad, and Mac hardware.
Complete platform
Swift’s compatibility with the Objective-C language and Cocoa/Cocoa Touch frameworks enables developers to inherit the great behaviors and appearances from iPhone and Mac.
Safe by design
Swift eliminates huge categories of bugs, crashes, and security holes. Apple knows how much a small code issue can be catastrophic and thus the company has introduced greater type safety with type inference, restricts direct access to pointers, and automatically manages memory using ARC, facilitating developer to use Swift and create secure, stable software. Other language safety related features include automatic bounds checking to prevent overflows, conditionals break by default, mandatory variables initialization, and elimination of pointers to direct memory by default.
Modern
Apple has worked hard to attract developers and enterprises in droves by facilitating the development of software that works in the Apple ecosystem. Developers will still remain hitched with Apple’s mature ecosystem and app profitability alongside modern language features the platform was previously missing. With an easy to write and read syntax, Swift enables developers to write and debug with less code to maintain.
Interactive
Apple’s new programming language is empowered with Read-Eval-Print-Loop (REPL) interface that brings a whole new interactive experience to code. Developers can interactively experiment with their ideas and see how it works in a script-like environment.
Unified
Swift boasts the best features from the Objective-C and C languages. It has object-oriented features such as protocols, classes, and generics and low-level language primitives such as types, flow control, and operators.
Here are Top 6 Features of Swift That Will Make iOS Developers Happy According to Apple:
- Closures unified with function pointers
- Generics to write flexible, reusable functions
- Tuples and multiple return values
- Fast, short iteration over a range or collection
- Structs that support methods, extensions, protocols
- Functional programming patterns, e.g.: map and filter
What This Means for Users
Anyone reading this who is not an iOS developer may be questioning how this affects them as a user. Well in fact, Apple’s brand new programming language Swift comes with a plethora of features and improvements that make developers’ life a whole lot easier and so do yours. Apple’s improvements to syntax enable developers to spot and relate to a silly issue like a missing semicolons or the bracket in no time that cause annoyance to no end. This means that a developer can solve the issues faster which in turn provides a seamless user experience. Apple has also introduced new powerful tools and methods for writing code for developers, meaning end user will enjoy high performance apps with new features that had been more difficult to implement in the past.
In a nutshell
Swift will be a marked improvement as it allows faster development, meaning iOS developers no longer need to battle with the intricacies of Objective-C and write less boilerplate code. You will be writing fewer brackets, parentheses and semicolons- this means less codes and a faster development.
Apple has helped to advance Objective-C a lot over the past several years, but it’s still tied to C, so there’s only so far they can take it. With Swift, Apple has created that language that can be mobiled and shaped over the time. In fact, they have already made Xcode 6 beta available to download and developers can start submitting apps that use Swift from day 1 of iOS 8′s and Yosemite’s public release.
Yet, there’s so much to learn for developers but the good news is that iOS community is bigger than ever and we’ll all be learning together! It also means that if you ever wanted to get into the iOS development, now is the perfect time. You’ll be starting from page one just like everyone else.
Apple has published a free eBook for its new programming language which makes it much easier to get started with Swift. In addition, there are several WWDC session videos on Swift that you should check out.