Published inBetter Programming·Updated Jul 17Boost Your Swift Loop Performance By 87%A simple trick to supercharge your loops using “loop unrolling” — Today’s devices are incredibly powerful, often leading us to overlook the importance of efficiency and optimizations. It’s easy to think, why bother with efficiency when we have high-performance hardware like the monster M2 SoC in our Macs or iPads? However, adopting such a mindset…IOS3 min readIOS3 min read
Published inBetter Programming·Sep 18, 2022Explore the Dynamic Island — ActivityKit TutorialHow to conquer the Dynamic Island in iPhone 14 Pro and add support to your app! — Apple wowed us with the iPhone 14 Pro presentation in a way no one expected. The team from Cupertino took a hardware constraint and made it a feature, which is something I think needs to be taught in schools. But, what is unique when talking about Dynamic Island, is that…IOS6 min readIOS6 min read
Published inMelio’s R&D blog·Sep 15, 2022What It’s Like to Be a Mobile Team in a Desktop-First CompanyIn the entirety of my short mobile development career (around 10 years), I worked in mobile-first companies, where mobile is king of the show. Everything was mobile friendly — the APIs, documentation, support, and product. …IOS5 min readIOS5 min read
Published inBetter Programming·Jun 4, 2022Hey App Developer: Where Is My Logic?Rich Data Model vs. Anemic Data Model — “Describe to me your app architecture”. “Oh, it’s easy. I use MVVM.” I always say that app creation is more straightforward on its edges but very complex in its internals. I mean, not only that we know how to create fantastic UI, but we also speak about it all…IOS5 min readIOS5 min read
Published inBetter Programming·May 10, 2022Write Beautiful Code With Swift Result BuilderMake your UIKit codebases look as clean as SwiftUI — The most noticeable thing about SwiftUI is that it looks incredible. It takes a relatively big chunk of code and squeezes it into something beautiful and straightforward so that even non-programmers can understand what’s going on. But did you know that starting Swift 5.4, you can replicate that experience to…Programming4 min readProgramming4 min read
Published inBetter Programming·Apr 8, 2022Swift 5.7’s Optional Unwrapping SyntaxUnwrapping optionals is getting shorter in Swift 5.7 — Introduction Unwrapping optional variables in Swift is one of the most common development tasks iOS developers perform hourly. It’s so common that unwrapping is one of the most popular questions asked in interviews. And in the context of unwrapping, I’m going to show a small “syntactic sugar” that comes to Swift…IOS3 min readIOS3 min read
Published inBetter Programming·Mar 22, 2022Core Data — Building a Custom StoreDiving into Core Data with Incremental and Atomic Store — I think this tutorial is probably one of the most fascinated tutorials I’ve ever written. Its primary goal is to unleash how Core Data works under the hood, not to solve you a problem. A great way to do that is by writing your own custom store. Custom Store — What Exactly Does It Mean? Ok, so a…IOS18 min readIOS18 min read
Published inBetter Programming·Jan 24, 2022How Apple Screwed Up SwiftUI and Core Data TogetherAnd how we can rebuild it — Introduction A few months ago, I decided that my third iOS development book will focus on Core Data, which is Apple’s old (but great) object graph and persistent framework. How old is Core Data? I think I was in high school when the first seeds were sown (and I’m not a…IOS4 min readIOS4 min read
Sep 5, 2021My Personal Takes from Using CombineConfession I have a confession I want to begin with — before adopting any new technology or design pattern, I need to understand its benefits and problems. While it may sound reasonable, this behavior was holding me back in some important areas over the years. For example, it took me almost…IOS3 min readIOS3 min read
Jul 10, 2021Reorder Items in SwiftUI LazyVStackReplicate UIKit Drag and Drop in SwiftUI — Those of you who are familiar with UIKit iOS 11 Drag and Drop API probably know that it dramatically improves UITableView and UICollectionView reordering user experience. “Drag and Drop” become super straightforward, and the API handles most of the cases itself. But what happens with SwiftUI? Do we have the…Swiftui5 min readSwiftui5 min read