Swift 3.1 is out, and it should be source-compatible for a change 😈. Some highlighted features and improvements are failable numeric conversions, additions to the
Sequence protocol, improvements to extensions and support for nested generics. The easiest way to take advantage of Swift 3.1 is to get the new Xcode 8.3 and pray no new Xcode bugs have been introduced 😏.
What’s New in Swift 3.1?
Cosmin Pupaza invites us to a detailed tour of Swift 3.1's new features and improvements. There isn't too much there, and for once, that's genuinely A Good Thing. 3.1 promises to be source-compatible. None of your code should break, except for things that shouldn't have been valid in the first place (compiler bugs). Note that source-compatibility doesn't equal binary compatibility. If your project has binary sub-dependencies, they will have to be (re)built using the same compiler version.
Swift Talk: Comparing RxSwift and ReactiveSwift
RxSwift has been gaining popularity of late. Its similarity to its older cousin ReactiveCocoa is striking, but are they really so much alike? Adam Sharp digs up a few poignant diffs to illustrate the similarities, and highlights the key difference between RxSwift and ReactiveCocoa.
Type Composition Syntax in Swift
Alex Kent remarks how you can apparently use the
& symbol to compose generic types in Swift 😱.
Why You Shouldn’t Use Default Implementations in Protocols
Default function implementations in protocol extensions are truly powerful, but with great power comes great responsibility. Natasha The Robot discusses why you shouldn't always resort to them.
Nuts & Bolts
George Kaimakas put together a collection of ReactiveSwift extensions for Alamofire. Awesome!
IGListKit Tutorial: Better UICollectionViews
This is an older tutorial from Ray Wenderlich by Ryan Nystrom. IGListKit is an open-source library from Instagram which turns
UICollectionViews into full-fledged table views, but better.
I wrote a programming language. Here’s how you can, too.
Interesting piece by William W. Wold on the basic mechanics of writing a programming language. Very cool.