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.
Welcome to another week of the newsletter! It’s been a busy week again this week. We’ve got new beta releases from Apple and things continue to move forward with the release of Swift 3 with the last day for source-breaking changes scheduled for 27th July. It’s looking more and more like it’s time to update all your code! In the mean time, there’s been some great articles and videos this week so let’s dive in.
I always like these types of articles, those that shed light on better ways to structure your application, reducing the interdependencies and making things easier to test. In this article, @ctietze does just that, looking at the some of the dependencies we inadvertently introduce and exploring some techniques for how to reduce them.
In recent weeks I’ve been trying to learn more about the design side of mobile app development and @101babich continues to be a great source of material. In this article he covers the key principles of mobile UX design, from buttons and navigability to layout and white space. It’s a good read.
For most people, digging into the guts the Swift compiler is a daunting prospect. @slava_pestov is trying to address this though. In these two articles (Part 1 – The Secret Life of Swift Types, Part 2 – How to Talk To Your Kids About SIL Type Use), the first of a four-part series, he draws back the curtain and provides a great overview of how the Swift compiler actually works. If these two are anything to go by his series is definitely worth keeping an eye on.
We all know singletons are bad right? Add logging to your app though, and there is a strong case for including one. However, it doesn’t have to be this way. In this article, @merowing_ uses the power of Swift Protocol Extensions to avoid this slippery slope.
I have to admit, my default instinct when it comes to anything Core Data related is to immediately reach for Xcode. As @andrewcbancroft points out though you can, with a few caveats, get Core Data up and running in an Swift Playground. I’m not sure it’s yet at a point that I’m going to change my default approach but it’s an interesting exercise.
This week has seen the team at @MightySignal unleashing their analysis skills with a comprehensive breakdown of the most used SDK’s in the top 200 free apps. If you scan down the list it’s really interesting to see the prevalence of Swift-based libraries. As we move towards Swift 3, it looks like the tide is starting to turn.
Siren, by @artsabintsev, is a Swift-based framework for notifying your users when a new version of your app is available by comparing the users currently installed version against the latest version in the app store.
One of the big announcements at this years WWDC was the release of Swift Playgrounds for the iPad. Forming a central part of Apple’s ‘Everyone Can Code’ campaign, Swift Playgrounds opens up a world of opportunities for people learning to code and further exposes Swift to a wider audience. In this article, and it’s companion article, @dimsumthinking makes some great points about what Swift Playgrounds may or may not mean to the future of learning to code. Worth reading.
So, you have some useful code that you want to release into the wider world but how exactly do you do that? Well, one option is the Swift Package Manager, the new packaging solution that was released along with Swift. It’s still in heavy development but is highly usable and in this talk, @czechboy0 provides a great overview.
As we know, Swift is a new language with it’s own design idioms and features. Since it’s release, the development community have been exploring different ways to use this new language, finding out what works and what doesn’t. In this talk, @dcutting reviews some of the new patterns that have risen to the surface.
There’s a phrase – “You can’t know where you’re going until you know where you’ve come from” and this applies equally to Swift as it does to any other topic. @gillygize has taken this to heart and in this talk looks back at the evolution of Swift’s Protocol Extensions.
My Method for Prioritising What to Learn
It’s always the same this time of year. WWDC has delivered a whole range of new frameworks and API changes to get up to speed on top of all the great books, videos and tutorials that people are publishing. With all this new information, it’s easy to suffer from information overload and in this article, @nerdonica gives us some great tips on how she copes with it all. There’s some I’ll definitely be stealing for myself!