昨日,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,它可能仍然是许多其他公司的最佳选择。