昨日,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,它可能仍然是许多其他公司的最佳选择。
引用来自“橙子_小米”的评论
flutter才是真正的跨平台不止是界面啦,功能也得一致吧。
如果组织架构是完全分散的,其他的,就没得聊了。总之,开心就好
因为自己不喜欢在手机上安装太多软件,我想大部分用户也是这种想法,(^-^)V,而微信又是必备软件,那么基于微信实现跨平台还是蛮不错的,相信微信以后也会强化“微信小程序”这个平台。
引用来自“一个灰”的评论
饿了么的方案就挺好,原生做个壳子,里面就是页面,随便玩引用来自“橙子_小米”的评论
flutter才是真正的跨平台引用来自“yanweimin7”的评论
也只是ui跨平台,平台能力还是要靠桥接。引用来自“橙子_小米”的评论
flutter才是真正的跨平台引用来自“MGL_TECH”的评论
只是了解RN等类似相关解决方案,但从未动心 一直保持原生开发! 其实最好的姐姐方案就是 用原生做个壳子 潜逃HTML😁引用来自“22813518”的评论
姐姐方案?那有没有没妹妹方案?引用来自“MrD”的评论
一群跟风狗,人家用他就用,人家不用,赶紧出来站队,吐槽自己的那种不满,好像自己洞察一切一样...引用来自“酱哥哥”的评论
Xamerian了解一下。你们花费精力维护一个RN社区不如投身到Xamerian。引用来自“酱哥哥”的评论
Xamerian了解一下。你们花费精力维护一个RN社区不如投身到Xamerian。引用来自“MGL_TECH”的评论
只是了解RN等类似相关解决方案,但从未动心 一直保持原生开发! 其实最好的姐姐方案就是 用原生做个壳子 潜逃HTML😁引用来自“久永”的评论
这也是我一贯对于跨平台的看法:如果跨平台,那么必然无法对于各个平台特性专门优化。而细节的从差异会随着项目的复杂和耦合程度造成蝴蝶效应。
因此,如果时简单、独立的项目,可以用跨平台的结构。
但是,如果项目耦合多,复杂度高、性能要求高,
建议还是使用各自平台单独实现的好。
更何况,各个平台的目标用户习惯本来就有差异。
引用来自“张金富”的评论
从顶层看 手机功能是趋于一致的 底层的差异可以通过跨平台技术来封装flutter的设计思路就不错 不用系统自带的控件 自己实现一套
引用来自“酱哥哥”的评论
Xamerian了解一下。你们花费精力维护一个RN社区不如投身到Xamerian。引用来自“一个灰”的评论
饿了么的方案就挺好,原生做个壳子,里面就是页面,随便玩引用来自“久永”的评论
这也是我一贯对于跨平台的看法:如果跨平台,那么必然无法对于各个平台特性专门优化。而细节的从差异会随着项目的复杂和耦合程度造成蝴蝶效应。
因此,如果时简单、独立的项目,可以用跨平台的结构。
但是,如果项目耦合多,复杂度高、性能要求高,
建议还是使用各自平台单独实现的好。
更何况,各个平台的目标用户习惯本来就有差异。
flutter的设计思路就不错 不用系统自带的控件 自己实现一套
如果跨平台,那么必然无法对于各个平台特性专门优化。而细节的从差异会随着项目的复杂和耦合程度造成蝴蝶效应。
因此,如果时简单、独立的项目,可以用跨平台的结构。
但是,如果项目耦合多,复杂度高、性能要求高,
建议还是使用各自平台单独实现的好。
更何况,各个平台的目标用户习惯本来就有差异。