Swift Developments is a hand-curated newsletter containing a weekly selection of the best links, videos, tools and tutorials for people interested in designing and developing their own apps using Swift.
News
Beta Release
It’s not been long since iOS 10 and Xcode 8 was released but this week saw the first beta point-releases being published. Looking at the release notes, there don’t seem to be that many changes from a developer standpoint but if you’re wanting to keep at the absolute bleeding edge, there there for downloading.
apple.com
Design
How Functional Animation Helps Improve UX
In addition to the obvious eye-candy that incorporating animations into your app introduces, animations can also provide subtle design queues to users that help engage users and reduce cognitive load. However, this only happens if your animations have both purpose and function. @101babich imparts some more of his app-design wisdom.
adobe.com
Swift
Handling Dates in Swift 3.0
As it has done with many other APIs such as Core Graphics and GCD, Swift 3.0 also introduces a significant number of changes when it comes to handling dates. @iachievedit provides a rundown of some of the changes.
iachieved.it
What’s In A Collection
One of the more powerful features of the Swift language is the build in support for the handling collections. However, collections are actually pretty complex under the hood. In this, article, @olebegemann explains how they really work.
oleb.net
Async Await
The Result type is a common requirement when working with asynchronous code in Swift, so much so, that many have called for it’s inclusion within Swift’s standard library. However, the Swift team has put this idea on hold, viewing it more as a implementation detail of asynchronous features they may add in future. In this article, @khanlou takes a look at what these asynchronous features may look like and also examines how these features could fill in the gaps of Swift’s current error handling model.
khanlou.com
iOS Development
iOS Versioning
Versioning your app might seem like a simple problem but there’s actually a number of things to watch out for. This article from @heathborders provides some great tips to keep in mind.
twitch.tv
Xcode: A Better Way to Deal with Storyboards
There’s been a number of great improvements in Xcode 8 when it comes to storyboards including the ability to zoom storyboards to any level along with full app previews right there in interface builder. Whether you’re all-in on storyboards or still on the fence, @stan_ostrovskiy has some best practices you should keep in mind.
medium.com
Tools
Checking in 3rd-Party Dependencies
Cocoapods is one of the big three when it comes to 3rd-party package management in the Apple development ecosystem but there has long been a debate about whether you should or shouldn’t check in your apps dependencies into your SCM system. Maybe I’m a control freak but personally I fall on the same side of the fence as @alloy – control is always better.
medium.com
Libraries
Swift Protobuf
It was a bit of a surprise when this one popped up this week. If you’ve never come across Google Protocol Buffers before, they are binary encoding format that allows you to serialise structured data into a compact binary format in a language-neutral, platform-neutral way. As such, protocol buffers provide a more space-efficient alternative to using JSON and this week Apple released two new repos which provide both a runtime library and associated tooling for building Swift code to serialize and de-serialize data from this format.
github.com
Vapor 1.0
Server-side Swift frameworks have come a long way since Swift was open sourced and this week saw one of the most popular frameworks, @codevapor, reaching version 1.0. It’s definitely on my list of frameworks to play around with when I get some time.
github.com
Videos
Pushing the Envelope with iOS 10 Notifications
iOS 10 has introduced some major changes when it comes to its notification APIs, affecting both local and push notification. In this video, @designatednerd provides an overview of these new changes, some examples of what you can achieve with the new changes along with some tips for a smooth transition.
realm.io
Using Monads and Other Functional Paradigms in Practice
Monads. They’re one of those fancy buzz-words of the functional programming world that help in writing more composable, declarative code. However, if you’re still fighting your way up the functional programming learning curve and your still trying to wrap your head around all these new terms, this talk from @raheel might be the one for you.
realm.io
Other
Good Practices To Become a Great iOS Developer
If you’re just starting out as an iOS developer, understanding and utilising the current best practices are an important aspect of your journey from beginner to expert. @PabloLive provides a few tips to head you in the right direction.
medium.com
Apple, Please Bring Back the Mac Pro
I’ve still got a cheese-grater under my desk as my main development machine. With dual quad-core’s Xeon’s, 16GB of RAM and dual SSD’s it’s still the most powerful machine I own even taking into account my retina MBP. However, with the arrival of Sierra this machine is no longer supported and with Apple’s focus whole-heartedly on it’s mobile offerings, this article from @HuntHenning pretty much summed up my current view of the world. Fingers crossed that October will bring some good news.
medium.com