Partial framework release 1.0.0

Published 10th July, 2019

Today marks 1 year since I released a blog post demonstrating an implementation of Partial in Swift, and it also marks the release of the 1.0.0 version of a Swift package for Partial.

The package is available on GitHub and supports SwiftPM, Carthage, and CocoaPods.

This blog post will go over some of the changes that have been made since the original blog post, my rationale when making certain decisions, and how I have thought about maintenance. If you want to try out Partial and see how it can be used head over to the GitHub page.

Read More

Partial in Swift

Published 10th July, 2018

Structs are incredibly useful in Swift, especially when representing static read-only data. However, the values of a struct often come from multiple sources, such as view controllers, network requests, and files on disk, which can make the creation of these structs cumbersome.

There are numerous methods to work around this, but each have their downsides. One of these methods is to change the struct to a class and update the properties to vars, but this removes the advantages of read-only structs. Another is to make a "builder" object, but the API of this object must be kept in-sync with the object is wraps.

Partial eliminates these problems by providing a type-safe API for building structs by utilising generics and KeyPaths. Although I learned of the concept of Partial through TypeScript – which provides Partial as a built-in type – the Swift implementation supports many more use cases.

Read More

Scanula version 1.1.2

Released 6th May, 2018

Release Notes

Version 1.1.2 improves the reliability of animating the screen brightness when viewing QR codes.

Thank you for using Scanula!

Scanula version 1.1.1

Released 26th April, 2018

Release Notes

Version 1.1.1 addresses an issue that may cause the camera to appear blank on certain devices.

Thank you for using Scanula!