第一章 Flutter介绍

Flutter 是什么

  • Flutter 是谷歌推出的 UI 工具包,可用于从单一代码库构建美观且可原生编译的移动(Android and iOS)、网页(web)和桌面(macOS, Windows 和 Linux)应用。
  • Flutter工具包采用基于Widget构建的声明式用户界面(declarative UI)。

历史

  • 2015年第一版SKy,运行在Android,使用Dart语言开发;
  • 2018年,发布Flutter1.0;
  • 2021年,发布Flutter2.0,采用基于Canvas的网页引擎,并支持早期桌面端,首次引入null safety;
  • 2021 年,Flutter 2.5 版本正式发布,该版本新增了 Material Design 设计规范的支持。
  • 2022 年,Flutter 3 版本问世,不仅实现了完整的桌面端支持,还新增了对 iOS 平台 Objective-C 和 Swift 语言的互操作能力。

Flutter 架构

Flutter的优势

  1. Flutter 采用的声明式 UI------ 可使用嵌套结构的Widget,且框架仅会更新那些发生变化的组件,无需手动操作 DOM 或组件状态。

  2. Flutter "杀手锏" 功能热重载Hot reload:在目标开发平台启动应用后,对代码进行任意修改,只需点击热重载按钮,应用就能实时更新。无论是新增软件包、开发新页面、调整业务逻辑,都能实现应用的即时同步。不过新增插件时需要重启程序,但在常规开发流程中,绝大多数功能都能在单次开发会话中完成。

  3. 与多数其他跨平台框架不同,Flutter 应用具备**原生级性能,,**因为它会被编译为对应平台的原生代码。

  4. Flutter 是开源框架,开发者可查看其源码、甚至参与功能优化

  5. Flutter 支持全平台构建:仅需维护一套代码库就能适配多端,既提升了开发效率,也减少了项目所需的工程师数量。Flutter 也可用于 Web 端开发,其 Web 端产物可通过三种形式输出:HTML 方案、基于画布(Canvas)的渲染方案,以及 WebAssembly(Wasm)方案。

补充术语说明

  1. declarative UI(声明式 UI):开发者只需描述 UI "应该是什么样子",无需关注 "如何更新 UI",框架会自动处理状态变化与 UI 渲染的关联,区别于传统的命令式 UI。
  2. hot reload(热重载):Flutter 的核心开发特性,修改代码后无需重启应用即可同步变更,能大幅缩短调试与迭代周期。
  3. Web Assembly(Wasm):一种可在浏览器中运行的二进制指令格式,可实现接近原生的 Web 端性能,常用于高性能 Web 应用开发。
  4. SEO(搜索引擎优化):通过优化网页结构与内容,提升其在搜索引擎结果中的排名,从而增加曝光量的技术手段。
相关推荐
SoaringHeart20 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
九狼1 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
_squirrel1 天前
记录一次 Flutter 升级遇到的问题
flutter
Haha_bj1 天前
Flutter——状态管理 Provider 详解
flutter·app
MakeZero1 天前
Flutter那些事-展示型组件篇
flutter
赤心Online1 天前
从零开始掌握 Shorebird:Flutter 热更新实战指南
flutter
wangruofeng1 天前
AI 助力 Flutter 3.27 升级到 3.38 完整指南:两周踩坑与实战复盘
flutter·ios·ai编程
Zsnoin能2 天前
Flutter仿ios液态玻璃效果
flutter
傅里叶2 天前
iOS相机权限获取
flutter·ios
Haha_bj2 天前
Flutter—— 本地存储(shared_preferences)
flutter