ezone
  • Home
  • Blog
    • Cloud ERP
  • Flutter
    • FlutterFlow
  • Joomla
  • About

Learning Flutter

Wait, what is Flutter™ ?

A framework for simultaneous publication of apps for Apple and Google Android devices

Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.

I create mobile applications that can be published in the App Store and Google Play. I'm not a hard core developer, I have professional developers working with me in my clients and contracted work. But I am a product manager / interim CTO.

It seemed to me that going through the whole process of app creation and management and documenting it for others would be useful. I've been writing requirements and producing mobile applications for decades but I thought I'd like to learn at a far deeper level about Flutter just for fun and because cross platform applications are something I have a passion for. This is my learned experience of picking up these development tools and seeing what I can do.

Books

You might enjoy printed books. If you do then this one would be a strong pick - Flutter for Beginners: An introductory guide to building cross-platform mobile applications with Flutter 2.5 and Dart, 2nd Edition. As is Flutter Projects: A practical, project-based guide to building real-world cross-platform mobile applications and games (both on Amazon UK).

Flutter starter app running on iPhone 14 Pro simulator on macOS Ventura (Intel)
Flutter starter app running on iPhone 14 Pro simulator on macOS Ventura (Intel)

Of course, one does not simply publish an app.

In order to publish an app you have to plan, code, build, test, publish, operate, monitor, manage and update it. This is a familiar pattern these days, its sometimes called 'devops', and it can't be avoided, for if you skip elements of it then updating your app or managing it might become impossible over time. You don't want that! So while this collection of articles is based around Flutter it is also about all the surrounding disciplines that need to be considered as part of development and operating a cross platform mobile application and the inevitable platform behind it.

Flutter tech notes and demos

Java on macOS Sequoia - especially for android app developers

Java on macOS Sequoia - especially for android app

Java is painful on macOS. Java 6 was once available from Apple but this ceased after Mac OS X 10.6 Snow Leopard in 2013. Oracle have changed the licencing which makes using their Java downloads a minefield. Their licence permits certain uses, such as personal use and development use at no cost but other uses may no longer be available. 

This is enough of a restriction to mean that alternative implementations of Java have flourished. But they are still complex to deal wth on a Mac computer.

TL:DR – Android Studio installs its own java runtime. The latest release 'ladybug' appears to be incompatible with Flutter. You can fix it all but you have to wonder why two developer products from one vendor are out of whack with each other. 

Details
Last Updated: 07 September 2026

Read more: Java on macOS Sequoia - especially for android app

Mobile Applications: The Hidden Complexity Behind the Curtain

Mobile Applications: The Hidden Complexity Behind the

Mobile applications have evolved far beyond simple web app clones. Their development requires careful attention to design, performance, and compatibility. Developers must navigate a range of devices, operating systems, and hardware constraints. This article examines the true intricacies of mobile app development and dispels the notion that these applications are easily produced.

TL:DR – Books such as Learn Google Flutter Fast: 65 Example Apps can help to enhance your development skills.

Details
Last Updated: 07 September 2026

Read more: Mobile Applications: The Hidden Complexity Behind the

Viewing changes in Flutter using hot reload

Viewing changes in Flutter using hot reload

Build and publish a Flutter-based app for the App Store and Google Play — updated for 2026 with current tooling, shortcuts, and Flutter 3.44 features.

Hot reload is one of Flutter's most compelling advantages for mobile development. The ability to see UI changes reflected on a running device in under a second — without losing app state — transforms the way you iterate on a design. If you haven't used it before, you'll quickly wonder how you ever managed without it.

TL:DR –  Start by following the instructions in Getting started with Flutter on a Mac and then you'll be able to complete the tasks in this article.

Details
Last Updated: 29 July 2026

Read more: Viewing changes in Flutter using hot reload

Wiring up an appBar action to a login page using Flutter

Wiring up an appBar action to a login page using Flutter

Build and publish a Flutter app for the App Store and Google Play — updated for 2026 with current Flutter conventions and navigation best practices.

Apps that open with a mandatory sign-in screen lose users fast. Tolerance for friction at launch has only fallen further in recent years, and app store reviewers increasingly flag poor onboarding as a reason for low ratings. Wherever possible, apps should deliver their core value to anonymous users first, and offer sign-in as an optional upgrade to a more personalised experience. Think of it as the commute test: can a user get what they need from your app in the time it takes to check their phone between stops? If a login wall is the first thing they see, the answer is almost certainly no.

TL:DR – Tuck your login page behind an AppBar action. Keep the main experience open and accessible. Sign-in should be an invitation, not a toll booth.

Details
Last Updated: 29 July 2026

Read more: Wiring up an appBar action to a login page using Flutter

Typography, Text Styles and Themes in Flutter

Typography, Text Styles and Themes in Flutter

Build and publish a Flutter-based app for the App Store and Google Play — updated for 2026 to reflect the current Material 3 typography system.

When this article was first written, Flutter's TextTheme used naming conventions inherited from the 2018 Material Design guidelines, themselves a partial update on the 2014 spec. The sizes, weights, and spacing still largely reflected that older era. Since then, Flutter has completed its migration to Material 3 (also called Material You), and the typography system has been rebuilt from the ground up to match it.

TL:DR – Flutter's typography system has been substantially overhauled since this series began. The old headline1–headline6, bodyText1, bodyText2, subtitle1, subtitle2, caption, overline, and button style names are now fully deprecated and removed. The current TextTheme follows Material 3, with five semantic categories — Display, Headline, Title, Label, Body — each offering Large, Medium, and Small variants, giving you fifteen named styles in total. If your codebase still references headline1 or bodyText2, it will no longer compile without migration.

Details
Last Updated: 29 July 2026

Read more: Typography, Text Styles and Themes in Flutter

Getting started with Flutter on a Mac

Getting started with Flutter on a Mac

Build and publish a Flutter-based app for the App Store and Google Play — updated for 2026 with current tooling, current hardware, and current best practices.

Follow along to learn everything you need to set up your environment, build a Flutter-based app, put it into source control, and publish it to the App Store and Google Play. Along the way you will need some third-party tools and services. The ones used here are chosen to be the simplest viable set, but you are free to make other choices. We have published hundreds of apps for both stores and will cover wider topics around publication and ongoing distribution. One of those topics — licenses — appears in this very first article. Don't skip it.

macOS running a flutter app form the terminal in the iOS emulator with a DevTools debugger available.
macOS running a flutter app form the terminal in the iOS emulator with a DevTools debugger available.

TL:DR – Start here. Get all the tools required and build your first mobile app using Flutter on a Mac with Apple silicon. Every Mac Apple sells today runs Apple silicon, and Flutter's toolchain in 2026 reflects that reality.

Details
Last Updated: 29 July 2026

Read more: Getting started with Flutter on a Mac

Trying out the Material Components for Flutter

Trying out the Material Components for Flutter

Build and publish a Flutter-based app for the App Store and Google Play — revisited and updated for 2026, where Material 3 is now the default design language and several APIs have changed significantly since this series began.

TL:DR — In this article we add Buttons, Floating Action Button, Chips, Data Table, Dialogs, List View, Popup Menu, and Navigation Drawer.

Details
Last Updated: 29 July 2026

Read more: Trying out the Material Components for Flutter

Trying out more Material Components for Flutter

Trying out more Material Components for Flutter

Build and publish a Flutter-based app for the App Store and Google Play — revisited and refreshed for 2026, now that Material 3 is firmly the default design language in Flutter.

TL:DR – n this article we add Progress indicators, Selection controls (Radio buttons, checkboxes and switches), SnackBar via ScaffoldMessenger, Bottom Navigation Bar, and Text fields — all updated to reflect current Flutter 3.x and Material 3 conventions.

Details
Last Updated: 29 July 2026

Read more: Trying out more Material Components for Flutter

Setting up Firebase Firestore

Setting up Firebase Firestore

A Beginner's Guide to Firebase Firestore for App Developers

Firebase Firestore is a flexible, scalable database built for mobile and web applications. It supports hierarchical data structures, expressive queries, realtime updates, offline support, and seamless integration with other Firebase and Google Cloud products. If you are building a mobile app and need a reliable cloud database, Firestore is an excellent choice.

This article walks you through the steps required to create a Firebase project, set up a Firebase Firestore database, add data, and read data from it.

TL:DR –  This article goes through the setup steps required to get it going.

Details
Last Updated: 29 July 2026

Read more: Setting up Firebase Firestore

Adding Firebase to our Flutter App

Adding Firebase to our Flutter App

Build and publish a Flutter-based app for the App Store and Google Play — updated for 2026 with the current FlutterFire CLI approach.

There is a list of essential configuration steps to get Firebase working in your mobile app. The good news is that the process has been significantly streamlined since this series began. The old manual approach — editing Gradle files by hand, dragging .plist files around in Xcode — has largely been replaced by a dedicated CLI tool that handles the heavy lifting for you. Once completed, you won't need to revisit this setup again.

TL:DR – This article covers Firebase configuration, database setup, and project settings required to make your Flutter app work with Cloud Firestore. It has been updated to reflect the current FlutterFire CLI workflow, updated minimum SDK requirements, and the way Firebase projects are configured in 2026.

Details
Last Updated: 29 July 2026

Read more: Adding Firebase to our Flutter App

 Setting up App Store Connect / Google Play for a new app

Setting up App Store Connect / Google Play for a new app

Build and publish a Flutter-based app for the App Store and Google Play — updated for 2026 to reflect the current state of both platforms.

Read carefully, and then read again. The decisions you make at this stage will follow your app for its entire lifecycle. Some things genuinely cannot be undone.

TL:DR – Sensible, consistent naming matters across every platform and tool you'll use. If you're managing more than one app or working with clients, you'll thank yourself later for getting this right from the start.

Details
Last Updated: 29 July 2026

Read more: Setting up App Store Connect / Google Play for a new app

Implementing Firestore in our app

Implementing Firestore in our app

Build and publish a Flutter-based app for the App Store and Google Play — updated in 2026 to reflect the current Firebase and FlutterFire ecosystem.

TL:DR – The core appeal of Cloud Firestore hasn't changed: edit a document in the Firebase Console and you'll see it update on your device in real time. What has changed is how you wire everything together, with FlutterFire packages now fully stable, null safety baked in throughout, and the Firestore API meaningfully updated since the early days of this series.

Details
Last Updated: 29 July 2026

Read more: Implementing Firestore in our app

FlutterFlow - Low code app builder based on Flutter

Page 3 of 4

  • 1
  • 2
  • 3
  • 4

Popular articles about Flutter

  • Java on macOS Sequoia - especially for android app
  • Getting started with Flutter on a Mac
  • Export compliance and the App Store
  • Building a Flutter Barcode Scanner app
  • Flutter development on a Chromebook
  • Using Cloud Firestore 
  • Getting the latest YouTube video for a Flutter app
  • Using Google Sheets in a Flutter app
  • Dark and light appearance in mobile apps
  • Sign in with Apple from Pub.Dev Package Manager for Flutter
  • Bad CPU type in executable Error: Unable to 'pub upgrade'
  • Making mobile apps look better - theme and colours
  • Starting from a sample in Flutter
  • Adding Google as a Sign-in provider
  • Setting up Firebase Firestore
Add as a preferred source on Google

Recent articles

  • Building for One, Part twelve: Joomla as the household's front door
  • Building for One, Part eleven: two days between finished and in review
  • Building for One, Part ten: the chime that follows her out of the app
  • Building for One, Part nine: the free tablet and the paid household
  • Building for One, Part eight: why Daysome is not peer to peer
  • iPhone 18 Pro Max: Which Features Actually Justify an Upgrade
My Blog
  • Terms of use
  • Privacy statement
  • Contact us
  • Sitemap
  • Joomla! — award-winning content management system (CMS)
  • Flutter — An open source framework for building applications from a single codebase