WWDC 2017 – Dev delight

Another WWDC is going strong and I hope all of you are delighted by all new announcements made by Apple. If you haven’t already then you can check out this well summarised – WWDC 2017 Initial Impressions

So, I will not repeat what is already covered on that blog but the idea here is to share our thoughts on all new features and how they will impact on our work as iOS dev.

wwdc 2017

Core ML

With last year’s Siri update it was evident that Apple knows the potential of pushing machine learning computations to end device. With the launch of Core ML, the possibilities that apps can achieve is limitless. Until now if the only way to add computations was to write low-level code & run in Metal (you are extreme & tried this). But now it’s very easy to add any ML model and use directly into the app.

This is where the investment made by Apple to create entirely new Framework Metal (3 years back) really helps. The first use case of Metal was just for graphics rendering to replace another existing framework (like OpenGL) but now it helps in many ways including ML & VR development/Rendering. Also, hardware & software design ownership also helps.


Finally, Apple joined the party. This is very game changing & unlike other platforms you just get rich & easy Apis for visual tracking, scene detection & rendering. That’s it and you don’t have to worry about other things. Unity & UnrealEngine will support all ARKit APIs. This will help as they are a major player in the game development and 3d rendering.

HEVC/ H.265 adoption across devices through iOS 11

I think this is also huge because the impact it’ll have on performance (also on the environment as fewer data to store & transmit). Though production level implementation of HEVC started a few years back, we can consider Apple as early adopters at least for mobile devices.

New capabilities in XCTest

We are very excited about this & I think it’ll help regression debugging very faster. Until now you must setup some other third party & if we want this kind of feature in your CI pipeline. For more please refer to this documentation.

VR development

Although it’s very exciting to work on VR app it’s not that simple as using ARKit. But great job for setting up the framework. Hopefully, I’ll provide a more detailed update on this & ARKit on a separate blog post. Default support for HTC VIVE – low latency direct to display. Default support for Unity & STEAM VR.

Xcode 9

All I can hear around me in the community is praise for new Xcode 9 for speed & new features. Few of them are:

Default XCode build server in Xcode: Now we don’t have to install Sever app to setup Xcode bot. This will be useful if they are using Xcode server for CI or Tests.

We also got new Build system written from scratch in Swift. This is big deal & looking forward to happy building.

Wireless Development: This will make developers life a lot easier. We can now test on multiple simulators. 

New & powerful editor: Many new features. Easy & fast refactoring

File drag & drop in Project Navigator now also moves files on the file system: Our team had really heated discussion recently on should we have a flat structure in the file system or not because many conflicts we were getting lately because of replacing files to another folder. Now with this Xcode feature, we can put our discussions to rest.

Also, we are thinking the possibility to co-locate test flies, this idea I got from Brandon Williams. You can check out the idea here in his blogpost.

Main Thread Checker: To report issues if UI related code running on other thread

Run Parallel Test on simulators: And simulator will not be launched while running test

Other cool announcements & good features:

  • Drag and Drop across the apps
  • PDFKit
  • Making new file system default
  • Visual Debugger
  • XCode integration to GitHub
  • Phased App Releases

That’s it from my side, it’s not well-curated list(only what I feel is major update & what as a dev we are delighted about) so if you think I missed any major feature that you liked more than please feel free to add comments below or Tweet at @przala . Also, share your thoughts on a new major feature like ML & ARKit and what you would like to build in your app with that.

Leave a Reply

Your email address will not be published. Required fields are marked *