159 |
Useful Aliases for Flutter Development |
|
|
|
158 |
Hide Generated Dart Files in GitHub PRs |
link |
link |
link |
157 |
Force App Upgrade Gone Wrong 😭 |
link |
link |
|
156 |
Debouncing in Flutter |
link |
link |
link |
155 |
Null-aware spread operator (...?) |
link |
link |
|
154 |
Loading UI with Shimmer effect |
link |
link |
|
153 |
Zoom an image with InteractiveViewer |
link |
link |
|
152 |
Logging HTTP status codes with emojis |
link |
link |
|
151 |
Scroll-to-index inside a ListView |
link |
link |
|
150 |
Preloading SVG assets in Flutter |
link |
link |
|
149 |
Environment variables in Dart |
link |
link |
|
148 |
Determinate Circular Progress Indicator |
link |
link |
|
147 |
How to bundle assets based on flavor |
link |
link |
|
146 |
Extension methods vs types (Dart 3.3) |
link |
link |
|
145 |
Write reusable widgets! |
link |
link |
|
144 |
Scheduling microtasks in Dart |
link |
link |
|
143 |
We need to talk about FlutterFlow! |
link |
link |
link |
142 |
Launching your Flutter app with flavors |
link |
link |
|
141 |
⚠️ debugPrint prints in release mode ⚠️ |
link |
link |
|
140 |
Toggle Inlay Hints in VSCode |
link |
link |
|
139 |
GitHub Copilot Tips for Flutter Devs |
link |
link |
link |
138 |
Opening URLs with xcrun / adb |
link |
link |
|
137 |
Combining Streams with RxDart |
link |
link |
link |
136 |
Use IntrinsicWidth , not fixed width |
link |
link |
|
135 |
Replace Container with nested widgets |
link |
link |
|
134 |
Debug Paint Size (DevTools) |
link |
link |
|
133 |
SelectionArea across multiple widgets |
link |
link |
|
132 |
Highlight oversized images with the Flutter DevTools |
link |
link |
|
131 |
Async Dependency Initialization with requireValue (Riverpod) |
link |
link |
link |
130 |
8 Steps to Follow When Building Your Next Flutter App |
link |
link |
link |
129 |
VSCode Debug Toolbar in Command Center |
link |
link |
|
128 |
Error Handling during App Startup |
link |
link |
link |
127 |
Full-Text Search: Firestore Extensions |
link |
link |
|
126 |
How to work with webhooks? |
link |
link |
link |
125 |
Xcode 15 DT_TOOLCHAIN_DIR issue |
link |
link |
|
124 |
Payment options on mobile and web |
link |
link |
|
123 |
Top reasons for using a realtime backend |
link |
link |
link |
122 |
First steps to tackle when starting a new mobile app |
link |
link |
link |
121 |
Fetching vs Mutating data with Riverpod |
link |
link |
link |
120 |
Flutter web: redirect to an external URL |
link |
|
|
119 |
VSCode Quick Fix: Create constructor for final fields, required named |
link |
|
|
118 |
How to Inspect Network Requests with the Flutter DevTools |
link |
|
|
117 |
Are global variables bad? |
link |
|
|
116 |
Measuring execution time in Dart |
link |
|
|
115 |
Find the Invalid Switch Expression 🧐 |
link |
|
|
114 |
6 steps to minimize your Firebase Bill |
link |
|
|
113 |
Conditional JSON parsing in Dart 3 |
link |
|
|
112 |
Switch Matrix in Dart 3 |
link |
|
|
111 |
Destructuring Lists in Dart |
link |
|
|
110 |
Getting a Future from a FutureProvider with Riverpod |
link |
|
|
109 |
Record Equality in Dart 3 |
link |
|
|
108 |
MediaQuery as InheritedModel |
link |
|
|
107 |
Happy Birthday with records in Dart 3 |
link |
|
|
106 |
Return without async /await |
link |
|
|
105 |
Creating an empty Flutter project |
link |
|
|
104 |
[core/duplicate-app] A Firebase App named "[DEFAULT]" already exists |
link |
|
|
103 |
Firebase Auth flow in 5 minutes |
link |
|
|
102 |
Storing API keys in a JSON file |
link |
|
link |
101 |
Backend-agnostic Flutter apps |
link |
|
link |
100 |
Firestore Security Rules Playground |
link |
|
|
99 |
Firestore OR queries 🔥 |
link |
|
|
98 |
Pagination with FirestoreListView |
link |
|
link |
97 |
Riverpod Notifier with build arguments |
link |
|
|
96 |
Cloud Firestore - Cache Size |
link |
|
|
95 |
StreamProvider with Riverpod Generator |
link |
|
link |
94 |
Fix missing ProviderScope error with Riverpod Lint |
link |
|
link |
93 |
Add a part file with Riverpod Snippets |
link |
|
|
92 |
Firebase Billing and Cost Calculator |
link |
|
|
91 |
Got linter issues? Use dart fix --apply |
link |
|
link |
90 |
Using context.mounted in Flutter 3.7 |
link |
|
link |
89 |
Using serverTimestamp() in Firestore |
link |
|
|
88 |
Get a single item from a list |
link |
|
|
87 |
The Accessibility Tools package |
link |
|
|
86 |
Dart code samples in the Firebase docs |
link |
|
|
85 |
Use ChatGPT to do custom styling in Flutter |
link |
|
|
84 |
Using the query builder UI in Cloud Firestore |
link |
|
|
83 |
Update packages with the Version Lens VSCode extension |
link |
|
link |
82 |
Cloud Firestore collection count |
link |
|
|
81 |
How to use the new Riverpod Generator package |
link |
|
link |
80 |
How to use Future.wait() in Dart |
link |
|
|
79 |
String multiplication in Dart |
link |
|
|
78 |
How to nest generated files in VSCode |
link |
|
|
77 |
Using AnimatedContainer to animate Container properties |
link |
|
|
76 |
Enable sticky scroll in VSCode |
link |
|
|
75 |
Using build_runner in watch mode |
link |
|
|
74 |
Functions as arguments (with tear-off) |
link |
|
|
73 |
How to define type aliases in Dart |
link |
|
|
72 |
Use type annotations for safer code |
link |
|
|
71 |
Prefer const over final over var |
link |
|
|
70 |
Flutter app localization in 5 min |
link |
|
link |
69 |
Use SizedBox.shrink() to return an empty box |
link |
|
|
68 |
--enable-asserts flag in Dart / Flutter |
link |
|
|
67 |
REST Client extension for VSCode |
link |
|
link |
66 |
The HtmlUnescape package |
link |
|
|
65 |
How kIsWeb works in Flutter |
link |
|
|
64 |
When to use each Riverpod provider? |
link |
|
|
63 |
Explicit error types with Either |
link |
|
link |
62 |
Exception handling: try/catch vs Result |
link |
|
link |
61 |
Errors vs Exceptions in Flutter |
link |
|
|
60 |
Do not use BuildContexts across async gaps (and what to do instead) |
link |
|
|
59 |
Flutter Riverpod: How to Register a Listener during App Startup |
link |
|
link |
58 |
Using test tags in Flutter |
link |
|
link |
57 |
Singletons in Flutter: Drawbacks |
link |
|
link |
56 |
Riverpod: Async init with Provider Overrides |
link |
|
|
55 |
How to run multiple test variants |
link |
|
link |
54 |
Riverpod tip for less boilerplate (Passing Ref) |
link |
|
|
53 |
How to Create DartPad Examples from GitHub Gists |
link |
|
link |
52 |
How to Add a Custom Test Timeout in Flutter |
link |
|
link |
51 |
Golden Image Testing with Robot Testing |
link |
|
|
50 |
Dart 2.17: Enhanced Enums with Members |
link |
|
link |
49 |
Dart 2.17: Super Initializers |
link |
|
link |
48 |
Testing functions that throw |
link |
|
link |
47 |
Why write automated tests? |
link |
|
|
46 |
Riverpod: difference between ref.watch , ref.read , ref.listen |
link |
|
|
45 |
The Map.update() method |
link |
|
link |
44 |
AsyncValue.guard() vs try /catch |
link |
|
link |
43 |
How to write a reactive in-memory store with RxDart |
link |
|
|
42 |
How to Generate and Analyze a Flutter Test Coverage Report in VSCode |
link |
|
link |
41 |
Using Fake Repositories for Testing |
link |
|
|
40 |
Anatomy of a Riverpod Provider |
link |
|
|
39 |
Flutter Project Structure: Feature-first or Layer-first? |
link |
|
link |
38 |
Popular architectures for Flutter development |
link |
|
link |
37 |
Rules to follow for good app architecture |
link |
|
|
36 |
GoRouter: go vs push |
link |
|
link |
35 |
AsyncValue vs FutureBuilder & StreamBuilder |
link |
|
link |
34 |
How to use WidgetsBindingObserver |
link |
|
|
33 |
VSCode extensions to speed-up your Flutter workflow |
link |
|
link |
32 |
Flutter tip: use composition aggressively |
link |
|
|
31 |
How to use the Flutter Widget Inspector |
link |
|
|
30 |
VSCode launch configurations |
link |
|
|
29 |
Domain-Driven Exception Handling |
link |
|
|
28 |
DDD: The Domain Model |
link |
|
|
27 |
Better Comments Extension for VSCode |
link |
|
|
26 |
Running tests with GitHub actions |
link |
|
|
25 |
How to run Flutter Integration Tests at Hyper Speed |
link |
|
|
24 |
Simplified Flutter App Localization |
link |
|
link |
23 |
The Gap Widget |
link |
|
|
22 |
App Development workflow in 6 steps |
link |
|
|
21 |
Repositories as abstract classes (program to interfaces, not implementations) |
link |
|
link |
20 |
How to configure multiple Firebase environments with FlutterFire CLI |
link |
|
|
19 |
How to use Robot Testing to write more readable widget tests |
link |
|
|
18 |
How to create a Flutter GridView with content-sized items |
link |
|
link |
17 |
6 common sources of errors in Flutter apps |
link |
|
|
16 |
Easily handle loading and error states |
link |
|
|
15 |
AsyncValueWidget : a reusable Flutter widget to work with AsyncValue (using Riverpod) |
link |
|
link |
14 |
How to navigate programmatically between tabs in Flutter |
link |
|
|
13 |
Responsive Flutter layout with SizedBox & Center |
link |
|
|
12 |
How to Validate a TextField in Flutter |
link |
|
link |
11 |
How to Style an ElevatedButton in Flutter |
link |
|
link |
10 |
How to Generate Fake data with the Faker package |
link |
|
link |
9 |
Chat UI with message bubbles (revisited) |
link |
|
link |
8 |
Chat UI with message bubbles |
link |
|
link |
7 |
How to set the border radius on a Flutter widget |
link |
|
link |
6 |
Flutter Fix all command |
link |
|
|
5 |
Use the DevTools to identify Jank and Shader compilation issues |
link |
|
|
4 |
Flutter Lints package |
link |
|
|
3 |
Accept payments with the Stripe SDK |
link |
|
|
2 |
Flutter create --sample |
link |
|
|
1 |
Flutter reusable Split View on mobile, desktop and web |
link |
|
link |