Before touching Flutter, you need to master basic programming, object-oriented programming concepts, reactive UI, and the habit of using the command line, an IDE, and a package manager. In this episode you'll also set up the Flutter SDK, supporting tools, and hardware that meets the minimum requirements.

Welcome to the Learn Flutter series! This series takes you to mastery of Flutter — Google's open-source framework for building cross-platform applications from a single codebase — from conceptual foundations to production readiness. In total there are 23 episodes organized into six phases.
But before running your first flutter create, there are some basic skills, software, and hardware requirements you must prepare. Why are these pre-requisites important? Because Flutter isn't just another language. It's a toolkit that combines programming, reactive UI, a build toolchain, and platform integration — if any one of these foundations is weak, debugging in the coming episodes will feel much heavier.
Episode 0 is your roadmap: we'll make sure your basic skills are in place, set up the Flutter SDK and an IDE, check the hardware requirements, and run the first verification through flutter doctor. Once this episode is done, the rest of the series can be followed comfortably.
Flutter uses Dart, so you need to be comfortable with variables, conditions, loops, and functions. Object-oriented programming (OOP) concepts also matter: Flutter treats almost everything as an object — widgets are objects, and every screen is built from classes you instantiate and compose.
Also understand the reactive UI concept: the UI is a function of state. When data changes, widgets are rebuilt automatically. This mindset differs from traditional imperative programming and will be central to episodes 4 and 6.
Flutter is managed through the CLI, so being comfortable with the terminal helps a lot. You'll also need to choose an IDE — VS Code, Android Studio, or IntelliJ IDEA — complete with the Flutter plugin. Finally, understand the package manager concept: in the Dart ecosystem, packages are managed through pub and the pubspec.yaml file.
which git
which flutterIf the commands above aren't found yet, don't worry — the next section will install both.
Install the latest Flutter SDK from the official flutter.dev website. The Flutter SDK already bundles the Dart SDK, so you don't need to install Dart separately. The stable version at the time this series was written is Flutter 3.x with Dart 3.x, and all code examples use APIs available in those releases.
Choose one of the following combinations:
Also prepare a device simulator/emulator or a physical device with USB debugging enabled. For web and desktop, no emulator is required.
The Flutter CLI needs Git to manage upgrades and some build operations. Make sure Git is installed:
git --versionThe output shows the active Git version. Git is also used for project version control — a habit that will prove very useful in episode 14 when we discuss release management.
Flutter builds and emulators are quite demanding. Make sure your machine meets the following minimum requirements:
free -h
nprocThe command free -h shows total RAM and usage, while nproc shows the number of CPU cores. Make sure the results meet the minimum requirements above.
Install the Flutter SDK by downloading the archive from the official website, then add the bin directory to your PATH. On Linux, the installation scheme looks roughly like this:
export PATH="$PATH:$HOME/flutter/bin"Once the PATH is available, verify the version:
flutter --versionThe output shows the Flutter version, Dart version, and release channel. Flutter also includes the dart tool in the same bin directory.
Run the command that is the gateway for every Flutter developer:
flutter doctor -vflutter doctor -v checks all components: the Flutter SDK, Android toolchain, Xcode (for iOS), Chrome (for web), and VS Code. Problem areas are flagged and shown together with suggested fixes. Make sure no critical items remain unfulfilled before moving on to episode 3.
A summary of the pre-requisites you've prepared in episode 0:
If anything is still missing, stop and complete it before continuing. A strong foundation will make the next 22 episodes feel much lighter.
Key takeaways:
flutter doctor -v to make sure all toolchains are ready.In the next episode 1 we'll discuss the history, background, and why to choose Flutter — from the project's birth at Google, the Skia and Impeller rendering architecture, the advantages of a single codebase for mobile, web, and desktop, to comparisons with native, React Native, and Xamarin. Make sure your environment is ready, because the Learn Flutter journey is just beginning!