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.
Hi and welcome to another week of the newsletter!
So putting aside the madness that happened in the UK this week, things are settling down a little for me and I decided to treat myself.
Although its a couple of months in advance, I decided to buy myself an early birthday present in the form of a new 9.7-inch iPad Pro, which I’ve been really enjoying (I know it’s a little extravagant but it’s a big birthday and I had a 3rd generation iPad that wasn’t going to be supported by iOS 10 so it was a great excuse!).
Anyway, as a result, one of the first things I did was put the beta of iOS 10 on it and I’ve spent a few hours this week playing with Swift Playgrounds. I’ve found Playgrounds a much better experience than I expected.
Honestly, I was a bit sceptical about how good the experience of Swift Playgrounds on an iPad would actually be but having played with it for a while I think Apple have done a good job. I can definitely see some features that would be nice to have in Xcode and can also see the potential for a new and improved learning experience for Swift and iOS development which given the types of article I’ve been writing for the website might be something I explore more in the future. Anyway, whilst I go away and dig around I’ve got some great links for you this week so let’s dive in.
It’s just over a week since the beta of iOS 10 was released but already we’re seeing design templates emerge for the coming platform. I’ve got two for you this week. The first is an open source project from @cjmlgrto and @RamonGilabert which provides a number of Sketch templates for the different iOS 10 screens that you can use as a basis for your designs.
As a side note, if when opening the templates you get a warning about missing fonts you can download the San Francisco font directly from Apple here (though you will need a developer account).
Secondly, we also have this resource from the design team at @blackpixel which predominantly covers templates for the new widgets and control center. Both are useful resources, especially if you’re spending the summer either designing or updating your app in preparation for iOS 10.
@101babich continues to write one of my favourite blogs on app design. In this article, Nick takes a look at e-commerce apps, specifically focusing on when and when not to use grid-based layouts such as collection views and also takes a look at how this type of layout contributes to the user experience.
As I mentioned in last weeks newsletter, one of the biggest changes that was announced at WWDC was the complete overhaul of the user notification system, something that is likely to affect most apps one way or the other. This week, @justmaku takes a more detailed look at the new UserNotifications Framework with some simple code examples to get you started.
Core Data has always been a complex beast that’s relatively intimidating for many developers and when combined with concurrency, things get even worse. In this article, @arekholko goes over some of the Core Data changes that were announced at WWDC, specifically the changes that look to make Core Data and concurrency significantly easier. Needless to say, the WWDC Core Data session is now on my viewing list.
Honestly, I haven’t done much watchOS development myself but someone who has is @kristinathai. In this two-part series (Part 1, Part 2), Kristina documents her key takeaways from WWDC as well as looking at some of the implications for watchOS development going forwards.
With the madness of WWDC week, there’ll be a lot of people catching up on sleep but is it the best sleep you could be having?. In this tutorial @anushkmittal takes a look at the HealthKit framework and specifically how to use it to write a simple app to gather sleep information and analyze that information for trends.
Honestly, I’ve always found the whole code signing process a pain. Signing identifies, certificates are a pain, especially when it comes to working in teams and that’s ignoring the fix-it button that Apple themselves poked fun at at the State of the Union. However, with this years WWDC, a ray of sunshine appeared from this gloom with Apple announcing a complete overhaul of how code signing and provisioning was done in Xcode 8. @skabber takes us through some of the changes.
As their website puts it, “Ello is a community to discover, discuss, publish, share and promote things they are passionate about.” Now, apart from having some great art and photos on their site, you might be wondering why I’ve included this, but the thing is this week saw the fruition of the decision by @sdougherty and the mobile design team at Ello to open-source their iOS client. With that in mind, I wanted to include it here for few reasons. First, they’ve written an interesting blog post explaining the reasoning for their decision as well as the steps they’ve had to take to actually publish their repo (something that is not necessarily trivial as you might expect), secondly the repo itself is a good example of how to organise and structure a large-scale Swift project (with some organisational structre I’ll definitely be stealing) and thirdly, from a curiosity point of view, it’s nice to poke around a large-scale third-party app and see how people are doing things. Well done to all.
This is an interesting talk from @nickoneill in which he looks at the commonly discussed topic of design patterns. It’s not your normal design pattern talk though. Instead, Nick takes a look at how the existing patterns we used in Objective-C don’t necessarily translate well into Swift and how instead, new, different and improved patterns are emerging. It’s a great talk.
Swift Talk is a new project from @chriseidhof and @floriankugler at @objcio. It’s not your prototypical training videos, instead it has a much more relaxed, collaborative feeling to it, much like listening to a couple of colleagues talk through their design decisions. The video series itself is subscription based, but they are releasing every other video for free so even if you don’t subscribe, this is probably a resource you’ll want to keep your eye on as the first few episodes have been great.
This week saw the publication of the video for the WWDC edition of the Talk Show with@gruber and special guests of Phil Schiller and Craig Federighi. It’s a much more relaxed and less rehearsed than the glitz and glamour of the WWDC Keynote and State of the Union, but provides some good humour and a lot of insights into how Apple and their executives are thinking. It’s worth watching.
So on a slightly related topic, I’ve spent some of this week preparing to move the source repo of one of our older long-running and large-scale development projects at work from it’s current SVN repo onto Git. Whilst looking through the logs one of the topics that came up were commit messages, specifically what makes a good or bad commit message. After trying to explain my views to a couple of people I stumbled on this old, but I think really good, article from @cbeams which sums it up nicely. Definitely worth reading and bearing in mind whether your working within a private team or contributing to open-source projects.