为什么我应该在旧项目中采用React Native?

问题描述:

过去一周,我一直在深入研究React Native,以决定我和团队是否应该采用它。我得说它看起来很有希望。我还了解到它能够与现有的本地项目集成并逐步采用以改变现有的本地项目。为什么我应该在旧项目中采用React Native?

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

编辑:为了澄清,我们的团队目前只在构建本地应用程序。

+0

他们目前在nativescript? – mast3rd3mon

+0

@ mast3rd3mon如果你指的是团队,那么我们正在建立本地。 – Shawerma

+0

所以应用程序是用本地语言编写的(C++/C#/ etc)而不是nativescript? – mast3rd3mon

这取决于您正在构建什么类型的应用程序。但是,您始终可以使用本地代码或反应本地代码。既然你们都可以用本地代码编写,任何你找不到的东西都可以制作一个本地组件。

React Native的优势显示了iOS和Android之间的代码重用,因此您的团队可以更快地进行迭代工作。许多大型应用程序都实现了80%以上的代码重用。

您会发现flexbox非常容易,可以快速创建规范视图并快速更改样式。此外,他们都在代码中,并与git很好。

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

编辑:出于好奇,我在测试项目中添加了一些反应原生视图,它的工作效果令人惊讶。不需要任何单例Javascript映射视图标记和导出的函数。疯。下面的担忧依然存在,但我认为如果您改变了这种做法是错误的,但如果您想要改变UI,那么它肯定会受益,因为您的重复使用可以在您的平台上增长。

我见过的缺点 - 有时如果您不使用本地导航方法,转换动画可能会有些滞后。同时使用native和React Native会将大小添加到您的应用程序中,因此您需要密切关注。另外启动时间可能会受到伤害,因此也需要监控。

就这么说,我最近用React Native构建了一个公平的平台,它有时对于本地开发人员来说是美丽而令人沮丧的。

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

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

+0

使用angular2还会导致大量的代码使用 – mast3rd3mon

+0

@ mast3rd3mon您对angular2大代码是正确的,横向我从角度1切换到2,同时使混合,但输出不愉快时来代码的大小。 –

+0

@RakoNdaᵀᴴᴱᴼᴿᴵᴳᴵᴻᴬᴸ代码输出不太大 – mast3rd3mon