Swift Around the Web
Swift 2.0: Control Flow and Error Handling
@austinzheng explains the new Swift 2 control flow and exception-style error handling with great examples.
Keep your Swift Exceptions clean, easy to update and future proof
A step-by-step detailed example of using Swift 2's error handling. I LOVE the extension to the custom error type in the end that conforms to the CustomStringConvertible protocol for the error description - so clean!
Swift Guard Statement - Why you should use it
Like @ecerney, I was initially confused when I saw the new guard feature in Swift 2. It's not like something I've seen before! But, also like @ecerney, I very soon saw the value in it. Great summary of what guard is and why it's now one of the most exciting feature of Swift!
Coding
Top 10 things you need to know from WWDC 2015 as an iOS developer
Xcode 7, Stack Views, Testing, Mutlitasking, Search, and much much more!!!!
The Power of UIStackView
Frustration and pain be gone! Of course I haven't tried UIStackView's yet, but if it's like the layout in WatchKit (which is what I've heard it compared to most), I'm definitely excited!! My favorite part is the ability to hide / show an element and have everything resize correctly.
Apple News
WWDC 2015 Videos
All the WWDC 2015 session videos are already available! No login required. You can also download them via the WWDC Downloader. If you have time to watch only one video, I recommend Protocol-Oriented Programming in Swift - in which @DaveAbrahams, the Professor of Blowing-Your-Mind, lives up to his title and more!
Swift 2.0
Summary of the latest and greatest in Swift 2.0 from the Swift team. Make sure to head over to the official Swift Overview after reading this for more details on the features and 🍌s.
Design
What's New in WWDC '15: Designer Edition
"Even though this year’s WWDC theme is stability and performance, there are a number of changes and new features that are likely to be of interest to you as a software designer."
Forward to your designer!
Other Cool Stuff
♫ WWDC Keynote 2015: Went On Too Long
Summary of the WWDC15 keynote in a song! Sing a long to the lyrics in the video description 🎤
In Case You Missed It
Swift 2 Pattern Matching: Unwrapping Multiple Optionals
With Swift 1.2, we got the really nice shorthand syntax for unwrapping multiple optionals in one simple if let statement. However, you might still encounter a situation where you do actually have to handle the different combinations of existing / missing optional values...
Swift 2: Test Driving the Error Handling
I’d admit it, when Chris Lattner explained the new Swift 2 error handling code on Tuesday at WWDC, I was a bit overwhelmed. It looked pretty alien, Java-like, and unnecessarily complex. I felt like I’d have to sit down for a while to try to understand it. Turns out my worries were unwarranted!
Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!
One of the biggest challenges to Unit Testing in Swift was the initial setup. Before Swift 2, you either had to make everything public or remember to add all your files to the testing target (more on this in my blog post on testing in Swift here). But as of yesterday, this annoying testing issue has been elegantly solved!
Sent from my iPhone
Videos
UIKonf 2015 - iOS API Design: Swift Patterns
I recommend watching all of the UIKonf 2015 videos, but if you only have 30 minutes, I recommend watching @modocache's talk to learn about Parameter Objects and more on Protocol-Oriented Programming in Swift! And of course it features 🍌UIKit!
Functional Voodoo
Functional Programming in Object-Oriented Programming in Functional Programming in Swift
Here is your Monday morning brain bender! For more, also check out:
How I Learned To Think Functionally In Two Years
"Functional programming has this mystique. It’s thought of as dry, difficult and academic. Code examples, conference talks, documentation and introductory tutorials generally do a terrible job of fighting this perception. In my experience the Scala community has not done a good job of making functional programming accessible...
I believe that the Swift community will do better.
I believe that if you are first learning functional programming in the Swift community it will takes you a lot less than two years to get it."
Let's do better!
WATCH
watchOS 2.0 tl;dr
I honestly can't believe how much WatchOS 2 includes! Feels like everything!!! So if you have an Apple Watch app idea, but were limited by the WatchKit API before, that is most likely no longer the case. Enjoy all the learning and building!!!
watchOS 2: How to communicate between devices using Watch Connectivity
One of the most painful things about WatchKit was sharing data between your Watch and iOS App (see my talk on the topic here). In WatchOS 2, this still seems like it's going to be a challenge, but the new WatchKit Connectivity framework looks promising. I'll have to personally look into much more, but this is a great overview to get an idea of what it is and the sharing issues it solves.
WatchKit 2 Hardware Bits: Using the Digital Crown
One of the most exciting things in WatchOS 2 is getting much better access to the Digital Crown. Can't wait to see all the exciting user interactions you'll all build with this!
Podcasts
The Talk Show ✪: Ep. 123, Live From WWDC 2015 With Phil Schiller
Recorded in front of a live audience at Mezzanine in San Francisco, John Gruber is joined by Phil Schiller to discuss the news from WWDC: OS X 10.11 El Capitan, iOS 9, the new native app SDK for Apple Watch, Apple Music, and the 2004 American League Championship series.
WWDC 2015 with Nate Cook
Nate Cook from NSHipster joins Mic and Jake to talk about all the latest news from WWDC 2015!
Swift Code
Swift 2 Libraries:
Playdown - Convert Swift Playgrounds to Markdown
JSONCodable - Hassle-free JSON encoding and decoding in Swift
CommandLine - A pure Swift library for creating command-line interfaces
XcodeServerSDK - Access Xcode Server API with native Swift objects.
watchOS-2-Sampler - Code examples for new features of watchOS 2.
Swift 2 Code Snippets
SerializationExperiment.swift - Serialization Experiment
Reflection - An automatic JSON generator
filter_colors.hs - Filtering arrays of enums (Haskell / Swift 1.2 / Swift 2.0 comparison)
Business
Deep linking & search in iOS 9 will change everything
Agreed! Watching the new search functionality in iOS 9 during the keynote felt like we're on the cusp of the future. I can see new startups popping up already that have very minimal app functionality, and are mainly there as a Search-specific feature. We're getting closer and closer to the world in Her.
Swift Thoughts
Hope you all enjoyed the most exciting week of the year - WWDC15!!! I know I did. My favorite part was randomly bumping into iOS developers in our community ALL THE TIME. Wish we all lived closer together :) It was great meeting everyone!
One thing I realized at this WWDC is how limited my view of Swift was. I was just happily learning and using it for iOS development. The Swift team has a much BIGGER vision, however. They see it as taking over the world and especially education. And they're bringing this vision to life by taking the first HUGE step - SWIFT WILL BE OPEN SOURCE!!!!!!!
Imagine writing server-side and Android code in Swift. Since the open-sourced Swift will be able to run on Linux, that reality is only a few months away! And of course there is much more to come that we haven't even imagined yet. Happy year two of Swift!!!!!