Users and Analysts have finally got what they wanted this year, as both iOS and OS X are receiving a “Snow Leopard” like update. This will allow developers (including Apple’s) to iron out the rough edges in their apps but still add a sprinkling of new features.
My original reaction to the Keynote was that I found it somewhat underwhelming, but in hindsight after watching the sessions, I’ve come to the conclusion that there are a lot of small and useful improvements that I can’t wait to make use of in my own apps.
I personally didn’t attend WWDC or any of the alternative conferences in San Francisco this year, but found the live streaming of sessions great for keeping up to date. It also increased the level of discussion and sense of community between fellow developers.
From watching the sessions and the keynote, its safe to say the following 3 points are going to be important things to think about going forward:
Swift is the language that you should now be using to develop apps for Apple’s platforms going forward. Personally I am not planning to rewrite any of my apps using Swift, but will be using it for any new apps that I create going forward. Swift 2 is a great update to an already great language (although there is still a long way for the tools to go). I also noticed that when Apple pointed out problems during the sessions they were often written in Objective-C, while the solutions were in Swift. I don’t think that these subtle hints were by accident. Developers may take time to adjust to Swift’s “Protocol Oriented” approach, but I feel it will be worth it it.
Apple have introduced numerous APIs over the last few years such as AutoLayout and Size Classes to support designing your UI for multiple window sizes. I say window sizes, as screen sizes don’t matter anymore and you shouldn’t — can’t — make any assumptions based upon screen sizes, device model or orientation. This unfortunately may mean we see a reduction of bespoke iPad UIs, but maybe this is the price we have to pay for adaptability.
Search and Deep Linking
Apple made a big deal about search in the Keynote and iOS 9 will allow developers to index their data so it appears in search. Apple has also introduced universal links, which allows apps to intercept and handle HTTP(s) URLs for their website with their app. Both of these changes mean that apps will also need to support “Deep Linking”. This will probably end up being one of the more complex features for developers to implement this year, as apps must be able to present linked content regardless of the apps current view hierarchy.
Apple’s common theme at the moment is privacy and this is reflected in iOS 9s API changes. NSURLSession now requires a secure connection by default and apps can no longer use URL Schemes to see what apps are installed on a device. We as developers should take note of this, and continue to keep user’s information secure e.g making sure user data is encrypted, storing passwords using Apple’s Keychain APIs etc.
Those were my major takeaways from the conference and with iOS 9 and OS X 10.11 scheduled to be released in just a few months time, I better start coding …