Systems | Development | Analytics | API | Testing

April 2022

My experience with Flutter as an Android developer + how to get started

This is a story about how I switched from Android development to Flutter. About 10 years ago, I created my first Android application. I worked for a company that focused on mobile development — iOS and Android. For me, Android development was the obvious choice. I liked Java more than Objective-C, and in general, Android was more affordable. However, mobile development has changed a lot over the years. There are so many new languages, technologies, and architectures.

Apple is deprecating Xcode 12. What does this mean for you and your Codemagic projects?

Apple recently announced that starting from April 25, 2022, all iOS or iPadOS apps you submit to the App Store need to be built with Xcode 13 (or later). This means that Xcode 12 is now deprecated, and people using Xcode 12 or older can no longer publish their apps to the App Store without upgrading their Xcode version. Each year, Apple decides to deprecate the older version of Xcode and stop allowing apps built with it to be uploaded to the store.

How to solve version inconsistencies for a better compilation with Codemagic CI/CD

In the development world, it’s very common for technologies to be rapidly updated to introduce new features that improve the development experience and performance. These updates are very beneficial for developers because they allow them to create better products. This is especially the case when a CI/CD like Codemagic is used for continuous deployment that streamlines the process of delivering new products.

10 tips for better pull requests and code review

Code review is a widely adopted approach in the world of software development. Having fellow developers check your code (and checking theirs in turn) helps eliminate mistakes, clean the codebase, and share knowledge across the team. But as helpful as it is, code review can still be quite stressful and time consuming.

Practical Guide: Flutter + Firebase + FlutterFire CLI + CI (Codemagic)

This article highlights three technologies that you can combine to create a super-app: Flutter, Firebase, and Codemagic. Our task is to configure Firebase for all platforms supported by the Flutter framework, utilize Firebase Remote Config to alter the appearance of our app without making these changes manually and then set up CI/CD using Codemagic to distribute our app via Firebase App Distribution. We’ll be creating a live demo of the app to demonstrate the power of these technologies.

Issues with Apple silicon and snapshot/golden testing

While the prospect of getting much faster build times with the Apple silicon (aka M1) processors seems very exciting, you may face issues that stem from the architectural differences between arm64 and x86. One of these issues is related to snapshot testing or golden testing on Flutter. You are not alone in this, as it’s a widespread issue in which snapshots generated on an Intel machine fail on Apple silicon machines — and vice versa.

Issues with uploading to the App Store and how to solve them

After you successfully build and test your app, you may want to upload the build to TestFlight or the App Store. Sometimes, you may face an unknown authentication error that makes it difficult for you to upload the iOS binary to App Store Connect. You may even face an authentication error after using a valid App Store API key. If you’ve faced this problem, you’re not alone.

How to implement GraphQL with Flutter + GraphQL example

Have you ever faced the task of implementing a REST API and had to call multiple endpoints to populate data for a single screen? You probably wished you had more control over the data returned by the endpoint so that you could fetch more data with a single endpoint call or have only the necessary data fields returned by the call. Follow along to see how you can achieve this with GraphQL. In this article, we’ll be implementing GraphQL in an existing codebase.

Build automation - how can your project benefit from it?

As the size of a software project grows, so does the complexity of integrating changes made by multiple developers and resolving conflicts and other issues as they arise. Quality control can also become progressively more difficult without proper management of the build pipeline. Automated builds are the standard solution to this problem across the industry. Understanding build automation in detail is a valuable skill for any developer, no matter the size of their team.

How to set up Firebase Crashlytics for a Unity Android app

TL;DR: To add events monitoring with Crashlytics to a Unity Android app, you’ll first need to prepare a Firebase project, then add the Firebase plugin to Unity and configure Unity to work with Firebase. Finally, you also need to update your CI/CD pipeline to support the changes. Let’s see how to integrate Firebase Crashlytics into a Unity Android app to monitor and troubleshoot errors easily!