Skip to content
application · dart · mobile

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.
DartLanguage
Hot reloadDev loop
flutter doctorDiagnostics
pub.devPackages

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.

You can install Flutter on Windows by following these steps:

  1. Navigate to flutter.dev on your webpage.
  2. On the top menu bar, select Docs > Get Started > Install > Windows.
  3. Check for the System Requirements.
  4. Download the Flutter SDK.
  5. Extract the zip file and place it in your desired location.
  6. Add Flutter to your path.
  7. Run flutter doctor to verify that Flutter has been installed correctly.

On macOS and Linux the fastest route is to clone the SDK and add it to your PATH:

Terminal window
git clone https://github.com/flutter/flutter.git -b stable ~/flutter
export PATH="$PATH:$HOME/flutter/bin"
flutter doctor

flutter 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.

Terminal window
flutter create my_app
cd my_app
flutter run

flutter 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 get
    • flutter 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.