The race for app developers to learn Apple's Swift language

A young woman with light brown hair and a denim shirt stares into the distance--or is it actually one of those giant new Mac displays?--dreaming, presumably, of what she could do with Apple's Swift programming language. 

The image is the first thing you see on Apple.com/Swift, a micro-site that launched in October focusing specifically on how app developers can learn more about what has arguably been Apple's most unexpected--but potentially most significant--release in 2014. Apple has been aiming Swift specifically at "advanced" developers, and its mini-site showcases how Getty Images, LinkedIn and other high-profile firms have already used it in their apps. Beyond Apple itself, though, a cottage industry in Swift education has sprung up practically overnight to help developers get to speed as quickly as possible. 

Jameson Quave, a developer based in Austin, Tex.

Quave

"There's been a greatly renewed interest in iOS development from the community. I think what's happening is there is this huge audience of programmers who didn't want to work with Objective-C who now see Swift as a fresh start," says Jameson Quave, a developer based in Austin, Tex. who has created a tutorial for the use of Core Data in Swift. "Without all the baggage attached, Swift gives them a way to see iOS (and Mac) development as an interesting opportunity and so it's driving new people in to our community."

Quave said his tutorial topics are driven by questions he receives on his online forum, on Twitter, e-mail, and by what he thinks are the most common things people will need to do in their apps. 

"A lot of tutorial authors will write a completed app, then go back and write the tutorial. I actually write the tutorial alongside the code," he said. "This allows me to include refactored code, mistakes, and all the things a developer has to deal with in their daily work. I feel it's important to include this stuff so people understand it's normal, and they can see how to resolve these types of problems."

Interest among developers now swirling around Swift

Mobile Makers Academy, which runs iOS development bootcamps in Chicago and San Francisco, almost immediately added Swift to its eight-week courses. 

Don Bora, the firm's co-founder and chief instructor

Bora

According to Don Bora, the firm's co-founder and chief instructor, Swift addresses some issues that have been present in Objective-C for years and were artificially limiting how deep developers could play with things like system architecture and developing some of the more modern software patterns.

"All of a sudden, all of the Apple developers who might have been getting hungry for something to learn had a shot at learning something new on the same platform," he said. "Some barriers of learning a new language revolve around learning a new platform or a new development process.  With Swift, none of that existed."

That being said, Mobile Makers Academy lead instructor Max Howell said Swift has some growing pains to overcome, particularly with its tool chain, that need to be resolved in order for Apple to keep the momentum going. 

"Everyone is hyped, but nobody is really committed to it yet," he said. "We focus on the new parts of Swift, like optionals, functional programming and generics, but the reality is that we focus on making apps. The language is just the cement that you use to stick the bricks of an app together. Swift may be quicker drying than Objective-C, but it's still just cement."

Swift remains somewhat a work in progress

Quave agreed, likening the process to working with Xcode and APIs within Objective C. 

"The main thing I've changed based on community feedback is that I include a lot more pictures," he said. "It's really confusing to say something like 'Okay, now click the squiggly line button third from the right on the second tab in the right-hand window,' but showing a picture of the screen with that button circled makes things flow smoother. This type of thing really shouldn't be what's so challenging, and it isn't… but when people can't figure out the Xcode UI it really throws a wrench in the cogs and can stop them dead in their tracks."

Amsys, which provides a range of mobile app development courses from its headquarters in the U.K., has also added Swift to its curriculum. Richard Mallion, the firm's CTO and an Apple Master IT Trainer, said one of the biggest challenges so far has been that Swift is not exactly "locked down" when it comes to syntax. 

"Every new version of Xcode seems to change something," he said. "Best practices are not well known yet, and also Swift does tend to hide what's going on under the hood."

Amit Bijlani, Swift program creator with Treehouse in Orlando, said Apple is working to address some early bugs, but it still makes teaching the language somewhat difficult for training firms. 

"Most of the challenges lie when building apps with Swift because there are times when it does not play nice with the iOS / OSX SDKs. Developers have to find hacks or workarounds to tried and tested solutions with Objective-C," he said. "There are so many decisions we need to make while producing courses and it has been very challenging to produce courses for a language and tool that is still working to become more stable."

Over time, Mallion said he expects Apple will only make Swift a bigger and bigger part of the iOS development process. 

"Already we have seen some speed advantages and in the future it wouldn't surprise me if some new features are only available in Swift," he said. "It may even be possible for Apple to optimize their hardware for Swift code, as they have complete control over it."