Now that the euphoria and dust has settled from WWDC 2019, it would be wise to take a step back and plan for the future. Here are small steps to begin your path towards the promise land of SwiftUI, Combine, and beyond.
In this podcast, I discuss my application of Clean Architecture on iOS. The talk includes the different components, data flow, dependencies, & more.
The topic of iOS app architecture has evolved a long way from MVC. Unfortunately, the conversation becomes a frameworks and patterns war. The reality is: Rx is a framework; MVVM is a presentation pattern; and so on. Frameworks and patterns always come and go, but architectures are timeless. In this post, we will examine the Clean Architecture for building scalable apps in iOS.
The key to dependency injection is protocols. From there sprouts many variations, flavours, and techniques. Although this is yet another dependency injection™ blog post, I would like to share a pure Swift, battle-tested DI implementation with no outside dependencies or magic. It combines protocol extension and type erasure to give you a solid, flexible dependency injection.
Many techniques have been tried to tame the AppDelegate beast, usually ending up in moving code into private functions or extensions. However, the AppDelegate is much more complex than just moving code around. In this post, let’s examine a pluggable service technique with a few bonuses at the end.
There are hundreds of complex routing frameworks and libraries in iOS. Usually they’re overly complex to retrofit into an existing app or they completely bypass Storyboards. In this post, I’d like to offer a simple, native-like routing mechanism that leverages Storyboards like a boss to handle navigation.
An open-source project for iOS developers and geeks. Written in Swift and features include offline capabilities, advanced search, caching, and more. The code can be downloaded at the repository.
Localization in Xcode is handled with NSLocalizedString, but it is such a verbose and legacy-like API. There’s a Swiftier way that still respects Xcode .xliff exports and comments.
An open source iOS framework for WordPress integration using REST/JSON and a custom WordPress plugin. This has been used by several 3rd party consumers to build their own app.
A Swift package for rapid development using a collection of micro extensions for Standard Library, Foundation, and more. Includes documentation and unit tests. Cross-platform targets for macOS, iOS, watchOS, tvOS, and iPadOS and were used across various apps for providing a central and extensible API.