[Necessary for beginners] Detailed explanation of the introduction to Flutter development, showing you how to learn the principles of Flutter

foreword

Cross-platform development is too complex and difficult to implement and has insufficient performance, and the emergence of Flutter broke this embarrassing situation.

Compared with weex and react native, Flutter has stronger performance and higher fluency, which is close to native. Flutter is very easy to use for Android and IOS developers.

features

Flutter is developed using the Dart language, which is equivalent to an improved version of Java, and its syntax is similar to Scala. It provides a concatenated operator ".", which can continuously perform a set of operations on objects (method chain calls), which can be defined with one line of code Constructors for all initialization and assignment operations, built-in async and await keywords for asynchronous calls, support for var type inference, powerful "??" Generic collection classes, etc., can significantly reduce the development workload.

Flutter supports mixed programming development, can reuse existing java, swift and Objc code, and access native features and SDK on iOS and Android.

Flutter's hot reload feature helps us quickly and easily test, build user interfaces, add features, and fix bugs without restarting the app.

Flutter's modern responsive framework and rich platform layout and foundational components make it easy to build our user interfaces. Use flexible APIs to solve difficult problems such as 2D, animation, gestures, and effects.

insert image description here

In addition, as far as I know, major companies such as Tencent, Baidu, Ali, JD.com, Meituan, Byte, and Kuaishou are all recruiting Flutter-related positions, ranging from engine architecture to application development. In the past six months, the team has published many technical articles related to Flutter and even open source code and tools. Many national-level applications such as WeChat, Taobao, Meituan, Douyin, and Toutiao have also used Flutter.

In addition to improving technology and helping our development projects, Flutter is now a bonus item in job hunting. Learning this cross-platform technology will add a lot to your interview.

how to study

There are not many Flutter learning materials on the Internet, so I recently took the time to sort out the Flutter learning route and the corresponding reference documents " Flutter Dart Language Programming Introduction to Proficiency " " Flutter Actual Combat ", from programming language to project actual combat, one-stop service! !

Friends in need can scroll down to the end of the article to get it! ! !

Learning route:
insert image description here

Dart language is the development language of Flutter, so we need to master the basics of Dart language

"Flutter Dart language programming entry to proficiency"

Chapter 1 Dart Language Basics

  • Environmental preparation
  • basic grammar

Chapter 2 Dart Asynchronous Programming

  • Dart's event loop
  • Scheduling tasks
  • delayed task
  • Detailed explanation of Future
  • async and await
  • lsolate

img

Chapter 3 Detailed Explanation of Asynchronous Stream

  • What is Stream
  • single subscription stream
  • broadcast stream
  • Stream Transformer
  • Summarize

Chapter 4 Dart Standard Input and Output Streams

  • file operation

img

Chapter 5 Dart Network Programming

  • TCP server
  • TCP client
  • UDP server
  • UDP client
  • HTTP server and request
  • WebSocket

Chapter 6 Flutter Crawler and Server

  • Dart crawler development
  • Dart server
  • Create a Flutter project demo
  • Summarize

Chapter 7 Dart server development

  • Registration and login implementation

Chapter 8 Dart calls C language mixed programming

  • Environmental preparation
  • Test the Dart ffi interface
  • Summarize

Chapter 9 Mutual call between Dart and Lua in LuaDardo

  • Take the C API
  • create runtime
  • Dart tunes Lua
  • Lua to Dart

img

After mastering the Dart language, we can master the knowledge points of Flutter through actual combat

"Flutter in Action: Second Edition"

Chapter 1: Getting Started

  • 1.1 Introduction to Mobile Development Technology
  • 1.2 Initial Flutter
  • 1.3 Build a Flutter development environment
  • 1.4 Introduction to Dart language

Chapter 2: The first Flutter application

  • 2.1 Counter application example
  • 2.2 Introduction to Widgets
  • 2.3 State Management
  • 2.4 Routing Management
  • 2.5 Package Management
  • 2.6 Resource Management
  • 2.7 Debugging Flutter applications
  • 2.8 Flutter exception capture

insert image description here

Chapter 3: Basic Components

  • 3.1 Text and styles
  • 3.2 Buttons
  • 3.3 Picture and ICON
  • 3.4 Radio switches and check boxes
  • 3.5 Input box and form
  • 3.6 Progress Indicator

Chapter 4: Layout Components

  • 4.1 Introduction to Layout Components
  • 4.2 Layout principles and constraints (constraints)
  • 4.3 Linear Layout (Row and Column)
  • 4.4 Flexible Layout (Flex)

insert image description here

Chapter 5: Container Components

  • 5.1 Padding
  • 5.2 Decorated Container (DecoratedBox)
  • 5.3 Transform (Transform)
  • 5.4 Container component (Container)
  • 5.5 Clipping
  • 5.6 Space adaptation (FittedBox)
  • 5.7 Page skeleton (Scaffold)

Chapter 6: Scrollable Components

  • 6.1 Introduction to Scrollable Components
  • 6.2 SingleChildScrollView
  • 6.3 ListView
  • 6.4 Scroll monitoring and control

insert image description here

Chapter 7: Functional Components

  • 7.1 Navigation return interception (WillPopScope)
  • 7.2 Data sharing (InheritedWidget)
  • 7.3 Cross-component state sharing
  • 7.4 Colors and themes
  • 7.5 On-demand rebuild (ValueListenableBuilder)
  • 7.6 Asynchronous UI update (FutureBuilder, StreamBuilder)
  • 7.7 Detailed dialog box

Chapter 8: Event Handling and Notification

  • 8.1 Raw Pointer Event Handling
  • 8.2 Gesture Recognition
  • 8.3 Flutter event mechanism
  • 8.4 Gesture Principles and Gesture Conflicts
  • 8.5 Event Bus
  • 8.6 Notification Notification

insert image description here

Chapter 9: Animation

  • 9.1 Introduction to Flutter animation
  • 9.2 Animation Basic Structure and Status Monitoring
  • 9.3 Custom routing switching animation
  • 9.4 Hero animation
  • 9.5 Interlaced animation
  • 9.6 Animation switching component (AnimatedSwitcher)
  • 9.7 Animated Transition Components

Chapter 10: Custom Components

  • 10.1 Introduction to custom component methods
  • 10.2 Combining existing components
  • 10.3 Combination Example: TurnBox
  • 10.4 CustomPaint and Canvas
  • 10.5 Self-drawing example: circular background gradient progress bar
  • 10.6 Self-drawn component: CustomCheckbox
  • 10.7 Self-drawn components: DoneWidget
  • 10.8 Watermark Example: Text Drawing and Off-Screen Rendering

img

Chapter 11: File Operations and Network Requests

  • 11.1 File Operation
  • 11.2 Initiate HTTP request through HttpClient
  • 11.3 Http request library-dio
  • 11.4 Example: Http download in chunks

Chapter 12: Flutter Extensions

  • 12.1 Packages and plugins
  • 12.2 Flutter Web

Chapter 13: Internationalization

  • 13.1 Let the App support multiple languages
  • 13.2 Implementing Localizations
  • 13.3 Using the Intl package
  • 13.4 Frequently asked questions about internationalization

insert image description here

Chapter 14: Flutter Core Principles

  • 14.1 Flutter UI framework (Framework)
  • 14.2 Element、BuildContext和RenderObject
  • 14.3 Flutter startup process and rendering pipeline
  • 14.4 Layout process
  • 14.5 Drawing (1) Drawing principle and Layer

Chapter 15: A Complete Flutter Application

  • 15.1 Github client example
  • 15.2 Flutter APP code structure
  • 15.3 Model class definition
  • 15.4 Global Variables and Shared State
  • 15.5 Network request encapsulation
  • 15.6 APP entrance and home page
  • 15.7 Login page
  • 15.8 Multilingual and multitheming

img

Finally, friends who need the above learning materials can scan the QR code below to get them for free! ! !

Guess you like

Origin blog.csdn.net/weixin_43440181/article/details/132430911