Flutter
首次公开于 2017.5 的 Google I/O 大会,1.0 版本于 2018.12 发布。
Flutter 是我的主要技术栈,也是我工作的主要内容。
Flutter 核心组件
Flutter 应用架构
- 最近,我准备使用 Flutter Web 搭建一个内部平台,路由场景比较复杂。之前偶然了解到 beamer 这个路由框架比较强大,因此打算一试。
《Flutter 使用 go_router 实现复杂路由跳转》
- go_router 是 Flutter 下另一个路由框架,由 Google Flutter 团队开发。功能非常强大,同时有官方背书,稳定可靠。
- 在 App 开发过程中,通常需要声明大量数据实体类(Model/Entity)。在 Flutter/Dart 下因为无法使用反射,封装数据实体类不是一件容易事。freezed 是这一领域比较知名的框架,在本文中,记录了我对该框架的了解上手。
Flutter PlatformView 嵌入原生视图
- 在 Flutter 开发中,有些视图由 Android/iOS 端原生技术开发,我们想在 Flutter 中复用这些视图,要是能将这些原生视图嵌入 Flutter 就好了。Flutter 支持这一特性,称为集成平台视图(Platform View)。
《Flutter 内嵌原生视图 Android 端接入实现》
- 如何在 Android 平台下进行接入。
- 记录了 Flutter 3 之前与之后的兼容方式差异,需要注意。
《Flutter 内嵌原生视图 Android 底层实现原理》
- 但在实际中,Flutter 在 Android 侧的嵌原生视图,长期处于不完善、混乱的阶段,社区内反馈了大量兼容性、性能等问题。因此,有必要彻底搞懂 Flutter 内嵌原生视图在 Android 底层实现原理。
- 重点包括:
《1.1 使用 Flutter webview_flutter 库引入 WebView 能力》
- WebView 是移动开发中最常使用的控件之一,也是最为复杂的控件之一。
- Google 官方团队开发了 webview_flutter 库,它利用 PlatformView 机制,对 Android、iOS 的 WebView 进行封装,封装为一个 Flutter 组件。开发者在使用时,如同使用纯 Flutter 组件一般,而在底层,是嵌入了原生 WebView 视图能力。
- 重点包括:
Flutter Sky Engine
主题
Flutter Internal
Widgets
路由导航
Flutter 框架本身内建导航功能,并且随着 Navigator 2.0 改版,导航功能有所提升。但同时,也存在多套三方开源实现,功能上更加强大。
组件库
随着近年来 Flutter 生态的蓬勃发展,目前已经有众多组件库可供选择。Flutter 自身以提供 2 套组件库(一套 Android 风格、一套 iOS)风格。第三方的组件库在此之上,进一步丰富了内容。
fluent_ui 组件库:一套桌面组件库,Fluent 设计风格的三方实现。对桌面平台的功能细节和交互体验考虑更加充分。如果你要用 Flutter 开发桌面应用,不妨考虑一下它。
UI 主题
状态管理
数据库
Flutter Framework
Flutter 组件
在 Flutter 中一切皆组件(Widget)。
初始化:
runApp
:框架的初始化方法- Flutter WidgetsFlutterBinding:框架初始化的底层实现
引擎对接层:
- Flutter PlatformDispatcher:引擎和平台代码之间的桥梁
Flutter Engine
Dart Runtime
-
Dart Zone:Zone 是 Dart 中用于控制异步操作的上下文。
-
命令行
-
网络通信
-
平台能力
-
Android
-
-
教程
网络资源
- Flutter编译应用 在 鸿蒙_mob64ca12e27f25的技术博客_51CTO博客
- Flutter 在嵌入式 Linux 的应用 - 简书
- Flutter 在嵌入式 Linux 的应用_ARM_Linux_中国工控网
本文作者:Maeiee
本文链接:Flutter
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!