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

局长
 局长
发布于 2018年06月21日
收藏 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,它可能仍然是许多其他公司的最佳选择。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Airbnb 宣布放弃使用 React Native,回归使用原生技术
加载中

精彩评论

久永
久永
这也是我一贯对于跨平台的看法:
如果跨平台,那么必然无法对于各个平台特性专门优化。而细节的从差异会随着项目的复杂和耦合程度造成蝴蝶效应。
因此,如果时简单、独立的项目,可以用跨平台的结构。
但是,如果项目耦合多,复杂度高、性能要求高,
建议还是使用各自平台单独实现的好。
更何况,各个平台的目标用户习惯本来就有差异。
一个灰
一个灰
饿了么的方案就挺好,原生做个壳子,里面就是页面,随便玩
kardashian
kardashian
撸完嫌人丑
MrD
MrD
一群跟风狗,人家用他就用,人家不用,赶紧出来站队,吐槽自己的那种不满,好像自己洞察一切一样...
沉默狮
沉默狮
在平台方来说,常用的功能上肯定是趋于一致的的,但是,肯定要搞些不一样的的东西出来,所以开发涉及到这些区别的时候不可能完全能兼容了。这时候各自单独开发是能避免坑,但是也增加了开发成本。如果混合开发,通用的+特定的开发也容易踩到混合开发的坑。。怎么弄都有优劣,完全倾向于自己的选择了。所以不是很看好多平台通用的东西,万一以后的APP可能是一个特定平台的特定常营软硬混卖的情况,那不就不存在这种人为制造的开发差异了吗。

最新评论(45

提子干

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

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

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

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

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

flutter才是真正的跨平台

引用来自“yanweimin7”的评论

也只是ui跨平台,平台能力还是要靠桥接。
flutter也是个填不平的坑
zhjphp
zhjphp
直接上qml写多好
榕树下_
榕树下_
这就是坑呀,大大的坑。
返回顶部
顶部