Flutter Setup¶
TL;DR / when to use this: Flutter is my mobile stack for the Wildium apps. This is the evergreen setup reference — project creation, Android build config, and the widget/state model that the blog posts accumulated into.
Creating a project¶
Check build-mode compatibility across platforms:
Widgets can be prototyped in the browser at dartpad.dev.
Android build config¶
The versions that work together (from my android/build.gradle):
gradle-wrapper.properties→ gradle 8.1- Pin the JDK in
gradle.properties(Flutter defaulted to 21; I set 17):
Widget model worth remembering¶
Containeris the most basic element (like an HTMLdiv); right-click any widget to refactor to another type.Row/Columnfor layout,Stacklike a StackPane,Heroanimates between pages.Future= one-time async value (single read);Stream= multiple async values (real-time updates).- Stateful widgets get messy when they share data with children or mix logic with UI — use the
providerpackage to separate business logic from widgets and feed stateless widgets through the widget tree.