Flutter dev environment for all platforms on Apple MacBook M1 ARM
Learn how to use Flutter to build cross-platform apps on an Apple M1 Mac By: Dániel Sipos onNote: Since this article was written, Broadcom acquired VMware and changed the licensing model for VMware Fusion. Verify current availability and licensing before following this guide.
This article describes how to create a cross-platform runtime environment and deliver a good solution for Flutter application development.
Note that this setup requires an Apple Silicon Mac, since macOS and iOS development tools are only available on Apple hardware.
Which platforms exactly are we talking about, i.e. Android, iOS, macOS, Web, Windows and Linux. The first 4 platforms work fine on a Mac ARM computer, but Windows and Linux are only available on that computer in a virtualized environment. After evaluating several virtualization options (UTM, Parallels, VirtualBox), VMware Fusion stood out as a free solution with acceptable performance for Flutter development.
VMware Fusion
Harness the full power of your Mac when you use VMware Fusion to run Windows, Linux, containers, Kubernetes and more in virtual machines (VMs) without rebooting.
Try and use with registration for free: https://www.vmware.com/products/fusion.html
Windows 11 ARM
To access and download this Windows ARM ISO, you need to be a member of the Windows Insider program. Follow this link, for more information: https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64
Microsoft is working to deliver an Arm-native developer toolset that includes Arm-native Visual Studio 2022, Visual Studio Code, VC++ toolchain, classic .NET Framework, modern .NET, and Java. Microsoft is also working with several 3rd parties and open-source communities to port common tools, runtimes, frameworks and libraries to natively target Windows on Arm
Follow the Flutter documentation about Windows Dev Env: https://docs.flutter.dev/get-started/install/windows
Linux Ubuntu 22.04.x ARM
The ARM version of Ubuntu 22.04 Desktop is a bit hidden from the public, but you can still find it in the official ISO files. Download the arm64v8 version from it: https://cdimage.ubuntu.com/jammy/daily-live/current/
Linux machines with ARM-based CPUs aren’t currently supported by Android Studio. So you can use Visual Studio Code as Flutter IDE.
Follow the Flutter documentation about Linux Dev Env: https://docs.flutter.dev/get-started/install/linux
Conclusion
This setup provides a complete Flutter development environment covering all six supported platforms from a single Apple Silicon Mac, using VMware Fusion for Windows and Linux targets.