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.
I hope you’ve had a good week. After last weeks excitement of with the release of Swift, this week has been a relatively quiet week around the iOS development community… that’s not to say that there hasn’t been some interesting articles and links though…
This week has seen the first Swift proposal from the community being accepted into the roadmap for Swift 3.0! Congratulations go to @ericasadun with the proposal to remove C-style for-loops from the Swift language. The proposal itself is actually worth a read, if nothing else than to see how well articulated it is.
Whilst we’re on the topic of Open Source Swift, @jesse_squires has taken up the mantle of keeping us up to date with the detailed events of the week with a good summary of the events from the first week of Swift in the wild.
MVC is the core of the Apples programming model for iOS but it does have it’s flaws. In this article, @bohdan_orlov gives us a great run down of the range of iOS architectural patterns at our disposal including MVC, MVP MVVM and VIPER.
Core Data is one of the go-to persistence mechanisms when programming on iOS but for all but simple applications, it often means using it in a multi-threaded environment. When digging around this week, I came across this article from @rc_edwards that discusses some of the design options when using Core Data in these types of environments.
With the arrival of structs in Swift, we now have the option of doing things we were never able to do in Objective-C. In this article, @khanlou takes a look at how to build your model layer completely out of structs.
If’ve you’ve never written concurrent code in iOS you probably should be. Keeping your apps responsive at all times is critical for user engagement and retention. Two of the work-horses of writing concurrent code on iOS is NSOperation and NSOperation Queues and in this article, @hossamghareeb7 gives us a great introduction to both of them along with the dispatch queues on which they are built.
In order to maximize the power of the Swift language, having an understanding of both object oriented programming and functional programming is critical. In this article, @bach4life provides a good overview of the latter with a review of some of the high order functions that are available in Swift
Code signing, the bain of every iOS engineers life, but there may be light at the end of the tunnel. I’ve no idea how he is managing it but this week saw @KrausFx release a code signing guide and yet another new tool, this time focused on removing some of the pain of provisioning in a team environment.
Using CocoaPods in Xcode Playgrounds
CocoaPods has long been the defacto package management tool for iOS developers and even with the arrival of Swifts Package Manager, will likely remain so for some time yet but it wasn’t until I saw this great little tip from @jakemarsh that I realised that you could use them inside playgrounds as well!
Parse Support for WatchOS 2 and tvOS
The team at Parse have been relatively quiet recently, but this week saw them announce two new SDKs that include support for both WatchOS 2 and tvOS. Although the WatchOS 2 SDK seems to be an evolution of the work it did for WatchOS 1, the tvOS SDK is brand new and includes integrated Facebook login and brand new local persistence mechanism.
One of the most useful utilities that came out this week was this Xcode plugin from @merowing_ which modifies the Xcode console to provide clickable links to the class that logged the message. A real bonus on the productivity front. Installation is via Alcatraz