我们有一个用reactjs开发的小部件的稳定版本.我们想开发同样的手机版本.使用react native进行开发并在两个应用程序之间共享代码更好,还是我们以本机方式开发小部件更好.

请记住,我们在这两方面都有专业知识(react和android dev),但我们不想再次投入太多时间开发整个应用程序.

如果我们 Select react native,是否有任何工具/资源可以更快地完成这项工作?

网上资源:

http://jkaufman.io/react-web-native-codesharing/

https://arielelkin.github.io/articles/why-im-not-a-react-native-developer.html

https://medium.com/@felipecsl/thoughts-on-react-native-from-an-android-engineers-perspective-ea2bea5aa078

干杯

推荐答案

Instagram, Tesla, AirBnB, Discord, Bloomberg个都有用React Native编写的生产应用程序.我会让你自己决定你认为它是否可以生产.

虽然React Native可以让你在iOS和Android之间实现显著的代码重用(我们目前正在为客户端构建一个应用程序,它可以从外部库中安装,在iOS和Android之间重用超过99%的代码),但它不是为与React webapps共享代码而设计的.

Facebook的理念是,用React Native代替write once, run anywhere相当于learn once, write anywhere.

你当然可以使用你的设计和架构,但你需要重写大部分代码.不过,它可能仍然比开发两个单独的Java和Obj-C/Swift应用程序更高效.

Update: 2018年,Airbnb决定在其生产应用程序中使用本机.他们写了一篇关于他们的经验和推理的有见地的文章.这对于任何想使用React Native的人来说都非常重要.https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c

React-native相关问答推荐

在AWS-Amplify js v6中检索原始的accesToken和idToken

什么是 expoClientId?

如何在 react-native 中刷新 Flatlist 数据?

React Native - 为什么我们对 Image 组件使用 tintColor 属性?

在 React Native 上为 android 创建自定义 UI 组件,如何向 JS 发送数据?

如何从 Firebase 获取所有设备令牌?

如何使用 AND/OR 运算符过滤列表/查询 AWS Amplify JavaScript GraphQL

Invariant Violation:requireNativeComponent: "RNCWebView" was not found in the UIManager

React Redux 使用带有连接组件的 HOC

如何使用 InteractionManager.runAfterInteractions 使导航器过渡更快

react-native 从右到左

在本react-native中具有异步和等待的箭头函数

props验证中缺少 React Navigation 'navigation'

React-Native:FlatList onRefresh not called on pull up.

如何在 Text ReactNative 中包含 TouchableOpacity

无法判断模块react-native-maps:找不到名称为 default的配置

react-native iOS 应用在部署后不显示静态/本地资源

React Native:如何动态更改

无法读取未定义的属性 string| React.PropTypes | LayoutPropTypes.js

安卓启动问题:Unsupported class file major version 57