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. For many (which includes me), its been a week of getting back into the swing of things and blowing away the indulgences of Christmas. Despite this, this week has also seen a number of great articles being published including some details of the next Swift release and some follow-ups for some of the links I included in last weeks newsletter. So without further a do, let’s dive in…
So it looks like we now have some details about both the process and timescales for the next upcoming release of Swift 2.2. This will be the first official release of Swift since it has been open sourced and will therefore be the first release containing community contributions. At this point any new changes shouldn’t be that disruptive but it’s probably worth re-compiling your code with the new version just to check. Anyway, according to the plan the new release candidate branch for Swift 2.2 will be created tomorrow (January 13th) and although there isn’t currently a planned release date for 2.2 but according to the plan it should be somewhere between March and May.
Following on from the article I included in last weeks newsletter, this article from @BenRiceM recounts the circumstances and experiences of his camera app Obscura and how it was featured on the app store. In this perfect storm, Ben also includes some valuable lessons about how important testing is, as well as how risky pushing major updates to an app is immediately before Christmas.
As a follow-on from the article above, we also have this article from @parrots. In it he focuses much more on the monetary side of Ben’s launch and hightlights the importance that the correct pricing model can have, something that Ben was obviously experimenting with in v2.0 of Obscura.
Animation can play a key role in the experiences your users have when using your apps. In this article, @fiorine gives us a great overview of the different animation techniques we can use to both orient and delight our users. Definitely worth reading.
Minimising the dependencies between view controllers on iOS has always a little tricky. In this article, though@merowing_ introduces us to FlowControllers, simple objects that can be used to manage different parts of our app and coordinate the flow between ViewControllers. If you’re looking to enhance your iOS architectural design knowledge, this is a must read.
We all have view controllers that do to much and that slowly drift towards tangled messes that we dare not touch. In this article, @ctardatakes another look at the problem of massive view controllers, working through an example with UICollectionView and the things we can do to split out the different responsibilities.
Delegate vs Observer: It’s All Messaging
In this short article, @ambrstr she cuts to the chase and looks at how property observers can be used to provide a simple communication mechanism from one type to another.
TCP Sockets with Swift on Linux
We’re going to kick off our code section this week with a couple of articles on networking in Swift. In this one, @iachievedit takes us back to basics with a look at how we can use
Testing network connections can sometimes be tricky. Normally it’s done through the use of the NSURLProtocol and third-party libraries. In this article though, @dasdom takes a look at an alternative approach using Swift protocols and creation of a mock NSURLSession class to try and achieve the same effect in fewer lines of code.
With the release of Swift as an open source project, we now get much greater visibility of what is going on behind the scenes in this elegant and powerful language. In this article, @aciidb0mb3r dives into the detail of Swift arrays and looks at how different building blocks are brought together to deliver the power and simplicity we use on a daily basis.
Introduced in iOS 8, Metal is a framework from Apple that allows developers to perform graphics rendering and parallel computation directly on the GPU. In this article @geppyp compares and contrasts the functionality of this new framework with the previous incumbent OpenGL and shows us how to setup your own projects to make use of this powerful framework.
To close out our code articles this week, we have this article from @uraimo in which he gives us a number of Swift one liners that you can incorporate into your Swift code. I’m not sure it’ll enhance your dinner party conversation but there are definitely some useful code snippets in here to keep in mind.
If you didn’t catch it, I published this post earlier in the week. It’s one for you if you’re just getting started with Swift and takes a detailed dive into how expressions are evaluated and how precedence and associativity work in Swift. The article also looks at the wide range of operators that we have at our disposal in Swift, something that all of us should know.
If you’re ever worked in a team of developers you’ll already know how important commit messages are. There is definitely an art to writing them and I think if you’re honest, you can probably think of commit messages that you’re not particularly proud of (I certainly can). Anyway, in this article, @cbeams gives us some good pointers in the style to adopt and as well as the information that should be included with your commit messages. I’ll certainly be taking on board some of his suggestions in my future efforts.
If you’re just getting started with Swift development, you may not yet have tackled creating a Swift framework of your own. In this article @jakecraige helps you take your first steps down that path with a step by step tutorial of how to setup your framework, add Carthage and Cocoapod dependencies and establish a test infrastructure for your newly created masterpiece. A great reference article for both newbies and seasoned developers.
After a bit of a deal, it looks like the videos for NSLondon have finally been published this week. There’s a range to choose from covering the full breadth of iOS development and more besides so if you have a spare hour or two, it’s worth having a look and seeing what peaks your interest.
In this 40 minutes video, @jacknutting dives into the new global search functionality and more specifically, how you can leverage its power and make it work with your own apps.
To close things out today I thought I’d include a bit of inspiration for you, especially if you’re just starting out with iOS development. 100 days ago @samvlu didn’t know any Swift. Over the next 100 days he chronicled the apps he wrote and subjects he covered. It’s extremely interesting to see his progression over such a short amount of time and goes to show just what you can achieve with some dedication and perseverance.