I’m writing this just weeks after returning from sunny San Francisco. My first time at WWDC (Worldwide Developers Conference) and first time in the USA. San Francisco is truly a beautiful city; I had some of the best coffee at Pier 1 and Blue Bottle coffee (yes, it’s controversial I know). The five day Apple centric conference was a heady mix of pizzazz and snippets of information. There was a lot of waiting in line, like this times about 35! I guess it’s hard to herd around 5,000 people into four different auditoriums.
Waiting in line at WWDC
The general feel I got from the content of the conference was that Apple is consolidating and catching up. Though there were no big tech announcements, all the individual announcements added to be somewhat greater than the parts. Some of the highlights for me were XCode 7, Swift 2.0, and Watch OS 2.0.
Xcode 7
The individual things that excited me in Xcode 7 were around the area of code quality assurance:
- Unit testing has got a whole lot cleaner with the @Testable annotation. Gone is the need to expose all the classes and methods as public just to be able to test them. This feature had a very high applause index rating, and rightly so!
- User Interface (UI) testing and recording. The ability to test UI interactions in Xcode is nice. The ability to record the interactions in Xcode is awesome; the recorded steps can be modified and called in tests to build a solid testing regime.
These two things on their own are nice, but they integrate well with the new code coverage and Continuous Integration capabilities in Xcode server to make building rock solid codebases easier.
The new UIStackView is a welcome addition to the toolbox. It allows you to embed subviews and have them laid out by distribution (equally, proportionally), spacing and alignment. This makes it easy to layout complex views. It also allows for much easier maintenance of views as the constraints are all managed by the containing view. This will allow for a way to build components and add to projects.
Swift 2.0
Swift 2.0 has a lot of changes, some of the stand out changes are the @guard annotation allowing to exit early or use unwrapped values. The addition of defer to try / catch makes the language feel more comfortable.
The big surprise was the announcement of the open sourcing of Swift. To make it available on Windows and Linux, awesome. Though this wont happen until September (2015).
With all the incremental changes to the language I feel very comfortable writing solutions in Swift. The rougher edges which cause developer friction are being polished and smoothed. Allowing me to concentrate on creating solutions instead of battling language peculiarities.
WatchOS
The changes for WatchOS are covered comprehensively in Ricky Yim’s excellent blog Just in time: What’s new in Apple Watch. For me, the amount of sessions and depth of content is a clear signal that Apple sees its watch form factor as the next big change. From desktop to laptop to iPhone to iPad to Apple Watch. The real challenge for developers and designers will be to implement useful apps that will deliver consumable information that is easily navigable in this highly constrained environment.
Overall, I really enjoyed my first ever Apple conference. For all of you keen Apple developers out there, try to get into this one, it’s worth it!