JSON Wars: Codable ⚔️ Unbox

Codable got everyone excited because we all love parsing JSON and it’s nice to have this tool as a part of the standard library. Now it’s time to test if

Share
Blurring the Lines Between MVVM and VIPER

If you have been developing mobile apps for a while, you’ve probably heard of MVVM and VIPER. While some people say MVVM does not scale well, some others say VIPER

Share
Using Channels for Data Flow in Swift 📻

Apple frameworks use delegation and observer pattern (NotificationCenter) heavily to pass information around. Although there is nothing wrong about these patterns, the actual implementation always looked a bit inconsistent to

Share
Lightning Read #2: Optional String Pitfalls

I was trying to build a URL the other day. Check the following code block: [crayon-5b7a6ff9bb10e837149955/] Seems legit, right? Assume that we’re passing 23940 as userId to this initializer. Depending on the Swift version,

Share
Lightning Read #1: Lazy Collections in Swift

I was planning to write “short” and simple articles about my findings from day-to-day Swift experiments for a while now… 🕵 Here goes the first lightning article! 🚀

Share
Architecting iOS Apps with “Core”

In the last two years, I’ve had chances to experiment with architectures like MVC, MVVM and VIPER. What’s common among those is the V component, which represents the views in

Share
Swifty Tips ⚡️

Subtle best practises that Swift developers are keeping secret. When I first started iOS development, I was always curious about best practises used by giant companies. How does their project structure

Share
Identifying Side Effects Using Swift

This is a hard problem in any language. When we are interacting with APIs, we are constantly making requests on objects. Let’s say we have an object x. If we

Share
Routing with MVVM on iOS

I have been using MVVM for a while in several projects and I really like its simplicity. Especially, if you are moving from MVC, like many people, you only need

Share
Using Redux with MVVM on iOS

Before we start, what is Redux? From redux.js.org: Redux is a predictable state container for JavaScript apps. So if you are not a web developer, it’s totally normal that you

Share