An essential part of creating scalable apps is code organization. Low-level, reusable code should be kept in a separate framework instead of the app project. This makes maintenance, deployment, and code sharing between apps possible. In this post, we will create a Swift framework in Xcode and use it in our iOS, watchOS, and tvOS apps.
The key to dependency injection is protocols – from there sprouts many variations, flavours, and techniques. In this post, we will discuss 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 that works great with unit test and even frameworks.
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.
Less code and less memory while performing the same task at hand is truly where the art comes in. In this post, we’d like to highlight some of the various pitfalls that lead to memory leaks, which inevitably result in crashes. Also, we will cover some tools and remedies to resolve these issues.