Mobile App Development Blog

Swift RegexBuilder – A New Way to Build Regular Expressions in iOS

Remember the last time you were trying to validate an email address? Or you struggled to create a RegEx to find all the matches for a specified pattern in a string? Chances are high that you ended up just copying a RegEx (that you didn’t understand) from the internet. iOS 16 tries to solve this […]

Async/Await, Combine, Closures: A Guide to Modern Asynchronous Swift

With async/await Apple introduced yet again another way of making asynchronous calls in Swift. There are now three different ways of making asynchronous calls: Completion handlers, Combine and async/await – If you also take community solutions like RxSwift or ReactiveSwift into account there are even more. What are we actually supposed to use now? Is […]

Handling Exceptions in Dart & Flutter: Everything you need to know

Are you aware that every Dart method can throw an exception at any time? Many Flutter developers understand exceptions the wrong way because exceptions in Dart are different compared to many other languages. Not only can an exception cause an ugly error, but it can also break the users’ flow. This often results in users […]

Value Classes in Kotlin: Good-Bye, Type Aliases!?

With the release of Kotlin 1.5.0, value classes (formerly known as inline classes) are finally stable and were released from their @OptIn annotations. Many were hyped about the release, but it also created a lot of confusion as we now have three very similar tools in Kotlin: Typealises, data classes, and value classes. So which […]

Kotlin’s Sealed Interfaces & The Hole in The Sealing

Sealed interfaces were just introduced in Kotlin 1.5 and are a very powerful new feature. But with great power comes great responsibility, so we need to learn when to use and when to not use this newly achieved power. In order to understand sealed interfaces and their use cases, let’s accompany our cute little QuickBirdTM […]

Supporting Both CocoaPods & The Swift Package Manager

When creating a library, we usually strive to support all commonly used package managers. For iOS libraries, the most popular ones are Cocoapods, the Swift Package Manager (SPM), and Carthage.Different package managers have different ways of organizing your project’s dependencies. Thus, supporting multiple package managers is a little challenging. In this article, we’ll show you […]

How to Use the Coordinator Pattern in SwiftUI

When developing iOS apps with UIKit, many developers have used the Coordinator pattern to abstract away the connections between individual view components. This increases the reusability of view components (such as view controllers), reduces responsibilities of the frequently overcrowded UIViewController implementations and makes connections, such as transitions and data exchange, between view components more visible. […]

Unsafe Territory! Understanding Raw Bytes and Pointers in Swift

It’s rare that you juggle with bits and bytes in Swift because of its neat static type system. Most of the time, you don’t care what’s under the hood – you just work with classes, structs, and enums or primitive types like Int, Float or String. But sooner or later, almost every Swift developer gets […]

Mobile App Security: Best Practices on Android & iOS

Mobile apps often deal with really private and sensitive user data like personal health information or banking information. Losing data or getting hacked, therefore, can have huge consequences. There is no bigger nightmare for any app developer than knowing that his application was involved in a huge data leak scandal and user data was stolen. […]