Blog

Notes on Flutter, Dart, iOS and mobile CI, from the work.

RSS feed

  1. macOS CI on a budget

    Using the Mac you already work on as a CI machine for iOS builds, with GitHub Actions and a virtualised macOS.

  2. Delayed code execution in Flutter

    Why calling notifyListeners from initState breaks the build, and when to use a microtask, a Future or a post-frame callback instead.

  3. Installing a self-hosted GitHub Actions runner on a Synology NAS

    Running a self-hosted GitHub Actions runner in Docker on a Synology NAS, step by step, with the security trade-off stated up front.

  4. Mobile app user testing on a budget: a practical guide

    User testing without a research budget: recruiting testers, writing a test plan they can follow alone, and short follow-up interviews.

  5. Dart extensions, generating copyWith methods

    How Dart 2.7’s extension methods made it possible to generate copyWith methods in a build step: the idea behind copy_with_extension.

  6. A native iOS developer’s perspective on React Native vs Flutter (part 3)

    React Native and Flutter compared on language, development speed and more, from one developer’s experience with both.

  7. A native iOS developer’s perspective on React Native vs Flutter (part 2)

    Building a small production app in Flutter: first impressions of the framework, Dart and its tooling.

  8. A native iOS developer’s perspective on React Native vs Flutter (part 1)

    Why a native iOS developer went looking at cross-platform frameworks, and what building a React Native app was like.