本文由 简悦 SimpRead转码,原文地址 www.callstack.com
通过实施 React Native w...... 缩短上市时间、降低开发成本并更快地推出功能
通过采用布朗菲尔德方法实施 React Native,缩短上市时间,降低开发成本,更快地推出新功能。
简介
应用程序的生命周期有不同的阶段。最长也是最重要的一个阶段是维护期。它包括保持已发布软件正常运行并充分发挥其潜力所需的所有工作。
在这一阶段,我们经常会发现新的库、设计模式甚至框架,它们有望带来显著的改进。为了在竞争中保持领先,并确保我们的应用程序无论到了什么时候都能熠熠生辉,我们会对它们进行尝试。
最好的方法之一就是循序渐进。换句话说,与其从头开始重写整个应用程序,不如将新组件集成到一个有生命的有机体中,并逐一替换应用程序的现有组件。
例如,如果开发人员希望将现有前端从 Backbone 迁移到 React,可以考虑先用 React 替换一个组件。
Ryan Florence 演示如何从 Backbone 逐步迁移到 React。
一个好的候选对象是产品中最不重要的屏幕--为了测试的目的,你可以冒险让它处于次优状态。
这样,您就有机会尝试最新的创新,而不必冒着损失大量资源和时间的风险,去做一些最终可能不适合您的事情。
什么是棕地,棕地从何而来?
说到 React Native,有两个术语可以描述您开始开发下一个跨平台应用程序的方式--绿地和棕地。
绿地
绿地项目是指缺乏先前工作限制的项目。这与在绿地上施工有异曲同工之妙,因为在绿地上施工无需受到现有建筑或基础设施的限制。
在 React Native 环境中,它指的是一个全新的项目,通常使用 React Native CLI 或 Expo 创建。
棕地
另一方面,棕地项目是指必须在考虑现有组件的情况下进行新开发的项目。这里的类比与 greenfield 的类比正好相反--建设时必须考虑到周围的建筑物和/或基础设施。
在 React Native 中,棕地开发 指的是作为现有移动应用程序的一部分而启动的项目。
是什么让棕地开发和 React Native 完美结合?
虽然与传统的本地开发相比,React Native 似乎显得比较奇特,但其架构和设计决策使其成为棕地开发的完美候选。
React Native 应用程序与许多使用其他框架创建的应用程序不同,它与本地应用程序没有什么区别。通常,React Native 项目包含 iOS 和 Android 应用程序的源代码。在运行时,本地端会读取定义了 React 组件的 JavaScript 文件,并使用这些信息在屏幕上呈现相应的元素。
实际上,React Native 架构比上述描述更先进一些。您可以在我们的《React Native 优化终极指南》中了解更多。现在,请记住,从设备的角度来看,React Native 应用程序的功能和操作与原生应用程序相同。
因此,您可以逐步在应用程序中采用 React Native,并立即开始利用跨平台优势,而无需从头开始重写一切或执行重大的架构更改。
以棕地方式集成 React Native 的优势
如果您在多个平台上都有现有的应用程序,这并不意味着您必须错过 React Native 和跨平台方法的优势。
通过在基础架构中逐步采用 React Native,您将获得以下好处:
开发总成本最多可降低 50%。 这是跨平台应用程序解决方案最重要的商业利益之一。通过由一个团队负责同时在 Android 和 iOS 上运行的应用程序的开发,它们可以让您将开发成本降低 50%。此外,布朗菲尔德方法允许您重复使用现有的本地代码,同时使用 JavaScript 扩展应用程序。这意味着减少了开发人员的工作量,同时也降低了整个流程的成本。
更快的上市时间。 由于您只需管理一个开发团队,因此整个过程更加省时高效。因此,您的团队能够比竞争对手更快地推出应用程序。规则很简单:越快发布应用程序,就能越快赚钱。此外,有了布朗菲尔德,您可以在使用 JavaScript 扩展应用程序的同时,重复使用一些现有的本地代码。编码更少,发布更快。听起来很有趣,不是吗?
在升级现有应用程序的同时持续创收 这是 Brownfield 带来的最佳优势之一。它允许您在不影响业务连续性的情况下对应用程序进行牵连升级。正因为如此,您的产品在升级的同时仍能创造收入。
值得注意的是,有了 Brownfield,您可以在不停止现有业务的情况下,将多个应用程序(iOS、Android)转移到一个应用程序中!您可以开始将您的应用程序从原生版本转移到一个跨平台版本,而您的用户仍然可以享用它。
更低的维护成本 这很简单--一个跨平台应用程序所需的维护工作要少于两个不同平台的版本。所有工作都由一个团队完成。
微软使用 React Native 在不同平台之间共享代码的示例。
这是一个最好的例子,说明这种技术适用于所有企业,无论产品和组织的年龄和规模如何。
了解更多 如果您想了解更多技术细节和入门方法,我们为 iOS 和 Android 平台准备了全面的分步指南。
摘要
作为The React Native Show的一部分,我们发布了一个播客,专门讨论Brownfield Development with React Native.的未来。
虽然将 React Native 集成到现有的移动应用程序中与添加另一个原生屏幕没有什么不同,但很多微小的设计决策都会对应用程序的性能和开发的易用性产生重大影响。
我们深刻地认识到,要想以最有效的方式将 Android、iOS 和 React Native 的细微差别粘合在一起,拥有专业的知识是非常困难的。
React Native 布朗菲尔德库
因此,我们创建了一个名为 React Native Brownfield 的专用库来解决这一难题。
Mike Chudziak在 RN EU 舞台上宣布 React Native Brownfield
这是我们在为客户集成 React Native 作为现有基础架构的一部分时通常会选择的最佳实践和工具的集合。
关注Brownfield资源库以保持更新
我们目前正在进行全面重写(称为 v2),其中引入了构建自动化,将在棕地环境中设置 React Native 所需的步骤减少到最低限度。
请务必订阅我们的时事通讯和 观看 Github 上的软件源,以便在未来几周内随时了解更新情况。
同时,请仔细查看我们React Native 开发公司提供的其他服务。