Software development

iOS 8

Topics
iOS, mobile

This Monday at the Worldwide Developers' Conference (WWDC) Apple introduced the latest version of its mobile operating system, iOS 8. Last year's update already gave us a significant visual refresh and a new design language, so the appearance of the OS is pretty much the same this year. Due to this, the new update might feel insignificant in comparison, but don't be fooled: this year the focus was clearly more on developers.

There were no sweat stains visible in Craig Federighi's armpits, and he wasn't pacing manically around the stage shouting “developers” over and over again, but regardless of this oversight it was clear that the Apple executives on stage during the conference keynote were excited to show off what they had in store for us.

According to Apple, the iOS 8 SDK introduces “over 4000 new APIs”. This is a big number, but the definition of what “an API” is might not be entirely clear (for example, is a new enumeration value a “new API?”). So let's disregard this marketing language and resolve this like an engineer:

$ links -dump https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS80APIDiffs/index.html | tr -d ' \t\n\r\f' > ios8.apidiffs
$ links -dump https://developer.apple.com/library/IOS/releasenotes/General/iOS70APIDiffs/index.html | tr -d ' \t\n\r\f' > ios7.apidiffs
$ links -dump https://developer.apple.com/library/IOS/releasenotes/General/iOS60APIDiffs/index.html | tr -d ' \t\n\r\f' > ios6.apidiffs
$ links -dump https://developer.apple.com/LIBRARY/IOS/releasenotes/General/iOS50APIDiff/index.html | tr -d ' \t\n\r\f' > ios5.apidiffs
$ links -dump https://developer.apple.com/LIBRARY/ios/releasenotes/General/iPhone40APIDiffs/index.html | tr -d ' \t\n\r\f' > ios4.apidiffs
$ links -dump https://developer.apple.com/LIBRARY/ios/releasenotes/General/iPhone30APIDiffs/index.html | tr -d ' \t\n\r\f' > ios3.apidiffs
$ ls -l *.apidiffs | awk '{print $9, $5}'
ios3.apidiffs 90021
ios4.apidiffs 220120
ios5.apidiffs 199086
ios6.apidiffs 144724
ios7.apidiffs 390201
ios8.apidiffs 1272420

Here we're using the links command-line web browser to dump into files the text of the “API diff” documents for all the major iOS releases. After removing all whitespace using the tr command we can compare the differences in the file sizes, and notice how the iOS 8 API diff is clearly the largest by far. The scientific merits of this method may be… well, let's say “open for debate,” but it seems safe to say that for developers, this is a big update.

My son is impressed by the size of the API diff

Some new API frameworks, like App Extensions, Touch ID Authentication, Health Kit, Home Kit, and Handoff open up possibilities for completely new services, as well as new, useful features in existing apps. We also expect that the other additions and improvements, like the graphics and audio APIs (Metal, Scene Kit, Sprite Kit, AV Audio Engine, …) the iCloud APIs, Core Image, etc. make it much easier to implement features that would have required a lot of “manual plumbing” in the past.

The new Swift programming language along with the graphical REPL tools (“playgrounds”) in the Xcode development environment are meant to make prototyping much faster and more effortless than before. The unit testing tools have also been improved, and new tools have been introduced for performance testing — it's great to see Apple paying some attention to QA as well.

We at Futurice are excited to dive into the new iOS and see what opportunities it presents to us and our clients. Expect to see posts on our thoughts on some of these topics throughout the summer!

Lastly, our delegate at WWDC, Martin Richter from our Berlin office, sends his greetings:

Greetings from WWDC in sunny San Francisco! Apple truly made 2014 the "Year of the iOS Developer", releasing around 4000 new APIs and even a new programming language. That is good news for consumers and businesses too, who can expect a wealth of groundbreaking apps and services in the months and years to come. Futurice is proud to be at the spearhead in these exciting times!​
Greetings from WWDC in sunny San Francisco! Apple truly made 2014 the "Year of the iOS Developer", releasing around 4000 new APIs and even a new programming language. That is good news for consumers and businesses too, who can expect a wealth of groundbreaking apps and services in the months and years to come. Futurice is proud to be at the spearhead in these exciting times!​