Skip to content

10. Interim Conclusion

We have seen, example after example, everything needed to write the [Flutter] client for [RdvMedecins]:

Requirements
In Flutter
a screen
a widget tree, described by `build()`
data that changes
the state of a StatefulWidget (setState), or a ChangeNotifier
forms
TextField and its controllers, InputDecoration.errorText
multiple screens, addresses, and guards
go_router (GoRouter, GoRoute, ShellRoute, redirect)
shared data
provider (ChangeNotifierProvider, context.watch / read)
wait
Future, Stream, async/await, FutureBuilder
HTTP requests
the HTTP package, a client that handles cookies, an access layer to the API
two languages
JSON dictionaries, intl, flutter_localizations
on-device storage
shared_preferences

The [React] client relied on a library as needed; the [Flutter] client uses fewer of them: [Dart] provides asynchronous processing and types, and [Flutter] provides forms, animations, windows, lists, and the theme. All that remains is to put it all together.