Organizing my articles for Flutter and Dart
All of my Medium articles below are 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. However, if you’re thinking about becoming a Medium member anyway and you sign up from my referral page, part of your monthly subscription fee goes to me.
New articles
- Thoughts on using third-party packages (or not)
- Background audio in Flutter with Audio Service and Just Audio (update)
- Flutter styled text with TextSpan
- How to show an error message in the UI in Flutter
- Adding code snippets in VS Code
- Programming for the good of others
Featured
- Programming was my god and Programming for the good of others (not really Flutter/Dart, but these articles tell my story)
- Dart Apprentice: Fundamentals (book)
- Dart Apprentice: Beyond the Basics (book)
- Data Structures & Algorithms in Dart (book)
- Flutter state management for minimalists
- Creating a Flutter widget from scratch
- Clean Architecture for the Rest of Us
- My first disappointment with Flutter (custom text layout)
- How text editing works internally in Flutter
- Building a Dart server from scratch (series)
- 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
- 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
Web
- 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
Book
- 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
Server Side Dart
Overview
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
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.