One codebase, every screen,Flutter.
Google's open-source UI toolkit compiles a single Dart codebase into natively compiled apps for mobile, web, and desktop — with hot reload showing changes in under a second. This guide covers installing the SDK, verifying with flutter doctor, the essential CLI cheatsheet, the widget model, and finding packages on pub.dev.
Rendered, not wrapped
Instead of wrapping native controls, Flutter ships its own rendering engine and widget set — a single design looks and behaves identically on Android, iOS, the web, and desktop.
- SDK — clone, add to PATH, run flutter doctor.
- CLI — run, devices, logs, pub add in one cheatsheet.
- Widgets — Stateless vs Stateful and the build cycle.
On this page
What this guide covers
Install the SDK
Windows, macOS, and Linux setup — clone the SDK, add it to PATH, and resolve every flutter doctor warning.
CLI cheatsheet
The daily commands — doctor, upgrade, pub get, devices, run, logs, clean, and package management.
Widget model
Everything is a widget — Stateless vs Stateful, the build method, and Flutter's reactive rebuild cycle.
Packages on pub.dev
The official Dart and Flutter package repository — add dependencies with flutter pub add.
Start here
Overview
Flutter is Google’s open-source UI toolkit for building natively compiled apps for mobile, web, and desktop from one Dart codebase. Instead of wrapping native controls, Flutter ships its own rendering engine and widget set, so a single design looks and behaves identically on every platform. Its standout developer feature is hot reload — code changes appear in the running app in under a second.
This guide gets you productive fast: install the SDK, verify it with flutter doctor, learn the essential CLI commands, understand the widget model, and find packages on pub.dev.
The pitch
Information
TLDR; Flutter is an open source cross platform development kit.
Flutter is a software development kit created by Google that allows developers to build beautiful and natively compiled applications for almost any platform - mobile (Android and iOS), web (any browser) and desktop (Windows, Mac, Linux) all from a single codebase. Flutter is often used with DART, which is an object-oriented programming language by Google. The biggest advantage of flutter is that it can be used to create cross-platform applications. So, if you want to build an app that looks stunning and works great on any device, Flutter is the way to go! 😊
Get set up
Install
Installation is broken down into two different aspects, the first aspect is within the core of flutter and the other aspect contains the scopes.
Windows
Section titled “Windows”You can install Flutter on Windows by following these steps:
- Navigate to flutter.dev on your webpage.
- On the top menu bar, select Docs > Get Started > Install > Windows.
- Check for the System Requirements.
- Download the Flutter SDK.
- Extract the zip file and place it in your desired location.
- Add Flutter to your path.
- Run
flutter doctorto verify that Flutter has been installed correctly.
macOS / Linux
Section titled “macOS / Linux”On macOS and Linux the fastest route is to clone the SDK and add it to your PATH:
git clone https://github.com/flutter/flutter.git -b stable ~/flutterexport PATH="$PATH:$HOME/flutter/bin"flutter doctorflutter doctor inspects your toolchain and lists anything missing — Android SDK, Xcode, or IDE plugins — with a checkmark or an ✗ plus a fix hint. Resolve every ✗ before building.
Create and Run Your First App
Section titled “Create and Run Your First App”flutter create my_appcd my_appflutter runflutter create scaffolds a counter demo app. flutter run builds it and launches on a connected device or emulator — then edit lib/main.dart and save to see hot reload in action.
Daily drivers
Cheatsheet
- Healthcheck
flutter doctor
- Flutter upgrade
flutter upgrade
- Package Get
flutter packages getflutter pub get- Flutter will download and save the packages locally.
- List all devices for flutter.
flutter devices
- Run application on a specific device.
flutter run -d {$device} -v
- Flutter logs from the specific device.
flutter logs -d {$device}
- Flutter clean
flutter clean- The command deletes all temporary folders and builds.
- Fluter cache
flutter pub cache repair
- Package removal.
flutter pub remove {$package}
- Package add / install
flutter pub add {$package}
Everything is one
Widgets
In Flutter, everything is a widget — text, padding, buttons, and even the app itself. A widget is an immutable description of part of the UI; Flutter composes them into a tree and renders it. There are two core kinds:
- StatelessWidget — describes UI that never changes on its own (a label, an icon).
- StatefulWidget — holds mutable state and rebuilds when that state changes (a counter, a form).
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget { const MyApp({super.key});
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: const Text('Hello Flutter')), body: const Center(child: Text('Welcome to KBVE')), ), ); }}The build method returns a widget tree. When state changes, Flutter calls build again and efficiently updates only what differs — the foundation of its reactive UI model.
pub.dev
Packages
Pub.dev is the official package repository for Dart / Flutter apps! Add one with flutter pub add <package>, which records it in pubspec.yaml and downloads it, then import it in your Dart code.
Questions
Frequently asked
What is Flutter?
Flutter is Google's open-source UI toolkit for building natively compiled applications for mobile (iOS and Android), web, and desktop from a single Dart codebase. It renders its own widgets, so the UI looks and behaves consistently across platforms.
What language does Flutter use?
Flutter apps are written in Dart, an object-oriented, strongly typed language by Google. Dart compiles ahead-of-time to native machine code for release builds and just-in-time during development to enable hot reload.
What is flutter doctor?
flutter doctor is a diagnostic command that checks your environment for everything Flutter needs — the SDK, platform toolchains (Android SDK, Xcode), connected devices, and IDE plugins — and reports what is missing with fix suggestions.
What is a widget in Flutter?
In Flutter everything on screen is a widget — a lightweight, immutable description of part of the UI. Widgets compose into a tree; StatelessWidget describes UI that never changes, while StatefulWidget rebuilds when its state updates.
Where do I find Flutter packages?
pub.dev is the official package repository for Dart and Flutter. Add a package with flutter pub add <name>, which updates pubspec.yaml and downloads it, then import it in your Dart code.
