Airbnb:我们为什么会选择放弃 React Native

栏目: 服务器 · 发布时间: 5年前

内容简介:今年6月,Airbnb 技术团队宣布,近日,Airbnb 工程师 Gabriel Peal 在接受

今年6月,Airbnb 技术团队宣布, Airbnb 将放弃使用 React Native ,回归到使用基于原生技术的自有框架开发 App。作为一家世界级顶尖公司,在对 React Native 投入大量精力后,突然决定弃它而去,这让不少想要使用和正在使用 React Native 的人都感到震惊和疑惑。

近日,Airbnb 工程师 Gabriel Peal 在接受 外媒采访 时,聊到了 Airbnb 的移动开发历史、React Native 的优缺点,以及 Airbnb 最终为什么决定从 React Native 迁移。

Airbnb:我们为什么会选择放弃 React Native

React Native 对 Airbnb 来说最大优势是快速开发和平台不可知论(platform agnosticism)。通过 React Native ,Airbnb 可以利用整个开发团队来帮助构建和支持他们的移动应用。这意味着无论后来的员工在移动和 Web 开发方面的背景如何,都可以快速培训上手。它还意味着更精简的代码库,因为能够跨三个平台部署一个存储库。但同时,也带来了挑战:

从 0 至 1 ,需要一大笔投入

许多人认为在 Airbnb 决定使用 React Native 时有做完整的迁移,其实到目前为止,React Native 代码仅占 Airbnb 代码库和开发资源的 15-20%,它一直就不是 Airbnb 公司的主要平台。尽管 React Native 是一个框架并且极大地简化了移动开发流程,但启动和运行起来并非易事,尤其是在已有现成代码库的情况下。将 React Native 集成到现有的移动代码库中预期会耗费大量时间和精力。

开发者仍需编写原生代码

对于 API 在两个平台之间具有明确桥梁的简单应用,React Native 是一个很好的选择。在 Airbnb 移动应用的早期阶段,React Native 是移动应用中的强大加速器。但最终,API 将无法以你想要的方式运行,你还是不得不深入到原生库中进行必要的调整。

如果聘请一位 JavaScript 开发者来维护你的 React Native 项目,那么他们必须编写原生代码来弥补功能上的缝隙。

小心“地雷”

React Native 代码中的地雷和互作用极难追踪和重现。举个实际例子,Airbnb 团队有遇到 React Native 组件在某些手机上显示一片空白的问题,该 bug 不仅不可靠,而且难以追踪。

解决方案是关闭初始化 Fresco ,这是一个适用于 Android 的 React Native 标准图像渲染库。直到今天,工程师仍然不明白为什么这个步骤修复了这个 bug 。

投入永无止境/迭代缓慢

许多团队使用 React Native 进行小型移动应用的原型设计,并相信它能解决他们的所有问题。但与所有开源软件一样,该平台在不断变化,每天都会发现新的 bug 和问题。支持 React Native 还处于动荡的生态需要持续的投资。

比如 Airbnb 工程师希望一个符合其产品目标的补丁能够尽快合并进入 React Native 框架,不幸的是,React Native 的开发生命周期为每四周发布一次。如果这次没通过,他们将不得不等待差不多一个月,来重新审查或采用他们的修改。

随着 Airbnb 的发展加速,他们无法承担其中的风险。由于劣势高于优势,促使 Airbnb 重新考量,并最终放弃 React Native 开发。

此外,虽然除了 React Native 之外还有其他的跨平台替代方案,比如 Google 的 Flutter 和微软的 Xamarin ,但和上面提到的类似的问题也都可以在这些框架上面找到,而且这两个框架在 Google 和 Microsoft 中的使用率都相对较低。虽然跨平台框架能解决大多数简单问题,但一些更复杂的问题最终还是需要回到相应移动设备的原生平台来处理。

Airbnb:我们为什么会选择放弃 React Native

来自: softwareengineeringdaily.com 编译:开源中国


以上所述就是小编给大家介绍的《Airbnb:我们为什么会选择放弃 React Native》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

[美]Mark Allen Weiss / 张怀勇 / 人民邮电出版社 / 2007年 / 49.00元

《数据结构与算法分析:C++描述(第3版)》是数据结构和算法分析的经典教材,书中使用主流的程序设计语言C++作为具体的实现语言。书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科生的数据结构课程和研究生算法分析课程的教材。本科生的数据结构课......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换