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.
News
Apple Event
I’d been really looking forward to the Apple Event yesterday with the hopes of some major updates to the MacBook lineup as well as a hope of some updates to the Apple Watch hardware – both of which are, in my opinion, overdue for updates. The bad news is that I was disappointed – on both fronts.
The MacBooks weren’t mentioned at all and there was little news on the Apple Watch front apart from a price drop and the addition of some new bands. The price drop is definitely welcome but I suspect many will delay purchase whilst they wait for second generation hardware to appear.
There were some highlights from the event. Generally they can be summed up as ‘Similar specs. Smaller sizes. Lower price points’.
First, as much of the media were predicting, it seems that at the rumours of a new 4 inch iPhone were true. With the announcement of the iPhone SE, Apple announced a new device with almost the same hardware as the iPhone 6S but with a smaller screen. I suspect it won’t be long before we see this new device as the de-facto entry level iPhone.
On the iPad front, the announcement of a smaller 9.7″ iPad Pro followed a similar vein. From watching the keynote, the screen technology seems to be the big selling point here, with a less reflective screen and “True Tone” technology built in that adapts the screen color temperature to match the devices ambient lighting conditions. The Apple Pencil will also be supported, making it a slightly more mobile solution than it’s brethren. Personally though, I’m still drawn to the larger-sized screen of it’s 12.9 inch brother so I’m not sure I’ll be changing my ongoing campaign to get my wife to let me buy one!
From a development point of view, the most interesting announcement was CareKit. Sharing similarities with the ResearchKit, CareKit will also be open sourced and promises additional functionality to help users keep track of their medical treatments and share information with their doctors. It’ll be interesting to see what the framework itself contains as well as seeing what we can do with it. I’m definitely thinking about ResearchKit and CareKit as topics for future articles.
Overall then, my general impression of yesterdays event was that it was a bit of a holding-event. There were obviously announcements of new hardware devices which are welcome, but none of them were particularly groundbreaking. The expanding hardware line will likely result in an influx of new users to the iOS platform which can only be a good thing and CareKit is definitely interesting but I’m still hoping for some more ground-breaking announcements as we head into WWDC.
apple.com
Business
An Indie’s Guide To the Press
@parrots has written a number of great articles recently on the rollercoaster ride of being an indie app developer. In this one, he provides some great advance about the importance of story telling when trying to get some press coverage for your app.
curtisherbert.com
Design
Great Watch Apps are Great Complications
@conradstoll on why designing great complications for the Apple Watch is hard.
Swift
When Your Code Breaks the Compiler
The development tools we are provided are extremely powerful but there are still times when we see some strange behaviour that we don’t fully understand. In this article, @ManzoPower reminds us that with Swift being open-source, we now have the option of digging into the compiler source code for ourselves.
medium.com
Code
Writing Custom Animations on iOS
In part 1 and part 2 of this short series of tutorials, @cocotutch walks us through how to create custom animations and transitions using the CoreAnimation framework.
jtribe.com.au
Kill Your Giant viewDidLoad
In this article, @nickoneill looks at how we can use closures and property initialization to organise and simplify viewDidLoad methods. A nice idea.
thatthinginswift.com
Improving Code Quality
Code quality is a critical factor in the long-term supportability of the code you write. In this article, @paciej00 gives a great introduction on the different techniques you can use to raise the quality bar.
swifting.io
Tools
Using swiftenv To Install and Manage Swift Versions
If you’ve been messing around with the different Swift snapshot builds on Linux you’re going to love this tool. Inspired by RVM, the Ruby Version Manager, swiftenv from @kylefuller provides a powerful way to manage your different swift installations. This article from @benatbensnider provides a great introduction.
bensnider.com
Sweetcorn
I linked to @FlexMonkey‘s book in last weeks newsletter but this week has seen him release Sweetcorn, an OS X application to create Core Image color kernels using a node-based interface. Useful if you’re messing around with Core Image or working through his book.
flexmonkey.blogspot.co.uk
Libraries
SPTPersistentCache
A powerful caching library from the team at @SpotifyEng that supports caching of NSData objects with specific TTLs along with additional options to control how that data is stored on disk.
github.com
Duration
From @Swift_Studies is a simple Swift package for measuring and reporting the time it takes to perform operations. Useful for optimising your code.
github.com
Creating Custom Walkthroughs For Your Apps
BWWalkthrough is a custom framework that simplifies the creation of custom walkthroughs for your iOS app. In this article, the author of that framework @bitwaker shows us just how easy it is to get up and running.
Videos
Contributing to Open Source Swift
In this video, @jesse_squires talks about the various Swift open source projects, the LLVM compiler and talks about how and why you should get involved.
realm.io
Protocol Oriented Programming
Protocol oriented programming and the three princesses. @greg3z with a short and amusing introduction to protocol oriented programming.
thedotpost.com
Introduction to Protocol-Oriented MVVM
Having had your introduction above, we also have this video from @natashatherobot provides a great introduction how, through the use of protocols, you can hugely simplify your table view cell configuration methods. Worth watching.
realm.io
Debugging – A Principled Approach
In this videos, @mj_langford walks through some core steps you should take when debugging code on iOS. He also references some great tools that will speed up your development workflow.
vimeo.com
Comment
Welcome to another issue of the AndyBargh.com Newsletter!
So, it’s been a busy couple of weeks for me but I’ve made it through and I’m now on a couple of weeks of down time which is definitely welcome. Apart from spending time with the family, I’ve got no real plans apart from relaxing and catching up on some of my Swift and iOS reading! With that said, it’s been a pretty busy week in the Apple Developer community and we’re going to kick off this week yesterday’s Apple Event.