Apple Opens New Swift Blog, Announces Xcode 6 Beta 3 for iOS Development
Friday, July 18, 2014
As Apple moves forward with the refinement of the new Swift programming language for Cocoa and Cocoa Touch, which works side-by-side with Objective-C, it has launched a new Swift specific blog.
In Apples words, “This new blog will bring you a behind-the-scenes look into the design of the Swift language by the engineers who created it, in addition to the latest news and hints to turn you into a productive Swift programmer.”
As we reported during WWDC, Apple has published a “behemoth” Swift overview featuring over 500 pages that provide: a tour of the language; detailed guide delving into each language feature; and a formal reference for the language. Now that’s a lot of reading and the new blog will provide an informal way to keep up with the changes in the programming language. You’ll also find links to presentations, documentation, and sample code.
Xcode 6 beta 3
This week, Xcode 6 beta 3 was released which offers new features, syntax enhancements, and behavioral refinements. Highlights of the release include:
- Array has been completely redesigned to have full value semantics to match the behavior of Dictionary and String. Now a let array is completely immutable, and a var array is completely mutable.
- Syntax “sugar” for Array and Dictionary has changed. Arrays are declared using [Int] as short hand for Array
, instead of Int. Similarly, Dictionary uses [Key: Value] for Dictionary .
- The half-open range operator has been changed from .. to ..< to make it more clear alongside the ... operator for closed ranges.
You can read all about these and other changes in the complete release notes for Xcode 6 beta 3.
As expected, Apple had received a number of questions on compatibility for Swift. They have addressed those questions with the following blog posting:
Simply put, if you write a Swift app today and submit it to the App Store this Fall when iOS 8 and OS X Yosemite are released, you can trust that your app will work well into the future. In fact, you can target back to OS X Mavericks or iOS 7 with that same app. This is possible because Xcode embeds a small Swift runtime library within your app's bundle. Because the library is embedded, your app uses a consistent version of Swift that runs on past, present, and future OS releases.
While your app's runtime compatibility is ensured, the Swift language itself will continue to evolve, and the binary interface will also change. To be safe, all components of your app should be built with the same version of Xcode and the Swift compiler to ensure that they work together.
This means that frameworks need to be managed carefully. For instance, if your project uses frameworks to share code with an embedded extension, you will want to build the frameworks, app, and extensions together. It would be dangerous to rely upon binary frameworks that use Swift — especially from third parties. As Swift changes, those frameworks will be incompatible with the rest of your app. When the binary interface stabilizes in a year or two, the Swift runtime will become part of the host OS and this limitation will no longer exist.
Swift is ready to use today, in brand new apps or alongside your proven Objective-C code. We have big plans for the Swift language, including improvements to syntax, and powerful new features. And as Swift evolves, we will provide tools in Xcode to help you migrate your source code forward.
Xcode 6 beta is free to registered Apple developers to check out the blog or to download the Xcode 6 beta go to the link below.
Read more: https://developer.apple.com/swift/blog/
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more