Flutter learning route

Posted May 26, 20202 min read

  1. Learning route

  • Layout learning bilibili future layout topic
  • Refer to https://flutterchina.club/setup-macos/ , build a Flutter development environment, install the default project to the device
  • Read through Dart syntax: https://juejin.im/post/5c52a386f265da2de25b5c36 , all the above codes must be knocked by yourself
  • Implement a simple HelloWorld page, the purpose is to be familiar with Flutter's project structure and StatelessWidget components, read through all the UI components of Flutter: https://juejin.im/post/5c18d181f265da611f07a128 , it is required to remember the inheritance relationship of common UI components of flutter
  • Realize page jump, pass parameter, receive return value, the purpose is to be familiar with Navigator component
  • To implement a Taobao-Personal Center page, no interaction is required for the time being, but the style of the page should be roughly implemented. The main purpose is to be familiar with basic UI components, especially layout, text, and pictures.
  • Implement a Taobao-Home page, including interaction:pull-down refresh and pull-up loading, the main purpose is to familiarize with complex list view, scroll nesting, gestures
  • Implement an HTTP request for a simple login page, written by the server itself. The main purpose is to be familiar with Flutter's input box, Dart's asynchronous programming(async/await/Future), network requests, json parsing, and reactive programming(StatefulWidget/setState)
  • To implement a grpc request for a simple login page, the protobuf file and the server also write their own, the main purpose is to familiarize with the usage of the grpc plugin
  • A simple page for reading SPs is not allowed. Third-party plug-ins are not allowed. Use MethodChannel to implement Flutter to call native functions.
  • To achieve the Flutter project access to the host Android container, the main purpose is to be familiar with Flutter static routing and Android native parameters to FlutterView
  1. The next research plan

The research must have output, the practical one must have code output, the theoretical one must have wiki output, and the non-output research is to play rogue

  • Write an international demo to realize multi-language switching
  • Write a custom View Demo, familiar with drawing three Musketeers:canvas, path, paint
  • Write a demo of network picture cache, and understand its implementation principle and memory occupation
  • Read the source code to understand the rendering mechanism of Flutter, how to go from Widget-> Element-> RenderObject
  • Understand the asynchronous mechanism of Dart, and deeply understand the principle of async/await/Future