|Swift is designed to lower the barrier to ent anyone looking to creates apps for iOS or Mac OS X [image copyright Apple Inc.]|
It's “Objective-C without the baggage of C” according to Apple's senior VP of software engineering Craig Federighi. Apple promises its new programming language, Swift, will make developing apps for OS X and iOS of all kinds, from games to health and fitness, easier and faster than ever. But will Swift live up to its name?
“We don't see a strategic downside from Swift, although as a youthful language, it maintains the risk of global adoption,” says Dr. Chuck Thornbury, CEO and founder of meVisit, an iPhone- and Android-based app that remotely connects patients to their doctors. “Swift is relatively new and maturity is something that has to be considered; it is especially true for those features like mix-and-match and interoperability with old (legacy) code.”
The first thing you have to understand is why this is such a big deal from a developer's perspective. Mac and iPhone-based apps are typically created using an older, legacy programming language called Objective-C that first appeared back in 1983 and has carried over through Apple products since the early days. Being an older language however, Objective-C is arguably not best suited for most modern computing applications. After all, it was created in a time when all the computing power of a smartphone would take up an entire desk.
“Swift has many excellent features that have been learned from other programming languages. It offers a more similar syntax than other leading languages–especially, those that are script-like, dynamic languages,” Thornbury says. “The mix-and-match between Objective-C and Swift may be expected to attract developers to begin engineering in Swift quickly, as they wouldn't be expected to have concerns regarding the legacy code in Objective-C."
Ned Fox, a software engineer with AliveCor, makers of the mobile ECG and accompanying app of the same name, agrees with this assessment. Fox believes that it will be most advantageous for developers to use Objective-C in conjunction with Swift. “In terms of syntax, [Swift has] some pretty big differences that people are using....I'll probably stick with [Objective-C] for a while and use features of Swift,” Fox says. “I don't think it's quite as short a line from Objective-C to Swift.” However he adds that there are new features in Swift that could speed up app development significantly. One such feature is Playground, which allows programmers to test individual snippets of code without having to test the entire app at once.
Swift vs. Android
However there are conflicting reports on the efficacy of Swift. According to an article from InfoWorld [http://www.infoworld.com/t/development-tools/apples-swift-not-so-swift-after-all-244120?source=footer
] Swift performed markedly slower in benchmarks compared to other programming languages, Objective-C included. However Swift has only been released in beta so it is unclear how valuable such benchmarks are at this point, particularly since Swift and Objective-C will have to co-exist for the time being.
“We do not believe that Objective-C will diminish from the landscape in the immediate future, as there remain many committed developers that many not see an immediate value in amending their preferred engineering language unless it is absolutely necessary,” Thornbury says. “For new projects, developers may have a passion for using a new language (Swift). Based on the feedback that we've received, engineers may be expected to gradually migrate from Objective-C to Swift as we revisit the old code...The learning curve should be shorter for those with no prior experience in iOS development.”
The idea of an easier programming language for Apple platforms has to have raised eyebrows with Android developers. It doesn't take a mastermind to see how clearly advantageous it would be for Apple to lock developers into an exclusive programming language for its platforms. A recent article in Fast Company [http://www.fastcolabs.com/3031491/why-apples-new-swift-language-will-kee...
argues that Swift's low barrier to entry and simpler syntax could easily win developers over to Apple's side and keep the ones already there from drifting over into Android-infested waters.
However Android is not likely to easily give up its market share and developers who want to reach the broadest audience would still be best served to develop for both platforms. “Swift appears to be most promising; however, the majority market that Android and other platforms command may act as a firm headwind, against which, it would have to pilot,” Thornbury says. “
“The iPhone has always been a little bit easier to code for,” Fox says. “But Android has been gaining market share in an important population that I don't believe third-party developers will want to ignore. If Google doesn't come out with something similar to Swift I think someone else will.” The AliveCor ECG is compatible with iPhone and Android phones, though the Android version was released much later.
Taking the Next Steps
Apple has already released a free instructional eBook [https://itunes.apple.com/us/book/the-swift-programming-language/id881256329?mt=11
] that gives programmers a tour of Swift and its functionality. While the company has certainly taken a step in the right direction in encouraging future app development it will be the developers themselves that ultimately decide where the market goes. Ultimately, coders want the largest audience possible and will use any tool at their disposal to get it. “Large markets, by their very nature, offer incentives for app developers to provide content. Platform-independent development tools might be expected to attract continued innovation and motivate developers,” Thornbury says.
|Apple demonstrates Swift at the 2014 Apple WWDC.|