Apple's new developer resources for iOS 9, OS X El Capitan promise next-level apps and services
At is annual World Wide Developers Conference on Monday, Apple announced a host of new technologies designed to help developers offer improved user experiences over the entire Apple product line.
During WWDC's keynote presentation, a number of new developer resources were highlighted that will soon shape app development and the products they support.
Last year, Apple introduced a new framework called "HomeKit" which was designed to enable a seamless way for smart devices to communicate with each other. Instead of a companion app to access house data in the framework, Apple is relying on its Siri virtual assistant.
Briefly mentioned at WWDC, Siri integration lets users create a "scenes" for HomeKit-enabled appliances. By issuing voice commands through Siri, users are able to control connected devices within the home, including recently-announced HomeKit-compatible hardware from Insteon, Lutron, iHome and Philips Hue lighting.
Only a few third-party manufacturers are showing initial support, perhaps due to Apple's strict requirements for program entry that call for hardware encryption, but SVP of Software Engineering Craig Federighi said consumers will soon see HomeKit-compatible window shades, thermostats, smoke detectors, carbon monoxide sensors and more.
Announced last year, Metal is a base-level framework or iOS that improves graphics performance up to 50 percent. As reported previously, Apple announced Metal for Mac alongside the introduction of OS X 10.11 El Capitan.
Metal combines OpenCL and OpenGL into a single API, allowing developers an extremely flexible and powerful tool for app creation. Further, the framework draws on the same data resources for both graphics and compute operations, while enabling multi-threading. The end result is a highly efficient interface that gets developers as close to GPU — the "metal" — as possible without jumping through programming hoops.
With Metal, games such as Epic's Fortnite, which was demoed during the keynote, can now be developed for Mac with the same high-performance rendering engine that's available on iOS.
In iOS 9, Apple's new Search API links search functionality in Spotlight with in-app content. When developers implement Search, they can make app content available for discovery by Search and Siri.
This "deep-linking" is similar in functionality to the "Now on Tap" feature announced at Google I/O. Search also connects iOS with Web content. Implementing the code necessary for discoverability should take about an hour and requires no prior search programming experience as it is handled with standard object models.
Perhaps the biggest surprise for developers on Monday was the announcement that Swift would enter its 2.0 iteration as an open source programming language.
Swift is the replacement for Objective-C and was introduced last year as a safer, faster and more efficient language for building everything from simple apps to complete operating systems. Version 2.0 brings many developer friendly changes such as:
- Better error handling
- Syntax improvements via new control logic such as do, guard, defer, and repeat statements.
- Faster compiler
- New fix-it statements
- Support for Markdown syntax
- Protocol extensions and default implementations
iOS 9 System & App Support
iOS 8 was infamous for the amount of space required for an install, which prevented users from keeping their devices up to date. As was announced in the keynote, with iOS 9, Apple has significantly reduced the size of the iOS download by over 70 percent. The less storage space required, the more accessible iOS 9 is to users.
Apple has also made significant efforts to optimize app submissions, storage, and downloads. This endeavor is known as App Thinning, and it uses three new technologies: App Slicing, On Demand Resources, and Bitcode.
Current iOS apps require a wide-range of assets to be grouped together in one bundle in order to run on multiple devices. App Slicing will allow the app to only use those assets needed for a particular device configuration. The App Store will select only those assets a user needs for his/her particular device from the entire range of assets in the app bundle.
Sometimes apps have resources that aren't needed all the time. ODR will enable apps to offload things like tutorials onto Apple's servers and then download them when the app actually needs it. This will allow app downloads to be significantly smaller.
Finally, Bitcode is an LLVM intermediate representation of an app's binary. When the app is submitted to the App Store, Bitcode will automatically analyze the code via the App Store to ensure that it is optimized for software updates. This will help to "future proof" apps so they don't have to be resubmitted.
All watchOS apps must use Bitcode and iOS apps will have Bitcode temporarily enabled by default. However, future iOS development will require Bitcode for all app submissions.