What I’m reading
1. Can’t Hurt Me
This is a great book that I’m reading this week. I was impressed by the author’s story, how he overcome his limit and achieve his goals.
Eventhough it doenst related to tech, I think it’s a great book to read if you want to improve yourself.
Also, I learned that it’s not about how many books we read, but how many books we apply in our life. Due to that, I decided to challanged myself to run 100KM in a month 🏃
Great articles this week
1. Are Android apps THAT much smaller than iOS?
Recently, we’re developing AppClip for iOS and Instant App for Android. I realized that the size of the Android app is much smaller than the iOS app. Also AppClip size limitation is 50MB, but App Instant on ADR is only 10MB.
It makes me wonder why? This detailed article from Emerge Tools explains why Android apps are smaller than iOS apps. It’s a great article to read if you are interested in the size of the app.
Side-note 1: To have a deeper understanding of the article, you should understand the compile process of Android and iOS. You can read more about it here.
Side-note 2: What I also learned from the article is how verbosed Swift is. From a simple 6-line Swift code, the compiler generates 1936 lines of assembly. This mean it’s always worth to remove unused code, even it just a little.
2. Migrating Combine to AsyncAlgorithms
Modern Concurrency can brings a lot of benefits to your project: Avoid callback hell, better performance compare to GCD, … However, if you’re using MVVM for your project, you may face some challenges when migrating from Combine to AsyncAlgorithms. This article from Jacob’s Tech Tavern will help you understand the challenges and how to solve them.
Side-note: AsyncAlgorithms is still missing some features that Combine has. You can take a look at this open source project AsyncExtensions that aim to fill the gap.
3. Why is my Task running on the main thread?
This article explain which thread your Task is running in. It’s a great article to read if you are using Task in your project. It also mention an issue of Task that you should be aware of.
4. How to install the same version of Ruby and Fastlane locally and on CI/CD
For people who are interested in CI/CD like me, we need to make sure that the ruby version is the same locally and on CI/CD. This article from Pol Piella will help you solve that problem.