Flutter、React Native 的区别

Flutter语言:Dart

性能:优

APIs & UI:内置组件

IDE:VSC,IntelliJ idea,Android Studio

文档:详尽

配置环境:简单,内置库

1、Flutter优点
A、混合开发中,最接近原生开发的框架;
B、性能强大,流畅;
C、优秀的路由设计;
D、优秀的动画设计;
E、简单易学,Dart语言更具优势;
F、跨多种平台,减少开发成本;支持插件,可以访问原生系统的调用。

G、支持热重载

 

2、Flutter缺点
A、脱离不开原生,开发人员需要具备原生(Android、iOS)基础开发能力;
B、适配问题,开发工具版本升级后,修改量大;
C、原生集成第三方SDK后,兼容性适配是个令人头痛的问题;
D、代码可读性较差,对代码质量和管理要求较高;
E、Widget的类型难以选择,糟糕的UI控件API;
F、Flutter packages和Dart packages上第三方sdk繁杂,适配性差,不可乱用;
G、目前几乎没有第三方开发者平台开发Flutter能力的SDK,需要原生去集成;
H、打包后,apk/ipa要大很多。

 

RN语言:JavaScript

性能:中等

APIs & UI:三方库

IDE:所有

文档:差

配置环境:需要三方解决方案

 

实现原理:
React Native:
通过写 JS 代码配置页面布局,然后 React Native 最终会解析渲染成原生控件,如 标签对应 ViewGroup/UIView , 标签对应 ScrollView/UIScrollView , 标签对应 ImageView/UIImageView 等。
Flutter:
Flutter中绝大部分的 Widget 都与平台无关, 开发者基于 Framework 开发 App ,而 Framework 运行在 Engine 之上,由 Engine 进行适配和跨平台支持。这个跨平台的支持过程,其实就是将 Flutter UI 中的 Widget “数据化” ,然后通过 Engine 上的 Skia 直接绘制到屏幕上

 

 

posted @ 2021-03-29 09:47  黄增松  阅读(414)  评论(0编辑  收藏  举报