Organizing my articles for Flutter and Dart
All of my Medium articles below are free or friend links, so anyone can read them without a Medium subscription. If you are ever blocked from reading one of my articles, just come here to get the friend link.
About the author
New articles
- Creating a profile site in Dart with Jaspr
- How to Build and Deploy a Dart Shelf App on Globe.dev
- Playing short audio clips in Flutter with Just Audio (update)
- Server-side Dart: Options for building the backend (update)
- Using PostgreSQL on a Dart server
- A PocketBase backend for Flutter and Dart
- Dart authentication server with SuperTokens
- Dart Shelf server tutorial
Featured
- Flutter state management for minimalists
- Dart Apprentice: Fundamentals (book)
- Dart Apprentice: Beyond the Basics (book)
- Data Structures & Algorithms in Dart (book)
- Creating a Flutter widget from scratch
- Clean Architecture for the Rest of Us
- My first disappointment with Flutter
- How to get good at Flutter and Dart
Flutter
Basics
Widgets
- Adding a border to a widget in Flutter
- A visual guide to Flutter’s SafeArea widget
- Making an AlertDialog in Flutter
- How to Paint in Flutter (CustomPaint widget)
- How to add an icon to the AppBar in Flutter
- How to show download progress in a Flutter app
- Widget of the Week series: Opacity, PageView, AnimatedContainer, Wrap
- Creating a Flutter widget from scratch
Lists
- Mastering Flutter ListViews
- A complete guide to Flutter’s ListTile
- Updating data in an AnimatedList in Flutter
Storage
- How to save data locally in Flutter
- Saving and reading data in Flutter with SharedPreferences
- Simple SQFlite database example in Flutter
- How to do a database query with SQFlite in Flutter
- How to do a database insert with SQFlite in Flutter
- How to do a database update with SQFlite in Flutter
Architecture and State Management
- Flutter state management for minimalists
- Flutter minimalist state management: Counter app
- Flutter minimalist state management: Weather app
- How the GetIt service locator package works in Dart
- State Management with Provider
- Making sense all of those Flutter Providers
- Clean Architecture for the Rest of Us
- A beginner’s guide to architecting a Flutter app
- Creating services to do the work in your Flutter app
- Flutter Riverpod tutorial: Counter app
- Flutter Riverpod tutorial: Timer app
Text
- Flutter styled text with TextSpan
- Mastering styled text in Flutter
- Reading a text file from assets in Flutter
- Reading configuration files and settings in Flutter and Dart
- My first disappointment with Flutter (custom text layout)
- Flutter Text Rendering
- Flutter Line Metrics
- Working with Unicode and Grapheme Clusters in Dart
- Font Features in Flutter
- How text editing works internally in Flutter
- Custom In-App Keyboard in Flutter
- A visual guide to text affinity in Flutter
- A visual guide to Input Decorations for Flutter TextField
Audio
- Playing short audio clips in Flutter with Just Audio
- Streaming audio in Flutter with Just Audio
- Managing playlists in Flutter with Just Audio
- Background audio in Flutter with Audio Service and Just Audio
- Towards full audio support in Flutter
UI
Media
IDE
- Setting up a VS Code playground for Dart
- Moving to Visual Studio Code from Android Studio
- Adding code snippets in VS Code
Web
- Web and desktop support for file upload and download in Flutter
- Developing a Flutter App in Your Browser
- How to make HTTP requests in Flutter
- Parsing Simple JSON in Flutter and Dart
- Easy JSON examples
- How to embed your Flutter app in WordPress
- Minimal client-server example for Flutter and Node.js
Publishing
Miscellaneous
Dart
Books
- Dart Apprentice: Fundamentals
- Dart Apprentice: Beyond the Basics
- Data Structures & Algorithms in Dart
- Dart Apprentice (deprecated)
Topical articles
- Dart Basics
- Iterables and Iterators in Dart
- Variables and types in Dart
- Dart null safety migration cheat sheet
- Working with bytes in Dart
- Understanding the Uri class in Dart (from examples)
- Extracting text from a string with regex groups in Dart
- Working with Sockets in Dart
- Exceptions, Errors and asserts in Dart
- All about the Pub command line tool for Flutter and Dart
- Safely unpacking JSON objects in Dart
- Cloning lists, maps, and sets in Dart
- Relative vs package imports in Flutter and Dart
- Creating a profile site in Dart with Jaspr
Server Side Dart
Overview
Shelf
- Dart Shelf server tutorial
- Dart authentication server with SuperTokens
- How to Build and Deploy a Dart Shelf App on Globe.dev
Becoming a backend developer
This series includes more than just Dart and Flutter, but you can choose the Dart option in Part 2 and the Flutter option in Part 3.
- Part 1: Foundational concepts
- Part 2: Building the server
- Part 3: Connecting to the server from a mobile app
- Authentication with server side Dart
Building a Dart server from scratch
- Part 1: Building a Dart server from scratch
- Part 2: Routing HTTP requests in a Dart server
- Part 3: Unit testing a Dart server
Miscellaneous
- How to send yourself email notifications from a Dart server
- Sending push notifications from Dart to Android and iOS
- A PocketBase backend for Flutter and Dart
- Using PostgreSQL on a Dart server
If you find mistakes…
If you notice any typos or easy to fix errors, please highlight the mistake and leave me a private comment:
If you have questions, disagreements, or notice bigger mistakes, please leave a public comment at the end of the article. This will alert other readers to the problem in case I don’t have time to fix it myself. It will also allow other readers to answer your question.