Apple is offering this week a developer preview of version 3.0 of its Swift programming language, used for iOS and MacOS development and also available for Ubuntu Linux. The language is due for general availability in late 2016.
Preview 1 of version 3.0 implements a long list of features, officially called Swift Evolution Proposals, ranging from API guidelines for the standard library to integration of testing into the Swift Package Manager.
Swift 3 features better translation of Objective-C APIs into Swift, modernization of debugging identifiers and playground literals, and a new model for collections and indices. It also includes the debut of the package manager, which manages distribution of Swift code and is integrated in the language's build system, as well as syntactic cleanups and a simplified type system.
Moved to open source in December 2015, Swift is the successor to Objective-C. It was introduced in June 2014 and has supported development on Apple's MacOS and iOS platforms, as well as Linux. In May, Apple described Swift 3.0 as a major release not source-compatible with Swift 2.2, due to fundamental changes to the language and standard library. However, source compatibility across all platforms is a top goal for future versions.
One developer in the Apple community, however, did not see version 3.0 preview as a major upgrade. "This release is more incremental than major. However, the big news is that this is the first release that has much broader Swift community support as opposed to improvements being purely Apple's agenda," said developer Christopher Allen, principal architect at cryptocurrency specialist Blockstream. "Most of the changes are to improving dealing with legacy Objective-C APIs and names and otherwise attempt to make syntax more consistent across the language."
IBM, which has been contributing to development of Swift as part of the company's mobile enterprise application arrangement with Apple, sees Swift 3.0 as a stepping-stone release. "There are many changes that are being built into Swift that are preparing the language for source compatibility in the future," providing backward compatibility as the language evolves, said John Ponzo, CTO for IBM's MobileFirst initiative. IBM is looking to accommodate Swift on servers and is developing its Kitura framework, for building web and mobile back ends in Swift.