Along with opening up Touch ID, Apple also released iOS 8 SDK, announced a new programming language called Swift and introduced several new developer features at its ongoing annual Worldwide Developer Conference (WWDC 2014), held at Moscone Center, San Francisco.
Here is a quick lowdown of all the new developer features announced at the conference:
- App Extensions: iOS 8 apps will finally be able to talk to each other through extensions and provide their services to other apps. While the apps will still be sandboxed, developers will be able to enable “extensions” to which other apps can reach out. For instance, users will now able to use Pinterest sharing within the Safari’s share sheet or create a document on Pages which can be saved onto Dropbox or Box. This is somewhat similar to what Android offers through its share intent functionality.
Apple is also introducing third party widgets in the notification center, allowing users to add widgets from compatible apps to the Today view of the notification center.
- App Beta Testing platform: Apple has also rolled out a much-requested beta testing platform for apps based on TestFlight, which the company had acquired in February this year. Developers can invite users to beta test their app and get the results right in TestFlight for free. Note that Google had rolled a beta testing and staged rollout feature for Android at Google I/O 2013 last year.
- Developers now have the capabilities to create app bundles, allowing users to buy multiple apps at a discounted price in a single tap.
- App Store improvements: Apple’s App Store also has got several new features: A new explore tab for app discovery, improved App Store search, top trending searches & related searches and continuous scrolling results among others. Developers can also now feature short video previews as part of their app description.
- 3rd party Keyboards: Apple is finally allowing users to install third-party system-wide keyboards. Following this announcement, popular keyboard apps like SwiftKey, Swype and Fleksy have announced that they are already working on an iOS 8 version of their respective apps.
- New Camera APIs are being provided for manual control of exposure, white balance and focus. Apple also released PhotoKit APIs which offers developers the ability to read and write to the photos library and perform non-destructive edits among others.
- Metal: iOS 8 will also feature a new set of 3D graphics APIs called Metal that allows developers to reduce reliance on OpenGL while creating 3D experiences. This is is similar to Mantle APIs that AMD had released for desktop graphics cards. Apple’s senior vice president of software engineering, Craig Federighi said they have been working with gaming engines and mobile platforms like Unity, Crytek, EA and Epic Games for this initiative.
He mentions that EA has used this technology to port the console version of ‘Plants vs Zombies’ onto iOS. Epic games founder Tim Sweeney also previewed a new gaming title called “Zen Garden” which is powered by Unreal Engine 4 and will be available on the App Store for free, once iOS 8 is released.
SpriteKit & SceneKit: Apple has released an improved version of its casual gaming API SpriteKit, adding support for light sources, field forces, per-pixel physics and inverse kinematics. It has also introduced a 3D screen rendering framework called SceneKit which is designed for casual games. It features a integrated physics engine, particle systems and scripted actions.
New Programming Language – Swift
After sticking with Objective-C as the main programming language for about 20 years, Apple has introduced a new programming language called Swift for iOS and OS X. The company claims that it has been designed for its Cocoa and Cocoa Touch frameworks. Swift will use the same LLVM compiler and runtime as Apple’s Objective-C and will co-exist with Objective-C code. It will also be integrated with Apple’s updated Xcode IDE.
To facilitate the transition, Apple has released a Swift language guide on iBookstore along with a guide on migrating Objective-C code to Swift. Federighi also mentioned that developers will be able to submit Swift-based apps to the App Store and Mac App Store when iOS 8 and OS X Yosemite are released.
A beta version of Swift is currently available for iOS and OS X Developer Program members on Apple’s developer website and the final version is expected to be launched this fall.
APIs APIs APIs …
Apple has also released a series of APIs for apps focusing on health, home automation and 3D scene rendering among others. These are:
- HealthKit: This provides the ability for health and fitness apps to communicate with each other. Each app will be able to use specific health information from other apps with user permission, in order to provide a more comprehensive way for users to track and manage their health and fitness. For instance, A physician app like the Mayo Clinic app will be able to use data from a blood pressure app to offer better guidance to the users.
- HomeKit: HomeKit offers the ability for users to control individual or groups of home accessories through their iOS device. It also features Siri integration. For instance, one can tell Siri you are “going to bed” and it would dim the lights, lock your doors, close the garage door and set the thermostat. Federighi said they are working with several home automation partners like Honeywell, Haier, Philips, Broadcom, Withings and Chamberlain among others to create a common protocol for this initiative.
- CloudKit: It is a back-end solution which aims to help developers eliminate the need for writing server code and maintaining servers. The service provides a client-side programming model which lets developers access iCloud authentication, asset storage, database storage, search and notifications among others. The service is currently available for free with limits. It allows developers to go up to one petabyte in assets, 10 terabytes in database storage, five terabyte daily asset transfer and 50 GB daily database transfer.
Overall, Apple claims that iOS 8 will offer 4,000 new APIs. The iOS 8 SDK along with beta version of the operating system is currently available on Apple developer website for registered iOS developers.