Systems | Development | Analytics | API | Testing

Codemagic

Clean architecture explored

It’s your first day at an exciting company, and everything’s going great. It’s time to familiarize yourself with the codebase. So you fork it from GitHub, and lo and behold, your warm smile is replaced with utter confusion. The codebase is filled with spaghetti code. Simply, it’s chaotic. We developers are often faced with scenarios like this.

Xcode 14.3 Requires macOS Ventura. What does this mean for you and your Codemagic projects?

The latest version of Xcode 14.3 requires you to update your Mac to run macOS Ventura 13.0 or later. At the time of writing this article, Codemagic is already equipped with the most recent Xcode 14.3 Beta 3 and macOS Ventura 13.2.1, ensuring you the latest developement environment! Apple has already released three betas of Xcode 14.3, and the latest Xcode includes Swift 5.8 and SDKs for iOS 16.4, iPadOS 16.4, tvOS 16.4, watchOS 9.4, and macOS Ventura 13.3.

A Complete Guide to Firebase Multifactor Authentication in Flutter

Authentication is a crucial part of your application. Failing to handle your authentication flow with caution can create a lot of problems for your business. In this era of rising security risks on popular websites and apps, it is very important to add multifactor authentication to your application. Multifactor authentication adds another security layer to your app, helping users to retain their accounts even if their password is compromised.

How to embed an Android Unity game in a Flutter app

One of the great features that made Unity popular is its ability to provide builds for multiple platforms out of the box. But there may be scenarios in which you would like Unity to comprise just a part of your application, while the rest is written with some other framework. A typical use case is using Unity’s functionality inside a Flutter application.

A pragmatic guide to BuildContext in Flutter

As a senior Flutter developer, a big part of my daily job consists of reviewing code, mentoring other developers, and helping them with their problems. One mistake that I noticed developers repeating on many occasions is misusing BuildContext. I analyzed why this happens and came to the conclusion that it is because of an incomplete understanding of what BuildContext is, how it works, and its scope and lifecycle.

Tiny Flutter: The future of Dart & Flutter on small devices?

Dart recently added experimental support for the new RISC-V CPU architecture and the first boards with these new chips are now starting to be available. One of these is the Sipeed Lichee D1, a RaspberryPi type device that is able to run Linux and Dart. At the same time, tiny but very cheap OLED screens are showing up in all sorts of devices, from soldering irons to high end music synthesizers. But what does it mean for Flutter and its mission "Beautiful apps for every screen" when the screen is 1 inch with a resolution of 128x64? Is that even possible? In this talk I'll cover how to get Dart running on one of these boards, how to use these tiny screens from Dart and what parts of Flutter can help with using screens this small.

Introducing the official Codemagic integration for Runway

Codemagic is now officially integrated with Runway, the DevOps platform for mobile. But wait, you might be wondering, isn’t Codemagic already that as a CI/CD for mobile? Aren’t the two services interchangeable? In fact, it’s quite the opposite — they’re powerfully complementary.

Creating WebView Content Blockers with Flutter InAppWebView

In this article, we are going to learn how to create a custom Content Blocker for our WebView instances using the flutter_inappwebview plugin. Content Blockers are usually used for blocking ads, but you can also use them to block any other content. Blocking behaviors include hiding elements, blocking loads, and, on iOS and macOS, stripping cookies from WebView requests.