What's new in iOS 9 for developers?
Waiting for upcoming release of iOS 9 is a great time to get into iOS development ins and outs. New Apple's operating system brings better multitasking feature, improved APIs and increased searching capabilities. That's why iOS developers at Cleveroad keep abreast of the latest changes to ensure the iOS apps deliver the best-quality user experience.
Apple has just held the biggest event of the year, where the world finally got to know the release date of Apple's next operating system. iOS 9 will be launched on September, 16. It's been three months already since Apple first introduced iOS 9 at the Worldwide Developers Conference (WWDC), and made its beta versions available to iOS developers. In the run-up to the official release of Apple's newest operating system iOS 9 we decided to highlight some significant features that will influence iOS app development.
Multitasking on the iPad
Under new iOS 9 Apple has significantly improved multitasking experience. iPhone and iPad users have come to multitasking in its traditional meaning: rapid switching between different apps. But iPad users will benefit from the screen size and 2GB RAM of their device, which allows to try out the expected multitasking performance first.
However, it would be incorrect to consider Apple true innovators in this scope. Microsoft was the first who made its step to change traditional model: it showed-off multi-window support on Windows 8 based tablets. Samsung's Pop-up Play feature brought Android picture-in-picture video viewing a few years ago. Still Apple is the first who is implementing multitasking on the system level. iPad users will have opportunity to experience:
- Slide Over feature. It allows to open a new app without leaving the running one. The new app will take one-third of the screen and pause the running app.
- Split View, which enables users to run two applications simultaneously in customly divided parts of the screen. This is true multitasking and it is available only on iPad Air 2 and new iPad Pro for now.
- Picture-in-Picture mode that lets continue playing video in a small window while user switch to another app.
Developer tips. Multitasking enhancements increase the device memory pressure and require deep developer involvement. While developing multitasking-friendly apps, iOS app developers should carefully tune efficient resource usage in order to make user's experience as fluid and responsive as possible. To make a best-of-class iOS 9 app developers should also employ Size Classes and Auto Layout, which provide better performance and makes development process easier.
Deep linking & Search
Search has never been the strongest side of iOS. Things are going to change with new features coming to iOS 9, the most significant and useful are related to Siri and Spotlight. Enhanced search seems to a boon for developers in various ways. Siri is going to be open to all developers with its search API. It will provide deep linking content and a button to Siri search from apps. The Spotlight search has become much smarter and learned to search for information within applications and suggest linked information from even uninstalled apps. Deep linking provides the ability to link any specific section of an app, it ensures structured relations inside the system and allows simplified way to launch and navigate apps.
Developer tips. Do you want to increase engagement of your app and improve user experience? Than make your app content searchable! iOS 9 offers different APIs and technologies to make your content available in the appropriate index. The best solution for developers is to adopt three basic iOS APIs Core Spotlight, NSUserActivity and Web Makeup in your app.
- The NSUserActivity class is aimed to index previously searched information and make it searchable.
- The Core Spotlight framework is designed for apps that have user generated content: documents, pictures, videos, etc.
- Web Markup enriches user search experience and makes your related web content searchable.
To provide users the best experience iOS 9 app developers should apply Universal links, Smart App Banners and Handoff technologies.
iOS 9 offered developers to test App Thinning function. This new feature is going to be appreciated by iPhone and iPad users, who suffer from the lack of space on their devices. App Thinning optimizes the installation of iOS and watchOS apps and enables them to use as low amount of storage space as possible. App Store will send users the customized app packages that include exactly each user needs for his device, leaving the rest. This means faster install, faster launch time, and less space demand.
Developer tips. App thinning is an app optimization feature, which lets iOS developers create apps that occupy less disc space and adopt future updates. Three main mechanisms make it possible:
- App Slicing allows developers to build and deliver variants of the app for different target devices. Each variant includes only needed architecture and resources for specific device.
- On-Demand Resources (ODR) improve first-time launch experience by downloading only a part of an app, for example a few first levels of the game, next levels may be loaded and installed on demand.
- Bitcode is an intermediate app version uploaded to the App Store. And just before the downloading App Store will make the final step of compiling the app for the destination device.
More Developer tools
New iOS 9 SDK includes new APIs to create new categories of apps and features. Improved MapKit, CloudKit, HomeKit, HealthKit will open new possibilities to iOS app developers, therefore to users as well.
Game developers will benefit three whole new frameworks in the iOS 9 developer stack including GameplayKit for creating complex games with realistic character behavior, Model I/O (a 3D model framework) and ReplayKit, which allows players to record and share video content while playing. With these easy-to-use gaming technologies is the best way to build top-quality games.
The programming language Swift, which was first introduced in 2014, got its fair share of improvements. Fast and powerful Swift 2 received syntax improvements and advanced error handling model. Besides, Swift will be released as open source, enabling the whole world developers not only add specific capabilities, but also deepen into language nuances.
All these changes will make an impact on the way how iOS apps are developed. The mentioned techniques and tools enable iOS developers to create successful products, which make Apple brand even more competitive. So, let's welcome the latest round of Apple's updates!