Airbnb 宣布放弃使用 React Native,回归使用原生技术

来源: OSCHINA
编辑:
2018-06-21 08:11:00

昨日,Airbnb 技术团队在 Medium 上宣布,Airbnb 放弃使用 React Native,将回归到使用基于原生技术的自有框架开发 App。

Airbnb 表示,尽管很多团队都依赖 React Native 并计划在可预见的将来使用它,但他们最终还是无法实现最初的目标。此外,还有一些他们无法克服的技术组织挑战,如果继续使用 React Native,这些挑战最终会变成更大的难题。

因此,Airbnb 宣布放弃使用 React Native,并将所有的努力重新投入到基于原生技术开发 App。

Airbnb 在博客中提到,当 React Native 按照预期运行时,工程师能以惊人的速度开发应用。然而实际情况是由于众多的技术和组织问题,RN 反而给项目带来了意外的延迟,还增加了项目成员的挫败感。

接着,Airbnb 表示尽管 React Native 中的代码几乎完全是跨平台共享的,但他们的应用程序中只有一小部分是 React Native。另外还需要编写大量桥接基础设施的代码,以保证产品工程师能够有效地工作。因此,他们最后是在三个平台(React Native, Android, iOS),而不是两个平台上进行编码。

可以看到,Airbnb 放弃使用 React Native 的主要原因是 React Native 未能实现完全的跨平台抽象,有时候仍然需要针对特定平台单独编写代码来解决问题。这就间接要求他们的工程师必须熟悉三个平台才能真正用好 React Native,然而绝大多数开发者只熟悉一两个平台,久而久之便引发了一系列的问题。

最后,Airbnb 说道,决定是否使用新平台是一个重大决定,这完全取决于你团队独有的因素。他们的经历和放弃原因可能不适用于你的团队。事实上,许多公司今天仍在继续使用 React Native,它可能仍然是许多其他公司的最佳选择。

展开阅读全文
点击加入讨论🔥(45) 发布并加入讨论🔥
本篇精彩评论
这也是我一贯对于跨平台的看法:
如果跨平台,那么必然无法对于各个平台特性专门优化。而细节的从差异会随着项目的复杂和耦合程度造成蝴蝶效应。
因此,如果时简单、独立的项目,可以用跨平台的结构。
但是,如果项目耦合多,复杂度高、性能要求高,
建议还是使用各自平台单独实现的好。
更何况,各个平台的目标用户习惯本来就有差异。
2018-06-21 08:40
20
举报
饿了么的方案就挺好,原生做个壳子,里面就是页面,随便玩
2018-06-21 08:36
12
举报
撸完嫌人丑
2018-06-21 09:32
7
举报
在平台方来说,常用的功能上肯定是趋于一致的的,但是,肯定要搞些不一样的的东西出来,所以开发涉及到这些区别的时候不可能完全能兼容了。这时候各自单独开发是能避免坑,但是也增加了开发成本。如果混合开发,通用的+特定的开发也容易踩到混合开发的坑。。怎么弄都有优劣,完全倾向于自己的选择了。所以不是很看好多平台通用的东西,万一以后的APP可能是一个特定平台的特定常营软硬混卖的情况,那不就不存在这种人为制造的开发差异了吗。
2018-06-26 09:36
2
举报

引用来自“酱哥哥”的评论

Xamerian了解一下。你们花费精力维护一个RN社区不如投身到Xamerian。
没区别的,还是等于要熟悉三个平台(安卓、苹果、微软)
2018-06-21 10:07
2
举报
45 评论
20 收藏
分享
返回顶部
顶部