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.
So, I’m back in the swing of things this week which for me means trying to find some focused time to write some more articles for the website. It’s going well though there is still lots of work to be done so keep your eyes peeled for new articles on the site. In the mean time though, I’ve got lots of new articles for you this week so let’s dive in.
It’s not been long since the beta 4 release but this week saw the announcement of the beta 5 releases of most of the Apple goodies. With such a short period between the releases I’ve a feeling that we’re going to see the full release fairly soon but in the mean time you can download the latest releases of Xcode 7.3 beta 5, iOS 9.3 Beta 5, tvOS 9.2 beta 5, watchOS 2.2 beta 5 and El Capitan 10.11.4 beta 5 which included some nice improvements including the ability to embed videos directly within playgrounds which I can definitely see being useful in the future.
If you’re just starting out in iOS development or working towards a career in the industry there are a number of core languages, skills and frameworks that you’re going to need to understand. In this article, Christopher Watkins highlights seven of the most critical.
Nowadays, making a living on the app-store is more difficult than ever, and in this article
@FrankieBi relates the rise and fall of Pixite, a San Diego-based app development company who make apps for mobile photo editing. It’s an interesting read about many of the challenges that modern app-development companies face.
You’d never of thought that being lazy was a good thing but as @aligatr shows us in this article, making use of of Swift’s lazy initialisation can bring some significant benefits to your code.
Simulating time-series data for use during unit testing can be a tricking thing, but as @lucianomarisi shows us in this two-part series (Part 1, Part 2), with some clever use of timestamps and dispatch_after, you can build some useful tools for creating device orientation data for use in testing your app.
As @mikeash states, asserts are really useful tools for checking the assumptions you have made in your code and are a great way to ensure that errors are caught early. In this article, Mike Ash takes a deep dive into the assert calls available in Swift. An interesting read.
Commonly used to persist the Core Data object graph, SQLite is a light-weight database commonly used in mobile platforms. In this article, @cwagdev bypasses Core Data and looks at how we can connect to a SQLite database, create tables, and perform CRUD operations on the database all via the popular open source Swift wrapper SQLite.swift.
Debugging complex asynchronous code is one or the most complex things we have to do as developers. Unable to rely on the normal debuggers stack traced, in this article, @cocoawithlove walks through some of the techniques that we can use reconstruct the execution path of long-running task objects in these multithreaded scenarios.
The videos from WWDC continue to be an invaluable resource for developers, regardless of which Apple platform you’re developing for and having more ways to watch them can never be a bad thing. This brings me to this AppleTV project from @iosaaron which allows you to watch not only the WWDC videos, but a also Apple’s Tech Talk videos all from the comfort of your own living room.
As the animation engine behind the 2014 Apple Design Award winning Storehouse App, Advance is a purely Swift-based animation engine from @tdonnelly and the team at Storehouse. Using CADisplayLink, it provides advanced frame-by-frame physics-based animations capabilities for use in gesture-based interactions. if the Storehouse app is anything to go by, it’s worth a look.
There’s been an embarrassment of riches when it comes server-side Swift frameworks in recent months. This week, we have Express, a simple yet powerful web application framework from @sofia_husak and the team at Cross Roads Labs. Written entirely in Swift and inspired by the Express.js and Play Frameworks, Express provides all the features you might expect including routing, request handling and error handling as well as templates using Mustache and Stencil.
I’ve been writing a lot about Swift’s collection types in recent weeks and so it was with great interest that I came across this project from @lorentey. BTree provides an in-memory B-tree implementation in pure Swift and as well as a number of other ordered collections such as Maps, Lists and Ordered sets. As well as providing a useful library in it’s own right, the projects github page also provides a useful introduction to B-trees if you’ve never come across them.
In this talk, @benjaminencz talks about how we can make our code safer through the use of immutable value types instead of reference types and how by doing so, you can eliminate many of the common mistakes that reference types can introduce.
On a similar theme, in this talk, @SmileyKeith looks at the problem of parsing heterogeneous data such as JSON in Swift and talk through some of the design decisions they made during the development of their open source project Mapper, a JSON serialization library written in pure Swift.
If you’re anything like me, you might not have had that much exposure to Functional Reactive Programming yet. The team at @realm have come to our rescue though, drawing together a number of videos to create a great beginners guide to the topic.