Flutter还是React Native

  时隔多年,又捡起了Flutter,粗略对比了一下React Native,总体来说,相差不是特别大,性能方面原生组件的React Native可能会更好一些,但是想想,现在设备都这么强悍,而且Flutter生态这些年也强大了不少,还是选择Flutter,根据文档描述来看,还是一整套下来的比较方便开发.整理了一个表格,列举了一下我觉得需要关注的一些内容,大家可以参考看看就行.至于最终选择哪个框架,还得是自己喜欢.

  至于其他框架,喜欢就行,我选这俩对比,是因为工作量而言都差不多,几年前写过一个Flutter项目,近两年在写Electron+React.没错,我是Android开发工程师.Electron虽然也想整理一下,但我是个比较懒的程序员,说不定发了这篇,都没下一篇了,大家看看就行.

功能

 

Flutter

 

React Native

 

开发文档

Flutter 开发文档

简介 · React Native 中文网

编程语言

Dart

JavaScript

平台覆盖

支持 iOS、Android、Web、桌面(Windows、macOS、Linux)、嵌入式等多种平台

支持 iOS、Android、Web、Windows、macOS、tvOS 等多种平台

UI 开发

Flutter 允许更高程度的自定义和控制

React Native 可以更好地与平台原生 UI 集成

UI 渲染

使用 Skia 渲染引擎,自绘 UI,高度自定义

使用平台原生组件,一定程度上受限于平台原生 UI

跨平台渲染

使用 Skia 渲染引擎实现跨平台渲染

使用平台原生组件进行渲染

原生组件支持

通过 Platform Channel 实现与原生组件的交互

直接支持使用平台原生组件

生态系统

相对较弱,但在迅速增长

成熟的生态系统,庞大的社区和丰富的第三方库

热更新

支持热更新,可以实现应用程序的在线更新

支持热更新,可以通过第三方服务(如 CodePush)来实现应用程序的在线更新

开发热加载

支持

支持

平台集成

需要使用 Platform Channel 进行底层调用

直接调用原生平台的 API

数据持久化

支持 Sqflite、Hive 等数据库

支持 AsyncStorage、Realm 等

动画支持

提供了丰富的动画库,如 Flutter Animation

支持原生动画 API、动画库

第三方库

支持(Pub Package Manager,Dart Packages,Platform-specific Packages 等)

支持(npm,JavaScript Packages,Native Modules 等)

网络请求

提供了 http、dio 等库进行网络请求

支持 fetch API、Axios 等

开发调试工具

提供了 Flutter DevTools 进行调试和性能优化

提供了 React Native Debugger 等工具

安全性

Flutter 可以实现更高级的安全特性

React Native 依赖于平台原生的安全特性

多语言

支持

支持

UI一致性

Flutter 的自绘 UI 技术能够实现跨平台的 UI 一致性

React Native 使用平台原生组件,可能会因平台差异导致 UI 不完全一致

适配性

Flutter 需要通过适配器或自定义 UI 来适配不同平台的特性

React Native 可以直接调用平台原生的 API,适配性相对较好

打包工具

Flutter 提供了命令行工具和集成开发环境(如 Android Studio、VS Code、CI/CD)来进行打包和部署

React Native 使用各平台原生的打包工具(如 Android Studio、Xcode)来进行打包和部署

本地包引用

支持使用 Platform Channels 和 Method Channels 与原生代码进行通信,因此您可以通过编写原生插件来集成 SO 文件。您可以编写一个 Dart 包装器来调用原生代码,然后使用 Platform Channels 将 Dart 代码与原生代码连接起来。

可以使用 Native Modules 或者使用第三方的 React Native 插件来集成 SO 文件。如果您使用原生模块,您可以直接在 Java 或者 Objective-C/Swift 代码中调用 SO 文件的函数。

订阅付费

in_app_purchase | Flutter package      Android,iOS

npm: react-native-iap      Android,iOS

广告开发

Google AdMob、Facebook Audience Network、Unity Ads、AppLovin等

Google AdMob、Facebook Audience Network、Unity Ads、AppLovin等

posted @ 2024-03-06 15:10  心叽之蛙  阅读(42)  评论(0编辑  收藏  举报