WWDC 2017 Wishlist

June 04, 2017

It's the night before WWDC and so while this post is pretty late, its technically not too late to be appropriate. But not having much time to type this up means that I'm not able to go into as much detail as I normally do for these wishes and they are all going into a single post.

Some interesting context going into WWDC this year: . . .

Read More

A Single Writer Pattern in Swift

A Fun Experiment With Shared Mutable State and Lock-Free "Locking"

December 08, 2016

I was talking to a co-worker today about different ways to minimize the risks around having a single shared instance in any app that holds global values which can be read and written to from anywhere in the code.

The potential risks around global mutable state are discussed in lots of places, but some of the key problems are:

  • Race . . .

Read More

Towards Better Unit Testing

December 04, 2016

Last year, I wrote a post about the problems with code coverage as a metric, and left the topic as “to be continued”, saying that I had some ideas for a better approach. Well, it's taken long enough, but here are the first pieces in that objective to evolve a better way to create and measure well-tested software.

What Makes Good Unit . . .

Read More

Swift-y Dependency Injection, Part Two

Injecting unique, mutable and persistent property values

October 21, 2016

Update: The original approach and sample code in this post have been modified slightly — instead of every Injected instance defining its own storage for injected traits, the Injectable struct instead defines global storage for all Injected instances. This is to allow let / constant struct instances to be injected with a stored trait without . . .

Read More

A Swift-y Approach to Dependency Injection

June 11, 2016

While I would guess that fewer iOS developers are concerned with Dependency Injection than say, Java developers, the concept has gained more steam on the platform as the practice of unit and integration testing has increased.

In short, Dependency Injection (or DI) consists of:

  1. Making your structs or classes depend on abstract types or . . .

Read More

A Grand Unification Theory of iOS Styling

June 11, 2016

If you've been on a team developing iOS apps before, you've probably been involved in a discussion or outright debate about how to handle styling, or the visual appearance of the app. Here, roughly, are the three sides of that debate:

1. We should style everything directly in storyboards / Interface Builder

It's easy to do, saves . . .

Read More

WWDC 2016 Wishlist #5 : Restore Game Controller Requirements on Apple TV

June 05, 2016

When Apple released their new Apple TV and tvOS last year, the initial documentation said that apps for for the new platform could require a game controller to play. Such apps would only appear in the store and be downloadable for users who had connected a game controller. This seemed like a great implementation since it would protect users . . .

Read More

  Subscribe by Email and Never Miss a Post