持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情
Flutter是Google推出开源的移动端应用开发框架,官网介绍说只要一套代码库,即可构建、测试和发布适用于移动、Web、桌面和嵌入式平台的精美应用。简而言之就是一套跨端的多平台开发框架。
什么是跨平台?为什么需要跨平台?
原生应用的话移动端来说就有安卓和ios,原生开发的优势速度快性能高用户体验好,但是原生的开发成本比较高,不同平台上都必须要维护不同的代码,开发成本比较大;且内容固定,动态化能力比较弱,大多情况下有新功能就要发版,所以原生开发主要面临动态化和开发成本的两个问题。针对这种问题后续逐渐诞生跨平台的动态化框架,如下图,来源自该视频
- 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三端,原生端同样通过中间层转化,将控件和操作转换成原生逻辑来提高用户体验
跨端技术四大优点
- 高效率(研发效率,迭代效率)
- 高性能(流畅度、内存表现、加载时长、包的大小)
- 动态化(更新迭代)
- 高一致性(多端UI展示一致)
什么是Flutter??
Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。特点是:跨平台高保真高性能
Flutter的特点优点:
- 跨平台: 一套代码多端运行,兼容web,Android,iOS, Windows,macOS和Linux六个平台,减少平台差异适配,UI高度一致
- 高性能:
release模式下的AOT编译,使用Skia高性能自绘引擎,相比较reactNative和Weex,这类通过JS操纵原生控件渲染性能更好,接近原生的体验高效率 - 高效率:热重载 (
Hot Reload) 快速构建和迭代你的产品,更新代码后即刻看到变化,也不会丢失应用状态 - 开源协作:Google支持开源透明可靠
- Dart语言:既支持
AOT编译,可以生成执行快的机器码,也支持JIT编译通过热重载的方式加速了开发流程
Flutter的未来
生态趋势在上升,并且国内挺多大厂开始使用(阿里巴巴、美团、腾讯、快手、字节、百度、京东等)