
Dependency Injection in SwiftUI
This post shows two ways of achieving dependency injection in SwiftUI: using @EnvironmentObject or a View Model Factory.
This post shows two ways of achieving dependency injection in SwiftUI: using @EnvironmentObject or a View Model Factory.
Various techniques that let us define fully dynamic colors that adapt to the user’s selected color scheme, using either SwiftUI or UIKit.
We recently set about creating a framework and service for automatically generating social sharing images for repositories and other resources on GitHub.
When creating collections of objects or values in Swift, we usually use data structures provided by the standard library - such as Array, Dictionary and Set. While those three cover most use cases, sometimes creating a custom wrapper collection can enable us to make our code more predictable and less prone to errors.
The Codable protocols (Decodable and Encodable) were introduced to the Swift standard library with Swift 4.
The Codable protocols are one of the coolest recent additions to Swift. Even though it works similarly to its community counterparts like Unbox, Codable has the advantage of being powered by the compiler. One of my favorite features in Unbox was to give a context to the decoding operation. Let's take a look at how we can achieve the same with Codable and how I use to power a type-erased Decodable type.
Learn about checked continuations and converting closure and delegate-based code into async/await in Swift.
Deploying docker container as part of your continuous integration can cause your disk to fill up pretty quick. Docker does reuse the layers that did not change between deployments. But still, that last layer with you .war or .js bundle can take a few hundred megabytes. Taking into account, that you should be deploying a new version of every update of the master branch, this can take up a gigabyte every day.
Everything went smoothly until I tried to checkout. The checkout button was off screen and impossible to hit. So I investigated why this was happening and took a guess at how much this bug might cost the Olive Garden’s owners.
Learn how to use the in-memory data store, Redis, and Vapor to cache objects by saving them in JSON, then configuring them to expire after a set time.
Last year, when Swift Package Manager added support for Xcode and iOS projects was announced, I was overjoyed. A short time later, I realized that package resources weren’t supported and many of my hope and dreams for using it were immediately dashed.
Core Data has great support for UIKit but often it is a good idea to create an abstraction layer between the business layer and the storage layer.
TL; DR: It’s @media(hover: hover) and (pointer: fine)
A step-by-step guide to deploy Strapi on your AWS account with Microtica. Easy, quick and ready infrastructure in less than 10 mins.
The web is single-threaded. This makes it increasingly hard to write smooth and responsive apps. Workers have a bad rep, but can be an important and useful tool in any web developer's toolbelt for these kinds of problems. Let’s get up to speed on Workers on the Web!