Categories

WWDC Wrap-Up: Highlights, Tips and Takeaways Via Chaotic Moon’s iOS team

17 Jun 2015
WWDC

In case you were living under a rock, we feel the need to inform you that last week was WWDC. (Actually, if you were a developer, you probably still would’ve engineered some way to keep track of the action whilst under said rock.)

We already wrote a brief takeaway on the new tech announced at WWDC, and sites like engadget and Wired bombarded our news feeds and social media streams with information, breakdowns and analyses.

So, in keeping with the fact that WWDC is soooo hot right now, we’ve decided to write a clear, concise outline of the conference from a developer’s perspective, courtesy of Senior iOS Architect Jason Job and the Chaotic Moon iOS team. Think brief highlights that everyone should note, tidbits of valuable advice, important sessions for designers regarding updates that affect how apps for iOS should be designed, and a list of recommended sessions for other developers. While it’s by no means an exhaustive list, we highly recommend all iOS devs to check out as many of the sessions as they can to get up to speed on the new features, Swift language updates and tool improvements. Consider it a glimpse into the world of Chaotic Moon and brief notes from some of our brightest minds…

(Oh, and you can watch all WWDC sessions here.)

 

iOS 9:

  • -Increased use of autolayout and size classes in order to be able to support “slide over” and the new app multitasking for iPad (though we’d say this is absolutely mandatory in apps going forward; there’s no reason to stay stuck in pixel perfect land)

  •            -You can opt out of “slide over” by declaring app as UIFullscreen=YES in Info.plist

  • -Search APIs: Third-party apps now can participate in the OS search mechanism so that users can search for content in that app and deep link into the app from a search result

  • -SFSafariViewController:  Full Safari UI from an in-app web view

  • On-Demand Resources

  • -Deprecation of support for HTTP; Support for only HTTPS with TLS 1.2+; Possible to opt out altogether, or opt out on

  • -Picture-in-picture support for video playback

 

OS X 10.11:

  • -Metal-backed animations (no more OpenGL)

 

Xcode/Tools:

  • -Support for Storyboard References, refactoring out sections of a Storyboard into a separate storyboard file

  • -Context Menu: Hold down shift and right click on a view in a storyboard and see all underlying views

  • -App Thinning: Tagging assets in groups and coding on where those assets will be needed ahead a time, and also saying when they aren’t needed (useful for decreasing the download size of universal apps, and also happens “automagically:

  • -UI Unit Testing including “recording” a UI session and automating that test

 

Swift:

  • -Open sourced

  • -Use the new Whole Module Optimization option for big performance increases in your binaries (due to increased compile time you would want to only enable this for builds configured to be distributed to the client, QA or the AppStore)

  • -Error handling added; error types and using try/catch; no longer just using NSError (NSError does conform to Swift Error Types)

  • -Availability was added; #available blocks were added to safely check for iOS version availability; compiler now throws an error if api is not available for your current targeted iOS version

  • -If you have a class that won’t be subclassed, always use the “final” keyword before your class definition to reap large performance benefits (final will be inferred on internal declarations if using Whole Module Optimization)

  • -Several language enhancements that make code less verbose and complex in terms of indentation, repeated logic, return logic, etc.; introduced guard and defer constructs to help with this

 

Recommended Sessions for Designers:

These all have important information…

Apple Design Awards:

General info on what Apple looks for in apps

Designing for Future Hardware:

Good tips on prototyping ideas

Platform State of the Union:

Near the beginning is a section on size classes, auto layout and multitasking

What’s New in CocoaTouch:

Near the beginning is a section on size classes, auto layout and multitasking

Designing For Apple Watch:

Crucial info on how Apple wants devs to design for Apple Watch

Introducing the New System Fonts:

Important info on the new system fonts

Recommended Sessions for Developers:

There are tons of other great sessions, but here are a few recommended by your fellow developers…