【问题标题】:Why Should I Adopt React Native in Old Projects?为什么我应该在旧项目中采用 React Native?
【发布时间】:2017-03-18 03:06:20
【问题描述】:

过去一周我一直在深入研究 React Native,以决定我和团队是否应该采用它。我得说这看起来很有希望。我还了解了它与现有原生项目集成的能力,以及它逐渐采用以改变现有原生项目的能力。

我的问题是什么情况/原因让我想将完成的旧原生项目 (iOS/Android) 转换为 React Native?

编辑:澄清一下,我们的团队目前只构建原生应用。

【问题讨论】:

  • 他们目前是否在 nativescript 中?
  • @mast3rd3mon 如果你指的是团队,不,我们正在构建原生。
  • 所以应用程序是用本地语言 (C++/C#/etc) 而不是 nativescript 编写的?
  • @mast3rd3mon Swift/Java

标签: react-native mobile-application react-native-android react-native-ios


【解决方案1】:

这取决于您要构建的应用类型。但是你总是可以使用原生代码或反应原生代码。由于你们都可以用原生代码编写代码,因此任何你找不到的东西都可以制作原生组件。

React Native 的优势体现在 iOS 和 Android 之间的代码重用上,这样您的团队就可以更快地进行迭代协作。许多大型应用程序已经实现了 80% 或更多的代码重用。

您会发现 flexbox 非常容易快速创建符合规范的视图并快速更改样式。此外,它们都在代码中,并且与 git 配合得很好。

请参阅下面的编辑: 现在这么说,我从来没有在原生项目中使用过 React Native,但要调用动作,你需要公开函数以从 JavaScript 端调用。我不知道是否通常使用单例或只是控制器功能的导入或要公开的委托,但它必须回调到本机应用程序。在 React 本机应用程序中使用本机组件很容易,我已经这样做了,所以我确信它可以以其他方式工作。

编辑:出于好奇,我在一个测试项目中添加了一些反应原生视图,它的效果出奇的好。不需要单例 Javascript 映射视图标签和导出的函数。疯狂的。下面的问题仍然存在,但我认为如果您要进行更改,那是错误的,但是如果您想要更改 UI,那么它肯定会受益,因为您的重用可以在您的平台上增长。

我看到的缺点 - 如果您不使用本机导航方法,有时过渡动画可能会滞后。同时使用原生和 React Native 会增加你的应用程序的大小,因此你需要密切关注这一点。启动时间也会受到伤害,因此也要对其进行监控。

尽管如此,我最近用 React Native 构建了一些东西,但对于原生开发者来说,它有时既漂亮又令人沮丧。

这是 Instagram 和 React Native 上的一个很棒的 article

AirBnb 也大量使用 RN。他们现在可能完全是 RN,但我不确定。它们确实驱动了 RN 中的许多外部框架,例如 RN 中的地图组件。他们也刚刚发布了 Lottie,非常酷。这是关于 AirBnb 的article

【讨论】:

  • 使用angular2也会导致大量代码使用
  • @mast3rd3mon 你对 angular2 大代码是正确的,横向我在混合时从 angular 1 切换到 2,但就代码大小而言,输出并不令人愉快。
  • 最终项目中的大小一点也不差。我已经编写了一个非常简洁的教程,将其添加到现有项目中,并在我上线时将其发布在答案中。我正在找人校对和测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-11
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
相关资源
最近更新 更多