QuickBird’s Mobile App Development Blog
In this blog, we write about deeply technical topics related to implementing mobile apps. Over 160,000 developers around the world are reading this blog every year.

Dart macros bring a whole new way to handle code generation for Flutter, offering a simpler, faster alternative to ...

Swift Macros are here to simplify your code! This new feature lets you generate code at compile time, reducing ...

Dart 2.18 introduced Objective-C/Swift Interop. In this comprehensive guide, we explore how to seamlessly ...

SwiftUI has revolutionized how we build UI, introducing a more intuitive, declarative approach. Instead of ...

With Dart 3 the class modifiers sealed, interface, final and base were introduced into the Dart language. They ...

SwiftUI may lack built-in restricted textfield functionality, but our in-depth guide is here to fill the gap! This ...

End-to-end encryption, otherwise known as E2EE, is an incredibly important aspect of modern application security. ...

Find out how weak references and finalizers can help you manage memory and improve the performance of your Dart ...

With iOS 16 Apple introduced a way to go passwordless called Passkeys. In this article, we are covering what needs ...

With the newly introduced RegexBuilder feature in Swift 5.7 and iOS 16, the days of complicated and unreadable ...

Introduction to snapshot testing with a simple and expandable snapshot testing library that can be used with ...

A comparison between async/await, Combine, and closures in Swift. Includes an overview of the strengths and ...

An exceptional guide on how and when to use exceptions in Flutter and Dart. Includes a how-to on creating good ...

A deep dive into the abstract syntax tree and how it could help to make our apps language independent with a ...

A step-by-step guide to recreate the famous game "Wordle" as an iOS app with SwiftUI. Includes a sample code repository.

Value classes are new in Kotlin! Shall we now drop all our type aliases and data classes in favor of value classes?

A convenient dictionary to look up the respective Combine equivalents for RxSwift functions, types, and operators ...

Mixins are reusable chunks of code that can be plugged into any class without subclassing. This article explains ...

Sealed interfaces are a powerful new feature in Kotlin. But they can be easily misused. This article explains when ...

A step-by-step guide to set up your Xcode project to support both CocoaPods and the Swift Package Manager with ...

The ultimate guide for decoding characteristics' raw data received from Bluetooth Low Energy devices to meaningful ...

Flutter doesn't provide a platform-adaptive search widget. We show you how to build one from scratch for Material, ...

No-one likes to open an empty box! We use non-empty lists and collections in Kotlin to avoid such unpleasant ...

We separate the navigation logic from the view logic and implement deep-links in SwiftUI, using our new ...

How to implement a CRC algorithm in Kotlin to ensure that the data your Android app sends or receives is not corrupted

Can we apply the Coordinator pattern in SwiftUI? Yes, we can! But it's not the same as in UIKit. Here's what we ...

A complete guide to accessing memory in Swift. To help you feel more secure when working with pointers and raw bytes.

Data can get corrupted when stored or transmitted. This article explains how you can use a CRC to detect ...

How to implement a CRC algorithm in Swift to ensure that the data your iOS app sends or receives is not corrupted.

Welcome to the test arena, view models! We're going to build some MVI View Models on Android and explore how we ...

How to use property wrappers in Swift and SwiftUI to simplify your code and make it more reusable. With lots of ...

At WWDC 2020, Apple released the Xcode 12 Beta which makes it finally possible to add your own SwiftUI views to ...

In this article we use Kotlin Coroutines & the Kotlin Flow API to implement an MVI architecture. As a part of ...

Switching to remote work is a big challenge for a company. Here we share our most precious "secret" that we ...

Plenty of things can go wrong in code reviews, rendering the entire process useless. Here's your ultimate guide ...

With iOS 16 Apple introduced a way to go passwordless called Passkeys. In this article, we are covering what needs ...

In this article, we collected best practices to keep your users’ data secure in Android Apps.

Mobile apps deal with really private and sensitive user data like personal health information or banking ...

With SwiftUI and Xcode 11 released just recently, we decided to investigate different app architectures that can ...

Many people criticized Dart because it was missing features like Extensions that programmers knew and love from ...

In this article, I would like to share our team's path to „Gradle Mastery“ and how easily you can become the guy ...

Roughly one month ago Apple showcased SwiftUI at WWDC 2019. Since we humans can only focus on one new thing, all ...

Apple and Google finally published their own solutions called Swift UI and Android’s Jetpack Compose. In this ...

Since Kotlin is a rapidly evolving language, there is a place for everyone to submit and discuss proposals. We ...

I decided to write a String Parser in Swift. In fact, I wrote a Swift Open Source library called "Ogma", to do the ...

It is obvious that we were really excited once we first glanced over Kotlin/Native and Kotlin Multiplatform! With ...

With Pull-To-Reach, the user can select toolbar items by swiping down rather than stretching his thumb up to the ...

We have looked closely at Dependency Injection in Swift, a heavily used concept in many programming languages. ...

In this article, we present approaches to implementing software projects for a new platform when the code base on ...

Today, we are taking a look why Gordon is such an extraordinary blacksmith, more importantly, what you can learn ...

Naturally, views tend to become overstuffed and get too many responsibilities. Today we show you a solution for ...

Everybody talks about it but many people don’t really know what it fundamentally is. So what is it, at its very ...

We fell in love with the Composite Pattern. Our own approach to this pattern is called Composite by Induction ...

In this article, we will demonstrate a more generic, easier solution by adding an automatic sync service to your ...

This article will show you how MVVM with Flutter could look like. We’ll create a functional reactive ViewModel ...

Take a look at our MVVM style! We use a very functional MVVM approach with RxJava/RxSwift and platform independent ...

Do you know the four fundamental layers of testing software? We show you how they apply to mobile apps, which ...