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
Fabric Joins Google
So this week saw the announcement that Google is acquiring Twitter’s mobile developer platform Fabric, where it will join Firebase to bolster Google’s offerings in the mobile development space. It’s a little surprising given the great job that the Fabric team have been doing but I guess understandable given that Twitter is focusing on becoming a self-sustaining business following the break-down of their recent acquisition talks. We’ll see what the future brings but at least Google are making the right noises so far.
fabric.io
The Accidental Tech Podcast Interviews Chris Lattner
After the announcement last week that he was leaving Apple to join Teslar, @clattner_llvm has made an appearance on the Accidental Tech Podcast with @marcoarment,@caseyliss and @siracusa. It’s a great episode with a great introduction and one that is definitely worth listening to.
atp.fm
Business
Monetising Your Apps with Apple’s In-App Purchase
If you want to make a living on the app-store, monetising your app is key. In this article, @barbecuesteve explains how to use Apple’s StoreKit framework to add In-App purchases to your own apps.
bignerdranch.com
Design
Apple UI Design Resources
I’m a little surprised it hasn’t really happened before but Apple have this week published a number of UI Design resources including templates for both Sketch and Photoshop along with other UI materials to help with designing your iOS apps. Worth checking out if you’re gearing up for your next app design.
apple.com
Swift
Docker Image for Swift Now Available
There’s now an ‘official’ Docker image available for Swift! ? Based on Ubuntu 16.04, I imagine this will be finding it’s way onto a machine near me pretty soon… ? to everyone involved.
swift.org
Naming Things in Swift
You’ve probably heard the quote before (or at least something similar):
“There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.” ~@codinghorror
@ashfurrow has written a great post on the second of these, elaborating on the Swift.org API Design Guidelines, and providing some additional insight and experience of his own on how to name things in Swift. Definitely worth reading.
ashfurrow.com
Code
The Case for Deprecating UITableView
UITableView has been around since iOS 2.0 and is one of the most commonly used components of UIKit but with the addition of UICollectionView in iOS 6 there are now alternatives that provide pretty much the same functionality whilst also providing greater flexibility. @steipete and @_mochs raise the question – Is it time to deprecate UITableView?
pspdfkit.com
Tools
BluePill
Although changes in recent years have made it much easier to record, write and run your own UI test suite for you iOS apps, UI tests have always been plagued by one big problem: their slow. Super slow. Released by the team at LinkedIn, BluePill is a new tool that lets you run multiple iOS simulators in parallel thereby reducing the time it takes to execute your entire UI test suite. It looks super useful and if you want to check it out @jakemarsh has a nice introduction in Issue #291 of @lilbitesofcocoa
github.com
Libraries
Files
Files by @johnsundell is a Swift library, primarily aimed at scripting and tool development that provides a nicer way to handle files and folders using Swift by providing a thin wrapper around Foundation’s FileManager class.
github.com
SwiftMonkey
Building on top of Apples UI Testing framework, SwiftMonkey is a library from the team at @zalandotech that can by used to enhance your UI testing by generating randomised user input for your iOS apps. Looks a nice option if you want perform some stress testing on your app.
github.com
Hedwig
Hedwig (yes, the owl out of Harry Potter), by @onevcat provides a high-level API for sending email to an SMTP server with the minimum of fuss. It’s written in Swift, is cross platform, and is a good option if you’re looking to send emails from within one of your apps. The only draw-back though is that it’s currently only available using the Swift Package manager so until that catches up with iOS compatibility you’ll have a few hoops to jump through if you want to get it working in your own iOS apps.
github.com
Videos
Testing in Swift: Protocols and View Models
For whatever reason, testing seems to be one of those things that the always seems to be an after thought. Maybe it’s because there’s the perception of it being too difficult or time consuming. In this talk, @ayanonagon sets out to challenge that assumption, looking at a couple of techniques that will make testing your Swift code easier and quicker.
realm.io
Pushing the Limits of Protocol Oriented Programming
In this talk from Swift Summit 2016, @jesse_squires takes a look at protocol oriented programming in Swift and explains how it can be used to increase the flexibility and maintainability of your code.
skilled.io
Other
Seniority
What does it take to become a ‘senior’ engineer? (Here’s a hint – it’s not about your age). In this article, @merowing_ takes a look at the softer side of app development and highlights some of the interpersonal skills you need to think about developing over the course of your career. Food for thought.
@merowing.info