This is a cheat sheet for converting from ReactiveSwift to Combine. The origin of this document is me converting some of my libraries from one to the other, so they're just basic use cases of things I've used. As a result, this sheet by no means exhaustive, but is a good start and includes caveats… Continue reading ReactiveSwift to Combine Cheat Sheet
Author: E S
Quick iOS: Generics
Generics are basically placeholders for types. They help you write specific code that can be used with (almost) any type. Suppose you're really tired of the whole if let dance. You want to write a function that will do that for you, so you can save some lines of code. Generics to the rescue! You could… Continue reading Quick iOS: Generics
Quick iOS: Protocols
Protocols allow you to define functions and properties that any class or struct which conforms to it must implement. This gives you the ability to rely only upon the things you need, while not putting too many restrictions on the conforming type. Let's look at an example. Consider the following: protocol Fireable { func fire()… Continue reading Quick iOS: Protocols
Quick iOS: Swift Optionals and nil
TLDR: calling a method on nil will crash. Variables that can be nil are called optional, and are defined using a question mark. To call a method on an optional variable, unwrap it by using a question mark (optional chaining), an exclamation point (force unwrapping), or an if let or guard let statement (conditional unwrapping).… Continue reading Quick iOS: Swift Optionals and nil
iOS App Codebase Best Practices
A client recently had me prepare a document containing suggestions on how to bring their app in line with current best practices as they continue to iterate and grow their team. Below I've listed some of those best practices, as I see them, and some suggestions on how to get there on a 'lazy' basis… Continue reading iOS App Codebase Best Practices
Mobile Dev Toolbox
Want to be a one-person mobile app factory? Then you'll need the tools below! iOS Development Required This one is probably the most annoying if you're not already an Apple user: you'll need a Mac of some sort, first of all because Apple requires it, but secondly because only Macs can run Xcode, which iOS… Continue reading Mobile Dev Toolbox
Swift/Kotlin Functional Programming: Tips and Tricks
Here are some of the main advantages I see to doing things in a functional way: Less code – writing simple, small functions allows you to reuse them in many different places by giving you the flexibility to compose and combine them in any way you can think of. This leads to fewer levels of… Continue reading Swift/Kotlin Functional Programming: Tips and Tricks
Android Instant Apps – tips and tricks
At I/O a few years ago, Google announced Instant Apps, an innovation that promises to be good for users and app developers alike. Instant Apps allow visitors to your Play Store listing to try before they buy – in one tap they're able to quickly download a demo version of your app and see how… Continue reading Android Instant Apps – tips and tricks
Smart Apartment Speaker System Setup
Today I'd like to talk about how I've set up my apartment's homegrown, multi-room, auto synced speaker system. When I discovered Sonos a few years ago, I was amazed at it's multi-room sound syncing speakers... I was also disappointed by the cost. So, I set out to build (or, at least, assemble) my own system… Continue reading Smart Apartment Speaker System Setup
Alabama’s New Law is a Dangerous Overstep by Big Government
Alabama just passed a forced labor law. According to this law, the state has the right to determine that one person is entitled to the labor of another: a pregnant woman MUST house and feed a fetus – without pay and against her will – under threat of state violence. If that's the case, how… Continue reading Alabama’s New Law is a Dangerous Overstep by Big Government