state manager
https://suragch.medium.com/flutter-state-management-for-minimalists-4c71a2f2f0c1
https://www.freecodecamp.org/news/manage-state-in-flutter-apps/
创建小部件
https://medium.com/flutter-community/creating-a-flutter-widget-from-scratch-a9c01c47c630
json
https://suragch.medium.com/safely-unpacking-json-objects-in-dart-42d2eb12049d
https://pub.dev/packages/freezed
ui
https://gallery.flutter.dev/#/demo/colors
https://github.com/HiroshiMiyashita/flutter_websocket_chat_sample
Flutter 由三个不同的树组成
Widget = django template with html
elements = html Dom
Rendings = chrome dom render engine
widget template with html -> build -> html dom elements -> chrome render -> ui
https://getstream.io/blog/flutter-buildcontext/
https://book.flutterchina.club/chapter14/element_buildcontext.html#_14-2-3-renderobject
buildcontext就是element/dom
macos desktop window size
https://www.togaware.com/linux/survivor/flutter-macos-desktop-size.html