What does Apple's Swift language mean for iOS development?

Amid the flurry of updates and innovations Apple debuted at the Worldwide Developers Conference was Swift, a new programming language aimed at simplifying iOS design. At the WWDC, held in San Francisco over the first week of June, Apple focused on strengthening the back-end programming strategies of iOS and OS X, especially in the area of cross-platform compatibility. The arrival of Swift signals changes for Objective-C, currently the dominant OS programming language, as well as a transitional period for native Apple developers and system-agnostic programmers.

The language is being billed as "Objective-C without the baggage of C" by Craig Federighi, Apple senior vice president of software engineering. SD Times contributor Rob Marvin reported that closures, generics, multiple return types, name faces and type inferences are all included in the Swift language. It was designed with Apple's Xcode developmental tool, so it uses the same runtime processes as Objective-C and will remain interoperable with the Objective-C and C code that it may eventually supplant. Another feature, Playground, offers developers the ability to code alongside a visual tool that displays real-time changes to the app. A functional map platform also applies element-wide closures.

Apple's new SDK
Accompanying the Swift release is a new software development kit, which Tim Cook, Apple chief executive officer, stated was the most important developer release since Apple debuted the App Store, Marvin reported. Contained in the SDK is extensibility for app system and services, which facilitates enhanced interoperability with the slew of extensions, as well as 4,000 new application programming interfaces.

"The extensibility also extends to third-party apps defining widgets that appear in the notification center, and a new system-wide third-party keyboard extension," Marvin wrote. "Developers can also now create app bundles and app previews for users, and a new service called TestFlight allows developers to invite users to free private beta testing of their apps."

What does Swift mean for iPhone development?
Swift's launch is certainly the most game-changing development for Apple programming since OS X appeared. Objective-C has remained the steadfast language of choice for all iPhone and iPad development, but many have argued that it's time for a shift to something with a more modern functionality. The Verge contributor Ben Popper, who called Swift "a boon for young coders," wrote that Swift aims to combine elements of languages such as JavaScript and Python. Alex Chung, founder of an iOS startup, voiced his support for the development.

"These are just more modern, colloquial languages that more developers today understand," Chung said, according to Popper. "They are easier to learn, and things don't break as easily in them."

Popper wrote that "live coding" - the side-by-side, simultaneous visual of writing code and seeing its results - will likely be the most disruptive change for programmers. It could shatter the traditional model of building code and only glimpsing the results once the long process is completed. Now, glitches and other outliers could be repaired in real time, significantly decreasing the software development life cycle and allowing developers to stretch their creativity.

It could also lower the bar to iPhone development, as well as make it easier for programmers to create apps that have cross-platform functionality. This will be especially useful as more end users transition to multi-device environments, and expect apps to process data and provide features seamlessly whether the user is on an iPad, iPhone or Mac laptop. With fewer limitations for development, programmers can better use the tools they already have at their disposal.

"[Swift] does stand to take a lot of the busy work away from the developers making the apps we use every day - and if those devs are able to become more creative and efficient, Swift might have the biggest impact of all," Popper wrote.


GrapeCity Developer Tools
comments powered by Disqus