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

来源: OSCHINA
编辑: 局长
2018-06-21

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

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

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

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

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

Xamerian了解一下。你们花费精力维护一个RN社区不如投身到Xamerian。
不懂技术容易被忽悠的领导阶层的最爱,开发人员选这个就是给自己挖坑,谁用谁后悔。
2018-06-21 15:39
1
举报
最新评论 (37)

引用来自“橙子_小米”的评论

flutter才是真正的跨平台
兄弟感谢推荐,看过flutter,貌似是用2D引擎写UI,用统一语言写机器语言,不错,了解一下
2018-08-14 10:45
0
回复
举报
不同的发展阶段用什么技术选型,很正常,不适合就替换,当你团队只有1-2个技术员,那么RN和WEEX可能是你的好选择,团队大了,有资金了,什么技术都不是问题,只要适用,你还可以用RN和WEEX做壳 + 2D引擎写自己的应用也行,效率可能比任何移动UI框架要高,从来没有一个完美的方案,只有适合的方案
2018-08-14 10:33
0
回复
举报
即便IOS、Android、WAP、PC都独立开发,怎么保证客户看到的效果基本上一致呢?至少要保证各自看到的效果跟PC一致吧。
不止是界面啦,功能也得一致吧。
如果组织架构是完全分散的,其他的,就没得聊了。总之,开心就好
2018-07-21 09:56
0
回复
举报
针对跨平台这个问题,个人认为微信小程序还是蛮不错的。
因为自己不喜欢在手机上安装太多软件,我想大部分用户也是这种想法,(^-^)V,而微信又是必备软件,那么基于微信实现跨平台还是蛮不错的,相信微信以后也会强化“微信小程序”这个平台。
2018-07-10 09:59
0
回复
举报
权衡、折中即可
2018-06-28 06:36
0
回复
举报

引用来自“一个灰”的评论

饿了么的方案就挺好,原生做个壳子,里面就是页面,随便玩
网页能实现的就用网页实现~ 真挺好的
2018-06-27 09:06
0
回复
举报
在平台方来说,常用的功能上肯定是趋于一致的的,但是,肯定要搞些不一样的的东西出来,所以开发涉及到这些区别的时候不可能完全能兼容了。这时候各自单独开发是能避免坑,但是也增加了开发成本。如果混合开发,通用的+特定的开发也容易踩到混合开发的坑。。怎么弄都有优劣,完全倾向于自己的选择了。所以不是很看好多平台通用的东西,万一以后的APP可能是一个特定平台的特定常营软硬混卖的情况,那不就不存在这种人为制造的开发差异了吗。
2018-06-26 09:36
2
回复
举报

引用来自“橙子_小米”的评论

flutter才是真正的跨平台

引用来自“yanweimin7”的评论

也只是ui跨平台,平台能力还是要靠桥接。
flutter也是个填不平的坑
2018-06-22 10:15
0
回复
举报
直接上qml写多好
2018-06-22 08:08
0
回复
举报
爬他了100多G图片了
2018-06-21 18:36
0
回复
举报
更多评论
45 评论
20 收藏
分享
返回顶部
顶部