
By adding type annotations to your collections, the Dart analyzer will warn you if you add values of the wrong type. https://codewithandrea.com/tips/use-type-annotations-for-safer-code/

Here's how to use typedef to define type aliases for your function and non-function types in Dart. https://codewithandrea.com/tips/how-to-define-type-aliases-dart/

Also included in this edition: Google I/O news, new Flutter features, creating custom linter rules, how to run JavaScript in Flutter, and more. https://codewithandrea.com/newsletter/may-2024/

How to use the JsonCodable macro to augment your classes with fromJson and toJson methods https://codewithandrea.com/tips/json-codable/

How to use the web app bootstrap process (new in Flutter 3.22) and add a CSS progress indicator before the Flutter app is ready to take over. https://codewithandrea.com/tips/flutter-web-app-initialization-logic/

Here's how to use the Vector Graphics Compiler to precompile SVGs at build time for better rendering performance. https://codewithandrea.com/tips/vector-graphics-compiler/

How to send HTTP requests and view the response directly in Visual Studio Code. https://codewithandrea.com/tips/rest-client-vscode/

By default, asserts are only enabled in Debug mode. To enable them in Release mode, run with the --enable-asserts flag. https://codewithandrea.com/tips/enable-asserts-flag/

If you need to return an empty widget, SizedBox.shrink() is more performant than an empty Container. https://codewithandrea.com/tips/sizedbox-shrink/

If you use build_runner and your generated Dart files are added to Git, you can hide them by default in your PRs and diffs. Here's how. https://codewithandrea.com/tips/hide-generated-files-with-gitattributes/