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 is an overkill. I am here to explain why I think they are very similar ...
Read More

Recent Posts

Clean Swift

Functions Please remember how elegant the swifts above look for future references. Building Up Starting to build an argument with an analogy, probably is not the right way to go ...
Read More

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 ...
Read More

iOS/macOS Developer Productivity Kit

We use some tools and also some do customizations on them to increase our productivity. Every tech stack has different needs, therefore, a different set of tools. iOS, macOS, watchOS, ...
Read More

Lightning Read #2: Optional String Pitfalls

I was trying to build a URL the other day. Check the following code block: init?(userId: String?) { guard userId != nil else { return nil } self.path = "/user/\(userId)" ...
Read More

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! 🚀 ...
Read More

Reusability and Composition in Swift

The one concept Nietzsche, Thoreau and Hesse most probably tried to elude through their lives: Dependency. Even if one does not agree or embrace their philosophies, a programmer should — ...
Read More

What is Firebase Predictions?

Google announced Firebase Predictions in Firebase Dev Summit in Amsterdam this year. This is maybe the most important announcement of the summit. It enables businesses to predict user behavior depending ...
Read More

Generics in Swift 4

As one of the most powerful features in Swift, Generics can be tricky. A lot of people have trouble understanding and using them, especially application developers. Generics are most suitable ...
Read More

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 ...
Read More


Candost Dagdeviren

Software Developer. Technology and theatre enthusiast. Starving for any kind of information.

Göksel Köksal

iOS developer. Serious gamer.

Alp Avanoğlu

I follow the white rabbit