Themes are usually downplayed as an after-thought instead of being an integral part of the development process. How many times have you inherited a codebase where the design team wants to tweak it, or business wants you to clone the app with a whole different theme. In this post, I’m going to show you the native way of theming an iOS app as intended by Apple that is often overlooked.
Inside iOS Dev – Clean Architecture
In this podcast, I discuss my application of Clean Architecture on iOS. The talk includes the different components, data flow, dependencies, & more.
So Swift, So Clean Architecture for iOS
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.
Thin AppDelegate with Pluggable Services
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.
Basem Emara Blog App
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.
ZamzamKit
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.
Swifty Locations with Observables
Let’s use the closure-based pattern to wrap CLLocationManager for allowing callers to subscribe to observables instead of using shared delegate functions.
Multi-Threading with Unsafe Resources in Swift
GCD is not for thread-unsafe shared resources since it does not guarantee the same thread will be used for the queue. We can use the threads API with a bit of sugar syntax.
Full Stack iOS and WordPress in Swift
WordPress has been around for almost a decade and a half. It survived the CMS wars and remained relevant during the mobile shift. It’s been battle-tested under various scenarios and load. It showed us what a thriving 3rd party marketplace looks like. Now, WordPress is realizing a grander vision! In the release of WordPress 4.7, the REST API plugin was merged […]
Percentage-based Spacing Using Autolayout and Storyboard
Due to the many screen sizes in the mobile world, staying relative to screen size is crucial. Hard-coding margins and sizes based on points can be short-sighted. In this post, we will subclass NSLayoutConstraint to achieve percentage-based margins.