Mobile App Development Blog

I hated Gradle! Kotlin and the buildSrc Plugin made me love it

Let’s talk about the elephant in the room… Gradle… To be honest, I hated Gradle. It was always one of the biggest pain points in my carrier as a developer. Whenever I ran into a „Gradle issue“ during Android development, I immediately knew: This is going to be a bad day. All I could then […]

Combine vs. RxSwift: Should you switch to Combine?

Roughly one month ago Apple showcased SwiftUI at the WWDC 2019. Since we humans can only focus on one new thing, all the hype was reserved for SwiftUI and people almost missed Apple’s second big announcement: Combine. A lot of folks were seeing Combine only as an enabler for SwiftUI, but Combine also introduces first-class […]

How KEEP-87 & Typeclasses will change the way we write Kotlin

What is KEEP-87 At QuickBird Studios, almost all of our projects are implemented in either Koltin or Swift. It’s only natural, that we compare these languages and find features in one of them, that we would also like to see in the other. While Swift’s protocols can sometimes be a little bit painful to work […]

Functional String Parsing in Swift with Ogma: Implementing a Game of Thrones search engine

— No Game of Thrones knowledge required and NO spoilers included. Promised. — Engineers deal with a lot of issues on their day to day: complicated flows, race conditions, general error handling. But one issue that always sticks out is that of parsing strings. At QuickBird Studios, we see ourselves always coming back to it. […]

Is Kotlin/Native production ready? Why we are not using it (yet)

We love the idea of Kotlin/Native and Kotlin-Multiplatform. That’s why we took an in-depth look at it and tried it out in a sample project. We wanted to know if Kotlin/Native is production ready. Unfortunately, the technology cannot serve our needs right now. Here is why we crave to use Kotlin/Native and Kotlin Multiplatform but […]

Flutter: Pull-To-Refresh was yesterday. Check out Pull-To-Reach!

Still stuck with Pull-To-Refresh in your Flutter app? 🙄 You’ll be thrilled to get to know Pull-To-Reach then. That’s a new way to access controls in your app that are normally hard to reach with your thumb. This is based on the following problem: Phones are getting bigger and bigger. I remember that I could easily […]

Dependency Injection Strategies in Swift

Today we will take a deep look at Dependency Injection in Swift, one of the most important techniques in software development and a heavily used concept in many programming languages. Specifically, we’ll explore which strategies/patterns we can use, including the Service Locator pattern in Swift. The intent behind Dependency Injection is to decouple objects by […]

Development approaches for porting code bases to a new platform

You and your team developed a sophisticated App for iOS, but now you want the same on e.g. on Android and the Web. The problem: the project is so big, where should you even start with the implementation? First, implement all the model classes or rather start with the User Interface classes? Who gets assigned […]

What makes a great developer? A story of an extraordinary blacksmith

It’s the year 1602 and Gordon is the best blacksmith in the country. Lords from everywhere are making the journey to his smithy to order one of his fine swords. Today, we are taking a look why Gordon is such an extraordinary blacksmith, and more importantly what you can learn from Gordon to become a […]

Introducing an iOS navigation library based on the coordinator pattern

  We at QuickBird Studios are working on large-scale apps that grow over years and that’s why our team worked really hard to find suitable architectural patterns for our use cases. We described our use of MVVM and Functional Reactive Programming in some of our previous blog posts like this one. One topic we didn’t […]

What is Functional Reactive Programming (FRP)?

The new buzzword to impress your friends: Functional Reactive Programming (FRP) Using Functional Reactive Programming, you write less code, you have fewer bugs, you can program asynchronously without killing yourself, it’s just awesome. That’s what they told me. Everybody talks about it but many people don’t really know what it fundamentally is. So what is […]

Syncing app data: Sync Realm with server-side database like MySQL

Over the last couple of months, Realm became the go-to mobile database solution. It’s a mobile, offline-first database solution to store your app’s data without the need of working with lower level solutions like SQLite or Core Data. And most importantly: It’s platform independent and works on Android and iOS. But what happens if you […]

App architecture: MVVM in Flutter using Dart Streams

A common problem while developing apps is that you end up with over-complicated classes containing View logic as well as business logic. Both are so intertwined that it’s impossible to test them independently. Code-readability suffers and future code changes are hard to implement. Since there are almost no constraints to your architecture in Flutter, it’s […]

App architecture: Functional MVVM with RxJava & RxSwift

The problem with the way many people implement and explain their app architecture is something like that: The Fragment or UIViewController becomes a massive class that contains business logic as well as view details. Both are so intertwined that it’s impossible to test them independently. Code-readability suffers and future code changes are hard to implement. […]