Learn DART with Real Code Examples
Updated Nov 21, 2025
Installation Setup
Download Dart SDK from https://dart.dev/get-dart
Install via package managers (Homebrew, apt, choco)
Integrate with IDEs: VSCode, IntelliJ, Android Studio
Set environment variables for PATH
Verify installation using `dart --version`
Environment Setup
Install Dart SDK and Flutter SDK
Set environment variables for PATH
Configure IDE plugins for Dart/Flutter
Verify installation with `dart --version`
Optionally enable Dart DevTools
Config Files
pubspec.yaml - project dependencies and metadata
analysis_options.yaml - linter configuration
main.dart - entry point for apps
build.yaml - build configuration
.packages - generated package mapping
flutter.yaml - Flutter-specific project configuration
Cli Commands
dart run main.dart - run a Dart script
dart compile exe bin/main.dart - compile to executable
dart test - run tests
dart pub get - install dependencies
flutter run - run Flutter app
Internationalization
Use `intl` package for localization
Store strings in ARB or JSON files
Switch locales dynamically
Support right-to-left languages
Format numbers, dates, and currencies per locale
Accessibility
Use semantics widgets for screen readers
Provide proper labels and hints
Test with accessibility simulators
Ensure contrast and color accessibility
Handle input methods for diverse devices
Ui Styling
Flutter widgets provide UI elements
Themes and Material/Cupertino design
Layouts via Row, Column, Stack, Grid
Animations with built-in widgets or custom controllers
Responsive design for multiple platforms
State Management
Use classes and objects for state encapsulation
Flutter supports Provider, Riverpod, Bloc, and other patterns
Asynchronous data managed with Futures and Streams
Immutability encouraged for predictable state
Global vs local state handled via scope-specific objects
Data Management
Collections: List, Map, Set
JSON parsing via `dart:convert`
Use Streams for asynchronous data
Persist data using SQLite, Hive, or SharedPreferences
Use packages for advanced data operations