foreword
In the field of mobile application development, Flutter and Dart have become technologies that have attracted much attention. Flutter is an open source UI toolkit that can be used to build high-quality, beautiful and high-performance cross-platform applications. And Dart is Flutter's programming language with modern features and good performance. This article will delve into the characteristics and advantages of Flutter and Dart and how to quickly learn Flutter and Dart.
Features and advantages of Flutter
- Rapid development: Flutter adopts Hot Reload technology, which allows developers to quickly view and apply code changes while the application is running, thereby speeding up development efficiency.
- Cross-platform: Flutter allows developers to use the same set of codes to build iOS and Android applications, reducing development workload and maintenance costs.
- Beautiful UI: Flutter provides a wealth of UI components and styles, which can create beautiful user interfaces to meet the aesthetic needs of modern applications.
- High performance: Flutter uses a self-drawing engine that does not depend on the native controls of the platform, providing excellent performance and smooth animation effects.
- Customizability: Flutter's UI components can be highly customized, and developers can create their own UI elements as needed.
Features and advantages of the Dart programming language
- Modern features: Dart is a modern programming language that supports asynchronous programming, C-like syntax, and strong type checking, providing tools and features for easy development.
- Fast execution: Dart uses just-in-time compilation (JIT) and pre-compilation (AOT) technologies, with fast execution speed and low memory consumption.
- Asynchronous support: Dart has built-in powerful asynchronous programming support, enabling developers to handle concurrency and IO operations.
- Object-oriented: Dart is an object-oriented language that supports features such as classes, inheritance, and polymorphism, which help organize and manage code.
how to learn fast
In order to make it easier for you to quickly learn Flutter, here is the Flutter learning roadmap and "Flutter Dart Language Programming Introduction to Mastery" & "Flutter Combat: Second Edition" to help you configure the relevant environment, learn the basic syntax of Flutter and the final project practice use.
[Friends in need slide down to the end of the article to get it for free! ! ! ! 】
Learning route:
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
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
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
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 examples
- 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
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)
- …
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
- …
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
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
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
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