传统的原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。使用Flutter开发,真正的一套代码多端使用,增加代码复用,降低人力和开发成本。
原生开发
开发成本大原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,人力成本,开发成本,测试成本都会变大。
动态化需求当需求发生变化时,纯原生应用大多数需要通过版本升级来更新内容,不发版也可以更新应用内容的需求就变的迫在眉睫
H5
WebView担任JavaScript与原生API之间通信的Bridge桥梁。
用于在JavaScript与原生之间通信的工具称之为WebView JavaScript Bridge(JsBridge)。
WebView性能堪忧
跨平台
H5 作为第二阶段的性能瓶颈,RN通过桥梁完成原生绘制,以达到更优的性能。JavaScript通过 bridge 传递到native完成原生绘制, bridge 的成本高,因为需要频繁的跨桥调用,导致卡顿等性能问题。
Flutter介绍
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
Flutter架构
Flutter优势
热重载
页面每次改动,不需要手动去刷新,可自动刷新。即支持开发过程中热重载。
统一的UI
Flutter 提供丰富的内置 UI 组件—— Material Design(针对 Android )和 Cupertino(适用于 iOS ),不需要担心在众多设备上看起来会有什么不同。
Dart
特点:
基于JIT的快速开发周期
Flutter在开发阶段采用JIT模式,这样就避免了每次改动都要进行编译,极大的节省了开发时间;
基于AOT的发布包
Flutter在发布时可以通过AOT生成高效的ARM代码以保证应用性能。
为了快速流畅的用户体验需要能够在每个动画帧运行大量的代码,不能有周期性的停顿,否则会造成掉帧。
单线程: 不需要锁,不存在数据竞争和变量状态同步,也没有线程上下文切换的性能损耗和锁导致的卡顿。
垃圾回收
多生代无锁垃圾回收器,专门为UI框架中常见的大量Widgets对象创建和销毁优化。
Flutter中文网
网友评论