App原生与跨平台开发

当下App开发可采用:1、原生开发(如android选择JavaKotliniOS可选择Objective-CSwift),2、跨平台开发(React NativeFlutter)。

由于笔者最近也接触跨平台开发,这里顺便介绍一下Flutter和React Native这两个当下非常热门的跨品台应用开发框架的对比,后续若要在二者间选型可简单参考。

1、首先主要关注性能方面:

  • Flutter是谷歌推出的框架,采用谷歌自家的Dart语言、拥有良好的性能,原因是Dart可以直接编译为ARM代码和Fiasco微内核并且使用自己的渲染引擎Skia。Skia同时也是Android系统的图形渲染引擎之一,iOS的渲染引擎有Quartz 2D、OpenGL ES、Metal、Core Animation、Core Image。
  • React Native需要在JavaScript线程和原生线程之间频繁切换上下文,对性能有一定的影响。

2、UI组件:

  • Flutter:
  • React Native:

3、开发语言:

  • Flutter:Google的Dart
  • React Native:Java Script

4、社区和生态:

  • Flutter:快速发展中
  • React Native:发布更早,有比较成熟的社区,插件和三方库较多。

5、热重载:二者都支持热重载,与原生相比可能快速地调试。

发表回复