第一章 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(搜索引擎优化):通过优化网页结构与内容,提升其在搜索引擎结果中的排名,从而增加曝光量的技术手段。
相关推荐
「、皓子~5 小时前
海狸IM 2.1 正式发布
flutter·微服务·golang·electron·开源软件·im·海狸im
里欧跑得慢5 小时前
AI 驱动的 UI 国际化方案自动适配:从单一语言到多语言布局的智能转换
前端·css·flutter·web
恋猫de小郭6 小时前
AI 时代,一个优化 Flutter 的重复代码工具 Deslop
android·前端·flutter
ljt27249606611 天前
Flutter笔记--envied
前端·笔记·flutter
加农炮手Jinx2 天前
Flutter for OpenHarmony 实战:flutter_animate 声明式动画让 UI 灵动如原生
flutter·ui·华为·harmonyos·鸿蒙
里欧跑得慢2 天前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢2 天前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
吃西瓜的年年2 天前
vue3原理思维导图
vue.js·笔记·flutter
GitLqr3 天前
从代码复用走向生态:Flutter Dart Package 实战全指南
flutter·全栈·dart