初识Flutter

162 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情

Flutter是Google推出开源的移动端应用开发框架,官网介绍说只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。简而言之就是一套跨端的多平台开发框架。

什么是跨平台?为什么需要跨平台?

原生应用的话移动端来说就有安卓和ios,原生开发的优势速度快性能高用户体验好,但是原生的开发成本比较高,不同平台上都必须要维护不同的代码,开发成本比较大;且内容固定,动态化能力比较弱,大多情况下有新功能就要发版,所以原生开发主要面临动态化和开发成本的两个问题。针对这种问题后续逐渐诞生跨平台的动态化框架,如下图,来源自该视频

image.png

  • HTML+js+css的web开发模式(即H5应用),开发和发布成本低,性能体验较差
  • Hybird模式,半原生半Web的开发模式,由原生提供一套统一的Api给JS调用,实际主要逻辑是html和js完成,最终放在webview中显示。支持快速迭代但性能较差。
  • ReactNative有Facebook出品,使用JS语言“learn once,write anywhere”,一次学习,各个平台都可使用。使用了react的设计模式,但是原生UI渲染、动画效果、网络请求豆油原生端实现。JS代码通过react native的中间层转换成原生控件和操作
  • Weex是阿里巴巴出品,使用JS语言,基于vue的设计模式支持web安卓iOS三端,原生端同样通过中间层转化,将控件和操作转换成原生逻辑来提高用户体验

跨端技术四大优点

  1. 高效率(研发效率,迭代效率)
  2. 高性能(流畅度、内存表现、加载时长、包的大小)
  3. 动态化(更新迭代)
  4. 高一致性(多端UI展示一致)

什么是Flutter??

FlutterGoogle 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。特点是:跨平台高保真高性能 Flutter的特点优点:

  1. 跨平台: 一套代码多端运行,兼容web,Android,iOS, Windows,macOS和Linux六个平台,减少平台差异适配,UI高度一致
  2. 高性能release模式下的AOT编译,使用Skia高性能自绘引擎,相比较reactNativeWeex,这类通过JS操纵原生控件渲染性能更好,接近原生的体验高效率
  3. 高效率:热重载 (Hot Reload) 快速构建和迭代你的产品,更新代码后即刻看到变化,也不会丢失应用状态
  4. 开源协作:Google支持开源透明可靠
  5. Dart语言:既支持AOT编译,可以生成执行快的机器码,也支持JIT编译通过热重载的方式加速了开发流程

Flutter的未来

生态趋势在上升,并且国内挺多大厂开始使用(阿里巴巴、美团、腾讯、快手、字节、百度、京东等)