返回

难言的苦衷!Airbnb 为何放弃 React Native

前端

尽管原文一直在委婉地使用“sunset”(日落)这个行话,但事实的确是:Airbnb 要放弃 React Native 了。早上刷到 Gabriel Peal 的推时,看到「两年,220 屏,12w 行 JS」,我的第一反应就是「好吧,React Native 在 Airbnb 凉了」。

时至今日,当我写下这篇文章时,Airbnb 官方还没有正式宣布放弃 React Native,但 Gabe 的推文已经足够说明问题了。

Airbnb 使用 React Native 两年,开发了 220 个屏幕,写了 12 万行 JS 代码,然后他们决定放弃 React Native,这是为什么呢?

Airbnb 放弃 React Native 的原因有很多,其中包括:

  • 性能问题: React Native 的性能一直饱受诟病,尤其是在处理复杂动画和交互时,性能表现不佳。这对于 Airbnb 这样的大型应用来说,是一个严重的问题。
  • 开发效率低: React Native 的开发效率也一直被诟病,因为开发人员需要同时掌握 JavaScript 和 React Native 的知识,这使得开发过程变得更加复杂和耗时。
  • 用户体验差: 由于性能问题和开发效率低,React Native 的用户体验往往不尽如人意。这对于 Airbnb 来说,也是一个不可忽视的问题。

除了上述原因之外,Airbnb 放弃 React Native 还有其他一些原因,例如:

  • 技术栈的变化: Airbnb 在过去几年中,已经从一个纯 JavaScript 的技术栈,转向了一个更全面的技术栈,其中包括 Java、Swift 和 Kotlin。这使得 React Native 在 Airbnb 的技术栈中变得不再那么重要。
  • 战略调整: Airbnb 在过去几年中,一直在调整其战略,从一个专注于民宿租赁的平台,转向一个更全面的旅游平台。这使得 React Native 在 Airbnb 的战略中变得不再那么重要。

综上所述,Airbnb 放弃 React Native 是一个深思熟虑的决定。React Native 虽然是一个强大的跨平台开发框架,但在性能、开发效率和用户体验方面存在着一些不足。对于 Airbnb 这样的大型应用来说,这些不足是不可接受的。

那么,Airbnb 放弃 React Native 之后,会选择什么样的替代方案呢?

目前来看,Airbnb 最有可能的选择是 Flutter。Flutter 是一个由 Google 开发的跨平台开发框架,它使用 Dart 语言编写,可以编译成原生代码。Flutter 在性能、开发效率和用户体验方面都表现出色,是 React Native 的一个强有力的竞争对手。

除了 Flutter 之外,Airbnb 还有可能选择 Ionic。Ionic 是一个由 Drifty Co 开发的跨平台开发框架,它使用 HTML、CSS 和 JavaScript 编写,可以编译成原生代码。Ionic 在性能、开发效率和用户体验方面也都表现出色,是 React Native 的另一个强有力的竞争对手。

无论 Airbnb 最终选择哪个替代方案,React Native 的失败都给我们敲响了警钟:跨平台开发框架并不是万能的,在选择跨平台开发框架时,一定要考虑自己的实际情况,选择最适合自己的框架。