Cocoa UI Preservation Y'all
MacMac OS X Lion introduced sudden termination, an opt-in feature for Cocoa apps that allows the system to terminate apps that aren’t in use...
Editor’s note: We have since published the first edition of our Swift programming guide, currently an Amazon best seller. Our iOS and Cocoa bootcamps have also been updated to include Swift programming.
I have a knack for attending WWDC on years that are especially great for developers. Apple introduced blocks in 2009, ARC in 2011, and now in 2014, the new Swift programming language. Each of these technologies have dramatically changed the way that we write software for Apple platforms. Swift is the most momentous of all.
For Big Nerd Ranch, Swift is huge news. Being nerds, we love new technology like this, but it also means that we have a lot of work to do! Not unlike you, we watch WWDC carefully to stay on top of our app development work for our clients, but we’re also dedicated to keeping our courses up to date. A new language is a big deal.
After the keynote, it was time for lunch: sandwiches and ethernet awaited, where we could download the Xcode 6 beta and Apple’s Swift book. We immediately set to work on better understanding this new language. Interestingly, I found that we all approached this somewhat differently: some of us began poring over the book; I started at the other end and began porting exercises from the Cocoa book to Swift.
Programming in Swift has largely been strangely comfortable, punctuated by moments of sheer bafflement, followed by a little study in the book and finally getting back on track. The comfort comes from being able to use the familiar Cocoa/Cocoa Touch APIs, a great advantage to experienced developers. The bafflement is a natural consequence of such a new, rich language. I hesitate to make the comparison, but Swift’s appearance is superficially reminiscent of JavaScript—but you will quickly realize that it is significantly more powerful and very carefully thought out.
One of the more exciting features that Swift enables is the playground with its timeline assistant, deeply reminiscent of the ideas former Apple designer Bret Victor illustrated in his talk, Inventing on Principle. Like Bret’s ideas, Swift’s playground provides a tight feedback loop and encourages experimentation. As a co-author of our Cocoa Programming for Mac OS X, my head is swimming with possibilities of using playgrounds in the book and in our bootcamps as a learning tool. Beginners will get a lot out of streamlining the run-check-fix cycle.
We’re working right now on preparing our bootcamps for Swift. In fact, starting next week, we’ll be teaching an introduction to Swift in all of our iOS and Cocoa bootcamps. In our courses, we teach a mixture of language, frameworks and design patterns/best practices. The frameworks and best practices haven’t changed that much, so you’ll find that just as valuable as they’ve always been, but by giving you a head start on Swift, you’ll be prepared for the language shift when Swift, Xcode 6, Yosemite and iOS 8 are released.
Editor’s note: Adam will be teaching our Cocoa I class, with the Swift introduction, next month.
Mac OS X Lion introduced sudden termination, an opt-in feature for Cocoa apps that allows the system to terminate apps that aren’t in use...
Update: In the time since this blog post was published, the compiler behavior demonstrated has been remedied in the version of clang accompanying Xcode...