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.
![R.I.P. build_runner: A Deep Dive Into Macros in Dart & Flutter](https://quickbirdstudios.com/wp-content/uploads/2024/11/macaron_cover_image-768x388.png)
Dart macros bring a whole new way to handle code generation for Flutter, offering a simpler, faster alternative to ...
![Swift Macros: Understanding Freestanding & Attached Macros](https://quickbirdstudios.com/wp-content/uploads/2024/02/Swift-Macro-768x388.png)
Swift Macros are here to simplify your code! This new feature lets you generate code at compile time, reducing ...
![Platform Channels are Dead! Objective-C/Swift Interop is Here!](https://quickbirdstudios.com/wp-content/uploads/2023/11/flutternative-768x388.png)
Dart 2.18 introduced Objective-C/Swift Interop. In this comprehensive guide, we explore how to seamlessly ...
![Swift Result Builders: Creating Custom DSLs for Binary Formatted Data](https://quickbirdstudios.com/wp-content/uploads/2023/08/screenshot_main_reference-1.png-scaled-1-768x388.png)
SwiftUI has revolutionized how we build UI, introducing a more intuitive, declarative approach. Instead of ...
![Class Modifiers in Dart: Sealed, Interface, Base](https://quickbirdstudios.com/wp-content/uploads/2023/06/sealed_class_cover_image-768x388.png)
With Dart 3 the class modifiers sealed, interface, final and base were introduced into the Dart language. They ...
![Restricted TextFields In SwiftUI – A Reusable Implementation](https://quickbirdstudios.com/wp-content/uploads/2023/04/restrictedview-768x388.jpg)
SwiftUI may lack built-in restricted textfield functionality, but our in-depth guide is here to fill the gap! This ...
![End-to-End Encryption: A Modern Implementation Approach Using Shared Keys](https://quickbirdstudios.com/wp-content/uploads/2023/03/e2e_border_size-768x388.jpg)
End-to-end encryption, otherwise known as E2EE, is an incredibly important aspect of modern application security. ...
![Understanding Dart Memory: Weak References and Finalizers Demystified](https://quickbirdstudios.com/wp-content/uploads/2022/12/weak_ref_blog_border-768x388.jpg)
Find out how weak references and finalizers can help you manage memory and improve the performance of your Dart ...
![The Complete Guide to iOS 16 Passkeys – App and Backend Implementation](https://quickbirdstudios.com/wp-content/uploads/2022/11/iOS16-passkeys-1-768x388.png)
With iOS 16 Apple introduced a way to go passwordless called Passkeys. In this article, we are covering what needs ...
![Swift RegexBuilder – A New Way to Build Regular Expressions in iOS](https://quickbirdstudios.com/wp-content/uploads/2022/11/regex-builder-1-768x388.png)
With the newly introduced RegexBuilder feature in Swift 5.7 and iOS 16, the days of complicated and unreadable ...
![Snapshot Testing in Kotlin and Android](https://quickbirdstudios.com/wp-content/uploads/2022/11/snapshottesting-android-768x388.png)
Introduction to snapshot testing with a simple and expandable snapshot testing library that can be used with ...
![Async/Await, Combine, Closures: A Guide to Modern Asynchronous Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/Async-Await-768x388.png)
A comparison between async/await, Combine, and closures in Swift. Includes an overview of the strengths and ...
![Handling Exceptions in Dart & Flutter: Everything you need to know](https://quickbirdstudios.com/wp-content/uploads/2022/11/ExceptionsDartFlutter-768x388.png)
An exceptional guide on how and when to use exceptions in Flutter and Dart. Includes a how-to on creating good ...
![The Abstract Syntax Tree – Kotlin vs. Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/Syntax-Tree-768x388.png)
A deep dive into the abstract syntax tree and how it could help to make our apps language independent with a ...
![How to Build a Wordle Game With SwiftUI](https://quickbirdstudios.com/wp-content/uploads/2022/11/wordlSwiftUI-768x388.png)
A step-by-step guide to recreate the famous game "Wordle" as an iOS app with SwiftUI. Includes a sample code repository.
![Value Classes in Kotlin: Good-Bye, Type Aliases!?](https://quickbirdstudios.com/wp-content/uploads/2022/11/ValueClassesKotlin-768x388.png)
Value classes are new in Kotlin! Shall we now drop all our type aliases and data classes in favor of value classes?
![RxSwift to Combine: The Complete Transition Guide](https://quickbirdstudios.com/wp-content/uploads/2022/11/RxSwiftCombine-768x388.png)
A convenient dictionary to look up the respective Combine equivalents for RxSwift functions, types, and operators ...
![Use Dart Mixins More Often! Here is Why…](https://quickbirdstudios.com/wp-content/uploads/2022/11/Dart-mixin-768x388.png)
Mixins are reusable chunks of code that can be plugged into any class without subclassing. This article explains ...
![Kotlin’s Sealed Interfaces & The Hole in The Sealing](https://quickbirdstudios.com/wp-content/uploads/2022/11/SealedCeilings-768x388.png)
Sealed interfaces are a powerful new feature in Kotlin. But they can be easily misused. This article explains when ...
![Supporting Both CocoaPods & The Swift Package Manager](https://quickbirdstudios.com/wp-content/uploads/2022/11/packagedistribution-768x388.png)
A step-by-step guide to set up your Xcode project to support both CocoaPods and the Swift Package Manager with ...
![How to Read BLE Characteristics in Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/BLESwift-768x388.png)
The ultimate guide for decoding characteristics' raw data received from Bluetooth Low Energy devices to meaningful ...
![Creating an Adaptive Search Widget in Flutter](https://quickbirdstudios.com/wp-content/uploads/2022/11/AdaptiveSearchWidget-768x388.png)
Flutter doesn't provide a platform-adaptive search widget. We show you how to build one from scratch for Material, ...
![Non-Empty Lists in Kotlin](https://quickbirdstudios.com/wp-content/uploads/2022/12/nonemptyKotlin-768x388.png)
No-one likes to open an empty box! We use non-empty lists and collections in Kotlin to avoid such unpleasant ...
![Navigation and Deep-Links in SwiftUI](https://quickbirdstudios.com/wp-content/uploads/2022/11/NavigatingSwiftUI-768x388.png)
We separate the navigation logic from the view logic and implement deep-links in SwiftUI, using our new ...
![Data Integrity: CRC with Kotlin on Android](https://quickbirdstudios.com/wp-content/uploads/2022/11/DataIntegrity-768x388.png)
How to implement a CRC algorithm in Kotlin to ensure that the data your Android app sends or receives is not corrupted
![How to Use the Coordinator Pattern in SwiftUI](https://quickbirdstudios.com/wp-content/uploads/2022/11/CoordinatorPattern-768x388.png)
Can we apply the Coordinator pattern in SwiftUI? Yes, we can! But it's not the same as in UIKit. Here's what we ...
![Unsafe Territory! Understanding Raw Bytes and Pointers in Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/UnsafeTerritory-768x388.png)
A complete guide to accessing memory in Swift. To help you feel more secure when working with pointers and raw bytes.
![How to Validate Your Data with a Cyclic Redundancy Check (CRC)](https://quickbirdstudios.com/wp-content/uploads/2022/11/Suspicious-768x388.png)
Data can get corrupted when stored or transmitted. This article explains how you can use a CRC to detect ...
![Data Integrity: CRC with Swift on iOS](https://quickbirdstudios.com/wp-content/uploads/2022/11/DataIntegrity-1-768x388.png)
How to implement a CRC algorithm in Swift to ensure that the data your iOS app sends or receives is not corrupted.
![Testing MVI View Models on Android](https://quickbirdstudios.com/wp-content/uploads/2022/11/MVIViewModel-768x388.png)
Welcome to the test arena, view models! We're going to build some MVI View Models on Android and explore how we ...
![Advanced Property Wrappers in Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/PropertyWrapper-768x388.png)
How to use property wrappers in Swift and SwiftUI to simplify your code and make it more reusable. With lots of ...
![Adding Custom Views to the Library in Xcode 12](https://quickbirdstudios.com/wp-content/uploads/2022/11/Libraryxcode12-768x388.png)
At WWDC 2020, Apple released the Xcode 12 Beta which makes it finally possible to add your own SwiftUI views to ...
![Android MVI with Kotlin Coroutines & Flow](https://quickbirdstudios.com/wp-content/uploads/2022/11/KotlinCoroutines-768x388.png)
In this article we use Kotlin Coroutines & the Kotlin Flow API to implement an MVI architecture. As a part of ...
![Going Remote: A Template for Organizing Your Team](https://quickbirdstudios.com/wp-content/uploads/2022/11/RemoteTemplate-768x388.png)
Switching to remote work is a big challenge for a company. Here we share our most precious "secret" that we ...
![Code Reviews Done Right: Your Missing Guideline](https://quickbirdstudios.com/wp-content/uploads/2022/11/CodeReviewsGuideline-768x388.png)
Plenty of things can go wrong in code reviews, rendering the entire process useless. Here's your ultimate guide ...
![iOS App Security: Best Practices](https://quickbirdstudios.com/wp-content/uploads/2022/11/iOSSecurity-1-768x388.png)
With iOS 16 Apple introduced a way to go passwordless called Passkeys. In this article, we are covering what needs ...
![Android App Security: Best Practices](https://quickbirdstudios.com/wp-content/uploads/2022/11/AndroidAppSecurity-1-768x388.png)
In this article, we collected best practices to keep your users’ data secure in Android Apps.
![Mobile App Security: Best Practices on Android & iOS](https://quickbirdstudios.com/wp-content/uploads/2022/11/iOSAndroidBestPractise-768x388.png)
Mobile apps deal with really private and sensitive user data like personal health information or banking ...
![SwiftUI Architectures: Model-View, Redux & MVVM](https://quickbirdstudios.com/wp-content/uploads/2022/11/SwiftUIArchitecture-768x388.png)
With SwiftUI and Xcode 11 released just recently, we decided to investigate different app architectures that can ...
![Dart Extension Methods](https://quickbirdstudios.com/wp-content/uploads/2022/11/DartExtensionMethods-768x388.png)
Many people criticized Dart because it was missing features like Extensions that programmers knew and love from ...
![I hated Gradle! Kotlin and the buildSrc Plugin made me love it](https://quickbirdstudios.com/wp-content/uploads/2022/11/GradleBuiltTool-768x388.png)
In this article, I would like to share our team's path to „Gradle Mastery“ and how easily you can become the guy ...
![Combine vs. RxSwift: Should you switch to Combine?](https://quickbirdstudios.com/wp-content/uploads/2022/11/Combinevs.RxSwift-768x388.png)
Roughly one month ago Apple showcased SwiftUI at WWDC 2019. Since we humans can only focus on one new thing, all ...
![SwiftUI vs. Jetpack Compose](https://quickbirdstudios.com/wp-content/uploads/2022/11/SwiftUIJetpackCompose-768x388.png)
Apple and Google finally published their own solutions called Swift UI and Android’s Jetpack Compose. In this ...
![How KEEP-87 & Typeclasses will change the way we write Kotlin](https://quickbirdstudios.com/wp-content/uploads/2022/11/KEEP87-768x388.png)
Since Kotlin is a rapidly evolving language, there is a place for everyone to submit and discuss proposals. We ...
![Functional String Parsing in Swift with Ogma: Implementing a Game of Thrones search engine](https://quickbirdstudios.com/wp-content/uploads/2022/11/FunctionalStringParsing-768x388.png)
I decided to write a String Parser in Swift. In fact, I wrote a Swift Open Source library called "Ogma", to do the ...
![Is Kotlin/Native production ready? Why we are not using it (yet)](https://quickbirdstudios.com/wp-content/uploads/2022/11/Kotlinready-768x388.png)
It is obvious that we were really excited once we first glanced over Kotlin/Native and Kotlin Multiplatform! With ...
![Flutter: Pull-To-Refresh was yesterday. Check out Pull-To-Reach!](https://quickbirdstudios.com/wp-content/uploads/2022/11/FlutterPull-to-reach-768x388.png)
With Pull-To-Reach, the user can select toolbar items by swiping down rather than stretching his thumb up to the ...
![Dependency Injection Strategies in Swift](https://quickbirdstudios.com/wp-content/uploads/2022/11/DependencyInjection-768x388.png)
We have looked closely at Dependency Injection in Swift, a heavily used concept in many programming languages. ...
![Development approaches for porting code bases to a new platform](https://quickbirdstudios.com/wp-content/uploads/2022/11/portingcodebases-768x388.png)
In this article, we present approaches to implementing software projects for a new platform when the code base on ...
![What makes a great developer? A story of an extraordinary blacksmith](https://quickbirdstudios.com/wp-content/uploads/2022/11/BlacksmithGordopn-768x388.png)
Today, we are taking a look why Gordon is such an extraordinary blacksmith, more importantly, what you can learn ...
![Introducing an iOS navigation library based on the coordinator pattern](https://quickbirdstudios.com/wp-content/uploads/2022/11/navigationlibrary-768x388.png)
Naturally, views tend to become overstuffed and get too many responsibilities. Today we show you a solution for ...
![What is Functional Reactive Programming (FRP)?](https://quickbirdstudios.com/wp-content/uploads/2022/11/FRP-768x388.png)
Everybody talks about it but many people don’t really know what it fundamentally is. So what is it, at its very ...
![Software Design Pattern: Composite by Induction](https://quickbirdstudios.com/wp-content/uploads/2022/11/Uptrend-768x388.png)
We fell in love with the Composite Pattern. Our own approach to this pattern is called Composite by Induction ...
![Syncing app data: Sync Realm with server-side database like MySQL](https://quickbirdstudios.com/wp-content/uploads/2022/11/SyncAutomation-768x388.png)
In this article, we will demonstrate a more generic, easier solution by adding an automatic sync service to your ...
![App architecture: MVVM in Flutter using Dart Streams](https://quickbirdstudios.com/wp-content/uploads/2022/11/MVVMPizza-768x388.png)
This article will show you how MVVM with Flutter could look like. We’ll create a functional reactive ViewModel ...
![App architecture: Functional MVVM with RxJava & RxSwift](https://quickbirdstudios.com/wp-content/uploads/2022/11/UIViewController-768x388.png)
Take a look at our MVVM style! We use a very functional MVVM approach with RxJava/RxSwift and platform independent ...
![Testing Mobile Apps](https://quickbirdstudios.com/wp-content/uploads/2022/11/TestingAppsOverview-768x388.png)
Do you know the four fundamental layers of testing software? We show you how they apply to mobile apps, which ...