概念
Flutter 是一个跨平台(Android 和 iOS)的移动开发框架,使用的是 Dart 语言。
Flutter 的目标是用来创建高性能、高稳定性、高帧率、低延迟的 Android 和 iOS 应用。并且开发出来的应用在不同的平台用起来跟原生应用具有一样的体验。
Flutter 从设计上就天然支持多平台开发,它的底层基于 Skia 跨平台图形引擎,向上构建出了一整套平台无关的渲染体系和事件处理体系,并紧贴 Native 研发模式自定义了基于 widgets 的声明+响应式编程范式,对系统能力依赖度低,并具备出色的跨平台还原度;支持多平台也是 Flutter 的战略目标之一。
优点
- 极高的开发与交付效率,良好的开发体验
- 优秀的跨多端多平台能力
- 极强的 UI 表现力
开发效率
传统的 Native 业务研发 iOS/Android 双端需要分别投入,研发成本高,端差异性大且依赖端侧发版,所以一直较为依赖前端体系。
跨平台
电商业务发展到当前阶段,不再局限于移动端,更多需要跨平台。钉钉/千牛桌面端应用场景,甚至天猫精灵、线下门店等业务场景。需要一个比 Web 性能更好适配成本更低的多端方案。目前跨多端技术方案主要依赖于浏览器和前端体系,但浏览器本身的沙盒属性、与系统较低的结合度、以及在低端设备上较差的性能都降低了研发效率和用户体验。
可以说目前集团内的跨多端多平台方案是实质缺失的。Flutter 从设计上就天然支持多平台开发,它的底层基于 Skia 跨平台图形引擎,向上构建出了一整套平台无关的渲染体系和事件处理体系,并紧贴 Native 研发模式自定义了基于 widgets 的声明+响应式编程范式,对系统能力依赖度低,并具备出色的跨平台还原度;支持多平台也是 Flutter 的战略目标之一。
UI表现力
电商业务重体验,重交互,尤其对于流量精细化运营场景,富交互的游戏化表现方式已经成为流量促活的重要手段。在 UI 表现力方面,前端体系一直具备着优势,通过 CSS3 强大的动画能力,开发者可以非常容易的实现复杂的动画效果和交互体验,而基于 Native UI ,需要借助各种动画特效三方库,双端开发体验不一致,实现复杂且交付效率低。Flutter很好的解决了这个问题,从补间(Tween)动画、基于物理属性的动画,到相对复杂的页面间Hero动画、parallax交错动画等特效,Flutter都可以跨平台低成本的高效实现。
使用
补充几个注意事项
iOS开发使用VSCode
1.问题lib/main.dart:1: Warning: Interpreting this as package URI, 'package:app1/main.dart
解决:Flutter projects nested more than 2 levels deep do not force "Flutter mode", preventing launching/debugging apps
VSCode不识别flutter,要注意open folder的项目的层级。
2.使用 view - command palette - launch emulator - 加载iOS模拟器。
网友评论