Early thoughts on Swift, Apple's new programming language
As the Apple WWDC 2014 Keynote address was winding down, the Code School team gathered around the TV started to trail off into side conversations about all of the new features and APIs. Then Apple captured everyone’s attention again with Swift — Apple’s brand new programming language for writing iOS and OS X apps.
Swift has only been available for a little under 24-hours at this point, but our initial impressions are very positive, and we’re really thrilled reading all of the posts from everyone who is excited to give iOS development another chance after reading about the new dynamic, expressive, and fun syntax. But how does learning Objective-C make sense knowing that a new iOS programming language is around the corner? The answer comes down to the difference between language syntax and the concepts learned working with frameworks.
The syntax of Swift, or the words, symbols, and numbers that you’re writing as you code, is a huge departure from Objective-C. Types are inferred so you don’t have to declare NSString or NSArray before your variables, there’s no separate header and implementation files, square brackets are all but gone, and even semi-colons at the end of each line are unnecessary in Swift. But syntax is only one part of the puzzle of learning to program iOS apps. Another huge part is learning the concepts that you need to string together to produce apps — and fortunately for iOS developers, those concepts that help you design and architect your code have not changed.
One of the unique features of Swift is that it can run alongside Objective-C in the same app. This is great for developers because it means they don’t have to completely convert their apps over to Swift all at once, but instead can incrementally re-write their code as they become more comfortable with the language. So the time you may have spent learning Objective-C here at Code School, and any time you plan on spending in our iOS path, has been and will be time well spent.
In the future, Swift could completely replace Objective-C if it lives up to its potential. However, if your goal is to become an iOS developer and learn to make iOS apps, then you still want to invest the time to learn Objective-C now so you’ll be ready to take those concepts over to Swift when a transitional period occurs. Our Try iOS, iOS Operation: Models, and Core iOS 7 courses help you build a solid foundation of iOS development concepts, and our iOS Operation: MapKit and Exploring Google Maps for iOS courses teach concepts that will apply to any mobile mapping framework.
Details and examples of the Swift language have been made public by Apple, but the only compiler that can run Swift programs right now is in Xcode 6, which is only available as a private developer beta. Our developers and teachers here at Code School will be working with Swift over the coming months and evaluating the best way to share this new language with you when it’s fully released to the public. In the meantime, don’t throw on the iOS brakes just yet! Have fun, keep learning, and let us know if you’re interested in learning more about Swift, here.