Airbnb:我们为什么会选择放弃 React Native

by admin on 2020年3月18日

今年6月,Airbnb 技术团队宣布,Airbnb 将放弃使用 React
Native,回归到使用基于原生技术的自有框架开发
App。作为一家世界级顶尖公司,在对 React Native
投入大量精力后,突然决定弃它而去,这让不少想要使用和正在使用 React
Native 的人都感到震惊和疑惑。

译者:Ricky

澳门新葡亰网址下载 1

近日,Airbnb 工程师 Gabriel Peal
在接受外媒采访时,聊到了
Airbnb 的移动开发历史、React Native 的优缺点,以及 Airbnb
最终为什么决定从 React Native 迁移。

原文: React Native: A year in
review

2018年 iOS
技术发展有点跌宕起伏。在苹果官方进入慢车道的同时,谷歌却强势推出了新的跨平台移动架构
Flutter;同一时间,与 Flutter 类似的跨平台解决方案 React Native 却被
Airbnb 放弃,一时之间蒙受阴影。

澳门新葡亰网址下载 2

时光荏苒,我们开源 React
Native
已经一年了。这个由一小戳工程师发起的一个创意,现在已经作为一个框架被
Facebook 的产品团队广泛使用了。今天,在 F8 大会上我们宣布微软正在把
React Native 引入 Window
生态系统,使开发者能够在
Windows PC, Phone 和 Xbox 平台上使用 React
Native。同时也提供了开源工具和服务,如 Visual Studio Code 的 React
Native 扩展和帮助开发者在 Window 平台上创建 React Native 应用的
CodePush。此外,三星正在使用
React Native 构建它的 Hybrid 平台,这使开发者能够为数以百万计的 SmartTV
和可穿戴设备创建应用。我们也发布了 Facebook SDK for React
Native,这使开发者能够更便捷地在他们的应用中集成
Facebook 的社交属性,比如登录、分享、App 分析和绘图
API。仅在一年之中,React Native
已经改变了开发者们在各大主流平台构建应用的方式。

原生开发一直是最正统的 iOS
开发解决方案。经历了10多年的发展,苹果已经构建起了相当完善的开发框架和体系,社区也开发出了丰富多彩的第三方框架,其数量和质量都是其他任何解决方案望尘莫及的。

React Native 对 Airbnb 来说最大优势是快速开发和平台不可知论(platform
agnosticism)。通过 React Native ,Airbnb
可以利用整个开发团队来帮助构建和支持他们的移动应用。这意味着无论后来的员工在移动和
Web
开发方面的背景如何,都可以快速培训上手。它还意味着更精简的代码库,因为能够跨三个平台部署一个存储库。但同时,也带来了挑战:

这是一个史诗般的旅程——但是,我们才刚刚开始。让我们回顾一下 React Native
自开源一年以来的成长和演化,我们遇到的挑战,以及我们对未来的期望。

今年 WWDC 的主旋律可以说是“修修补补”——明星框架依然是 AI (ML & Siri Kit)
和 AR 这两个;对于 Xcode 和 iOS 系统及其各种框架的性能优化如 Auto Layout
算法改进、UITableView 滑动效率增强则是本次大会的重点。

从 0 至 1 ,需要一大笔投入

开端:React Native 起源

秉承 Facebook 的黑客文化,React Native 诞生于 2013
年夏天的一个黑客马拉松项目。与
React
相似,React Native
像是一个大胆的非传统的想法。至于它是否能够实际工作,我们并不确定。JS 与
原生 ScrollView
怎样通过触摸来协同工作?性能又如何呢?怎样调试?这些挑战从未停止工程师们专注并前进的脚步。

在我们有了一个可工作的原型之后,我们预期这个项目会赋予 Facebook
很大的潜能。几年前我们把工作重心转向原生移动开发。但是,重新编译代码往往很慢,而且构建
iOS 和 Android 需要不同的技巧。所有这一切意味着低效的产品开发。而 React
Native 的思想意味着,我们可以把 Web
开发中喜欢的所有东西引入到移动开发——比如快速迭代,并且只需要一支团队去开发整个产品。这意味着我们能够前进得更快。

结果,我们决定开始对这个项目投入时间和精力——我们知道,证明这项新技术能够真正工作的唯一方法就是把它丢到一个有难度的项目中去。我们选择了信息流原型,这是早期使用
React Native 构建的项目之一,当时我们还在同时开发 React Native
的基础设施。它的代码后来实际变成了独立 Facebook Groups 应用的基础。

直到 2014 年 7 月,仍然只有少数人在跟进这个项目,这时 React Native
有幸得到了一个大项目:Ads Manager 项目组想开发独立的
iOS应用。但是,他们没有开发 iOS 的经验。这太合适了。接下来是 Ads Manager
产品团队与 React Native
团队几个月的紧密合作。产品工程师们不断打破平台的分界线。目标是第一个完全由
React Native 开发的应用在用户体验上不逊于用 Objective-C 开发的应用。

我们对这项任务的可能行充满自信,随即决定把 React Native
做成跨平台,并在伦敦组建了 Android 团队。其中的三人在 2014
的后半年里编写了大部分核心 Android
运行环境和最初的组件库。我们的目标是在 Android 上运行 Ads Manager 的 iOS
代码,到 2014
年底我们已经跑通了一个基础的版本。虽然它缺少很多视图并且在低端设备上性能表现欠佳,但是你可以看到广告列表了,甚至可以创建一个广告。我们有信心能解决这些问题,于是进一步推进了性能与功能的平衡。

澳门新葡亰网址下载 3

澳门新葡亰网址下载 ,2015年1月,Facebook Ads Manager 的 iOS 基础代码运行在 Android 上。

Facebook Ads Manager 的 iOS
版本于2015年2月发布,研发时间不到6个月。同时,大家都在关注在开源 iOS
项目上实现 JS 或 iOS。在2015年1月的 React.js
大会上,我们发布了公开预览版,随后在3月的
F8
开发者大会上,我们把它开源了。

随即,Ads Manager 的产品工程师与伦敦的 Android
团队紧密配合,开始把他们的 JavaScript 代码向 Android 移植。在开发 Ads
Manager 的 iOS 版时,我们的目标不是平台间的代码共享,而是期望这能对使用
React Native 有积极影响。然而当 Andriod 版 Ads Manager
准备发布时,我发现两个应用之间复用了 85% 的代码。

2015年6月,在经过3个月的开发和1个月的内测后,第一个 Android 版本的 Ads
Manager
发布了。有了
React Native 的 iOS 版的成功,我们马上着手准备 React Native 的 Android
版,我们预期会引起大家的强烈兴趣。毕竟,不得不为不同平台单独开发应用是业界的一个问题。从
Ads Manager 的开发经验中,我们知道 React Native 能够解决这个问题。

与 iOS 发布类似,我们想尽快得到 Android
版的反馈。为此,我们只开发了核心运行环境和少数视图与模块(Text, Image,
ScrollView, Network, AsyncStorage等等)。9月14日,我们在 GitHub 和 npm
上发布了核心的 Android 运行环境和初始 Android 模块集。React Native 0.11
也成为了第一个支持 Android 的版本。自开源起,我们已经添加了与 iOS
对应的如下 Android 模块:Alert, AppState, CameraRoll, Clipboard, Date 与
time pickers, Geolocation, Intent, Modal, NetInfo, Pull to refresh view,
Picker, Slider, View Pager, WebView。

不必多言,被 Facebook 以外的团队采用让 React Native
团队的所有人都异常激动。

澳门新葡亰网址下载 4

React Native 从开始到 Android 版发布的里程碑。

Swift 的更新可以说是乏善可陈。万众期待的 Swift ABI
稳定被官宣推迟到2019年,4.2
版本小修小补中继续向着更易用的方向进行努力;在谷歌大脑的 Swift 之父
Chris 依然在努力的将 Tensorflow Swift 化,虽然取得了一定进步,但 Google
对其显然支持力度不够(只有 Richard Wei 一人在进行相关工作);Server
端方面,IBM 依然不遗余力地更新着自家的 Swift
全家桶,然而其8%的云市场份额作用有限。除此之外,一年一度的 Swift Summit
今年居然停办,不知是因为资金不足还是开发者热情消减。

许多人认为在 Airbnb 决定使用 React Native
时有做完整的迁移,其实到目前为止,React Native 代码仅占 Airbnb
代码库和开发资源的 15-20%,它一直就不是 Airbnb 公司的主要平台。尽管
React Native
是一个框架并且极大地简化了移动开发流程,但启动和运行起来并非易事,尤其是在已有现成代码库的情况下。将
React Native 集成到现有的移动代码库中预期会耗费大量时间和精力。

快速接纳:一年的学习与成长

React Native 被接纳的程度以及开发者社区成长的速度比我们想象的快得多。

超过 650 人向 React Native 代码库提交了代码。在5800余次的提交中,30%
的贡献者不在 Facebook 工作。2016年2月,外部贡献者的提交首次超过了
50%。大量社区人民对 React Native
贡献代码,我们看到的是平均每月266次的PR(pull
request)(每天多达10个)。其中很多是高质量的,并且实现了广泛使用的功能。

澳门新葡亰网址下载 5

React Native 在 GitHub 上每月开放状态 PR 的数量。

起初,PR 的数量使快速和高效的审查变得很困难。寻找每个 PR
的审查者意味着每天大量的人肉工作。为了解决这个问题,我们使用了两个
GitHub 机器人来尽量使每件事自动化。

第一个是提及机器人(mention bot),它负责为每个 PR 寻找正确的审查者。

澳门新葡亰网址下载 6

提及机器人根据责任信息找到每个 PR 的最佳审查者。

提及机器人现在已经开源,帮助我们精简每天要审查多少个
PR。一个有趣的事实是上个月超过 50%
由社区贡献的提交,机器人总能在社区中找到最好的审查者。

我们遇到的第二个问题是合并 PR 并不简单。Facebook 工程师使用的 React
Native 代码与你在 GitHub 上看到的一模一样,我们并没有 fork
代码库。因此,我们会在把你的 PR 合并到我们称之为
fbsource
的庞大 Mercurial 仓库之前,自动测试像 Facebook Ads Manager 这样的应用。

澳门新葡亰网址下载 7

我们称之为 fbsource 的庞大 Mercurial
仓库的简单结构。这个仓库包含了我们的移动和后台代码。

合并 PR 的过程通常包含几个人工步骤。我们通过发表一条 GitHub
上的评论简化了这一切。

澳门新葡亰网址下载 8

@facebook-github-bot shipit:如果所有内部测试通过,代码会同时合并到
fbsource 主干和 GitHub 主干。

多亏这些工具,这个项目能够适应大量的 PR。一年里,总共关闭了 2351 个 PR。

澳门新葡亰网址下载 9

每月关闭 PR 的数量。

基于 Swift 整体方面不够给力,Swift 的三大排名更新如下:

开发者仍需编写原生代码

管理 GitHub 问题

这个项目的流行创造了一种环境,每个人都潜移默化地想帮助我们管理庞大的处于开启状态的问题。

我们实现了另一个机器人,它能帮助任何人管理 GitHub
问题。它使任何人能够关闭重复问题,回答并关闭问题,添加标签等等。你也可以参考
GitHub
问题管理指南。

澳门新葡亰网址下载 10

问题机器人能让任何人管理 GitHub 问题,不需要访问权限。

React Native 的 API 涉及面很广。它为 JavaScript 暴漏了大部分 iOS 和
Android 的构建模块,同时增加了跨平台的抽象类。对任何人来说熟悉所有 API
是一个挑战。甚至许多使用 React Native 的 Facebook
产品团队也不能总是在你之前覆盖到所有的边界条件。React Native
在为我们服务,但我们不能独自完善它。这就是为什么拥有一个熟悉底层代码的社区如此重要,不仅对我们,也对其他参与其中的广泛生态圈,他们依赖此成就他们的应用、服务和第三方模块。

  1. TIOBE 语言排名从第10名下降到第14名
  2. StackOverflow 最受欢迎语言维持在第14名
  3. Github 综合语言排名为第14名

对于 API 在两个平台之间具有明确桥梁的简单应用,React Native
是一个很好的选择。在 Airbnb 移动应用的早期阶段,React Native
是移动应用中的强大加速器。但最终,API
将无法以你想要的方式运行,你还是不得不深入到原生库中进行必要的调整。

社区合作者

React Native
开源合作者是一群在社区中贡献高质量补丁和乐于帮助他人的人们。我们已经为这些帮助我们推进项目的人们授予
React Native 社区合作者称号。这项殊荣附带了仓库的访问权限。

我想对这些 React Native 社区合作者大声说,感谢你们杰出的贡献:Adam
Miskiewicz,
Alexey
Kureev,
Brent
Vatne,
Chirag
Jain,
Christopher Dro,
James Ide, Janic
Duplessis,
Joshua
Sierles, Kyle
Corbitt,
Krzysztof
Magiera, Leland
Richardson,
Mike
Grabowski,
Satyajit
Sahoo。

2016年2月22日,我们其中一些成员在旧金山 React.js 大会上:

澳门新葡亰网址下载 11

图中(从左至右):Christopher Dro (React Native Playground), Brent Vatne
(Exponent), Jean-Richard Lai (TaskRabbit), Eric Vlad Vicenti (React
Native team), Dave Sibiski (React Native Playground), James Ide
(Exponent), Martín Bigio (React Native team), Tadeu Zagallo (React
Native team), Christopher Chedeau (React Native team), Ken Wheeler
(Formidable), Leland Richardson (Airbnb), and Martin Konicek (React
Native Team)。

反观 Objective-C 则在不被看好的情况下逆势而上。其在 TIOBE 和 Github
的排名稳居第10名;而在公司方面,LinkedIn 决定从 Swift 迁移回
Objective-C,与 Snap、Facebook、Twitter 一道成为 Objective-C的卫道者。

如果聘请一位 JavaScript 开发者来维护你的 React Native
项目,那么他们必须编写原生代码来弥补功能上的缝隙。

今天的 React Native

React Native
每两周发布一个新版本。这样你就能在代码提交到主干后快速获取最新的属性。2016年3月代码在
npm 上被下载了 70000 次。拥有了 30000 个 star,React Native 在 GitHub
上排名第 21 位。

澳门新葡亰网址下载 12

GitHub star 数量从 0 到 30000 只用了一年。

而完全拥抱 Swift 的依然只有 Uber,Lyft,Coursera 这三家早在 Swift 3
就入坑的公司 。硅谷的绝大多数公司,如
Google、Amazon、Microsoft、Netflix、Airbnb、Slack、Pinterest、Quora都对
Swift 持观望态度,其产品中也大多是以 Objective-C
为主的混编。好消息是,它们中的绝大多数代码库都在往更多 Swift
的方向去迁移;Amazon 则是在11月发布了轻量级的 smoke 服务器框架,完全是由
Swift 编写。

小心“地雷”

社区使用 React Native 做了什么

在 iOS 版发布当年,就有不少应用发布到 App Store,随后高质量的 Android
应用也开始出现了。这个网站上列出了使用
React Native 开发的 107
个应用案例。如果想添加你的应用,请在这里申请。

澳门新葡亰网址下载 13

有很多高质量的应用被收录进了博客。查看案例看看我们都收录了哪些。

除了应用之外,还有多种服务构建在 React Native
之上:Exponent
能让你无需编译就能创建和分享 React Native 应用;React Native
Playground
能让你在浏览器里编辑和运行 React Native
应用;AppHub 和 微软
CodePush
能让你无需经过 App Store
就立刻部署代码;JS.coach
是一个第三方模块数据库;Deco
是一个 React Native 的 IDE。

第三方模块的生态系统正在增长,你可以轻易地把它们集成到你的应用。多亏了
JS.coach,使模块很容易检索,感谢
rnpm,使安装模块变得简单。

已经有惊人数量的关于 React Native
的博客和教程。感谢你们所有的人,让它们来得更猛烈些吧。我们将重点关注
Brent Vatne 的 React Native
Newsletter,它总结了发生在
React Native 周围的每件事,并且有大量很棒的博客链接。

别忘了还有三本关于 React Native
的书籍。

总之,一年之中发生了很多事情!

澳门新葡亰网址下载 14硅谷公司
iOS 开发语言选择分布

React Native 代码中的地雷和互作用极难追踪和重现。举个实际例子,Airbnb
团队有遇到 React Native 组件在某些手机上显示一片空白的问题,该 bug
不仅不可靠,而且难以追踪。

React Native 在 Facebook

越来越多的 Facebook 产品团队使用 React Native
来构建新的功能和应用。它被使用在独立的应用中,以及 Facebook 主要应用的
iOS 和 Android 版本。

澳门新葡亰网址下载 15

Facebook Groups 是一个混合模式应用,其中信息流使用了 React Native。

React Native
团队在过去一年中从10人增长到了20人,在门洛帕克、伦敦和纽约都表现出色。自从
Ads Manager 发布,团队主要关注的领域是:

  • 提升性能,如开启时间、响应和滚动性能。请看 React Native
    性能表现

    时间表。
  • 在 iOS 和 Android 平台上,把 UI 与 Facebook 主要应用的基础架构集成。
  • 开发性能工具,如 CPU 和 内存分析。
  • 开发 Facebook 产品团队提出的新功能。
  • 以快速回答问题和修复缺陷的方式支持产品团队。
  • 开发经验积累,比如把内部开发者工具和构建系统集成。

总结:Objective-C 瘦死的骆驼比马大,Swift 发展陷入低迷。

解决方案是关闭初始化 Fresco ,这是一个适用于 Android 的 React Native
标准图像渲染库。直到今天,工程师仍然不明白为什么这个步骤修复了这个 bug

前瞻

在去年这个项目赚足了眼球,而我们在 Facebook 通常这么讲:我们才完成了
1%。我们会在内部持续投入这个项目。经过去年,团队数量已经翻倍。我们也会持续投入开源工具。我们希望
React Native 在 Facebook 内部和外部都是一个成功的项目。

这里有一些参与到项目中的最好方式:

  • 如果你发现了一个 bug,请发起一个修复。带有测试计划的小 PR
    会最快得到审查。
  • 如果你发现文档中有不清楚的地方,请以 PR 的方式提出改进。

  • StackOverflow
    提问和回答。
  • 通过 GitHub 的问题来帮助别人。
  • 如果你提出一个新功能,最好的方式是把它发布到 Product
    Pains,它是一个投票系统。如果你自己没有时间去实现它,它仍然可能通过足够的投票来由他人去实现。
  • 加入 Facebook 的 React Native
    社区

如果你是 React Native
的新手,我们已经准备了一系列的教程来介绍框架和它的开源生态系统。使用今年的
F8
应用作为一个例子,我们展示了如何去设计一个多平台应用,集成数据并测试应用,以便你改进正在编写的代码。

感谢使用 React Native
创建神奇应用,以及在它基础上构建工具和服务的每个人,你们编写了第三方模块,帮助释疑解惑,提交
PR,组织会议,撰写博客——继续加油吧!

期待明年!

Flutter 应该算是今年 iOS
开发的年度关键词了。从2015年首次出现在安卓的操作系统中,到2017年 Alpha
版本的发布,再到两个 Beta
版本分别在今年2月和3月发布,随后在9月上海的谷歌开发者大会上宣布稳定版,最后在2018年的尾巴12月4日,我们终于见到了1.0版本。这款以
Dart
为开发语言、承载了谷歌未来系统级战略的框架,注定要展现出巨大的影响力。

投入永无止境/迭代缓慢

对于开发 Flutter 的动机,原 Swift 团队的二号人物 Kate Stone 认为,开发
Flutter 的目的在于为其 IOT 战略铺路和试错。在 AI First 大背景下的
Google,其基本的布局是以人工智能为核心构建一整套软硬结合的生态圈。其中硬件就是以
Google Home 为中心的 IOT 产品线(包括自家的 Clips、Wifi、Nest
一套),这些硬件需要一套更高效和统一的软件平台——以 Java 为主的 Android
当然不错,但将其适配新的 IOT产品线成本较高,且每年要付给 Oracle
大量的专利费显然并不划算;Chrome OS
因为理念太先进,完全基于云端而导致现在的基础设施和第三方厂商难以适应,目前只是小众产品。整合
Android 和 Chrome OS 两大平台的资源,配合未来 5G 的高速通信,使 Google
做出了统一系统、高效开发的决策。这正是开发 Fuchsia 的原因,而 Flutter
也是其配套的重要一环。

许多团队使用 React Native
进行小型移动应用的原型设计,并相信它能解决他们的所有问题。但与所有开源软件一样,该平台在不断变化,每天都会发现新的
bug 和问题。支持 React Native 还处于动荡的生态需要持续的投资。

澳门新葡亰网址下载 16谷歌新推出的
Google Home Hub 采用的就是 Fuchsia OS

比如 Airbnb 工程师希望一个符合其产品目标的补丁能够尽快合并进入 React
Native 框架,不幸的是,React Native
的开发生命周期为每四周发布一次。如果这次没通过,他们将不得不等待差不多一个月,来重新审查或采用他们的修改。

Flutter 与 Fuchsia 操作系统一样,采用 Dart 作为底层编程语言。Dart
由于其预编译和高兼容等特色,使得其可以在 iOS 设备上无缝高速运转。而
Flutter 作为其架构,完美得绕过了 JSCore
这个桥接,可以直接在机器上渲染图形,这比 React Native
要前进了一大步,与原生相比效率上几乎无差别;在兼具热加载和跨平台等优点的基础上,Flutter
又拥有丰富成熟的控件,这些噱头已经足够吸引开发者。在实际开发中,Reflectly
的工程团队证明,React Native 在跨平台上造成的小毛病在 Flutter
上完全看不到,其跨平台可靠性、热加载高效性、工具链丰富性、文档的高可读性都给整个开发过程带来了非常愉快的体验。

随着 Airbnb 的发展加速,他们无法承担其中的风险。由于劣势高于优势,促使
Airbnb 重新考量,并最终放弃 React Native 开发。

如此优越的先天条件使得 Flutter 目前在 Github 上已经拥有了48000+的
Star。Google 在优达学城开放了入门课程,同时自己在 Google Ads
上投入使用。国外的大厂有 Capital One、Groupon 已经开始尝试
Flutter,而国内的阿里巴巴、腾讯、京东更是作为 Google 的合作伙伴使用
Flutter。

此外,虽然除了 React Native 之外还有其他的跨平台替代方案,比如 Google 的
Flutter 和微软的 Xamarin
,但和上面提到的类似的问题也都可以在这些框架上面找到,而且这两个框架在
Google 和 Microsoft
中的使用率都相对较低。虽然跨平台框架能解决大多数简单问题,但一些更复杂的问题最终还是需要回到相应移动设备的原生平台来处理。

虽然好评如潮,但是开发者对 Flutter 也有一些忧虑。Reflectly
团队指出,Flutter
对于应用内购买和本地推送这两个功能没有很好的支持;Google Ads
的技术负责人 Mehmet 在 Quora 上则说,Flutter
只是目前阶段的解决方案,当网速足够快时,网站和浏览器就足以取代 App 了 ——
这时候 PWA 才是王道;而闲鱼的宗心同学则是在他的直播中说使用 Flutter
后稳定性稍有下降,而内存占用情况也比较严峻。

澳门新葡亰网址下载 17

总结:Flutter 在2018年异军突起,战略意图明显且优点鲜明,值得一试。

来自:softwareengineeringdaily.com 
编译:开源中国

老牌跨平台框架 React Native
在2018年迭代了5个版本:从0.52到0.57,Facebook
依然在对这个框架进行各种尝试。然而,坏消息却是接踵而来,首先是 Airbnb
弃用 React
Native,还连发数篇文章阐明相识相知到累觉不爱的过程。这波有理有据的吐槽的蝴蝶效应则是在开发者中带动了一波
React Native “下车”的大辩论。

可能 Facebook 团队也意识到了桥接等性能问题。在 Airbnb 事件之后数周,
React Native
官方就发文宣布重构。主要工作围绕在线程、异步渲染、简化桥接三个方面,整个过程循序渐进,力争不会对已经使用
React Native 的应用和开发者造成重大影响。这之后8月份,全新的
Accessibility API 推出,而这正是 Airbnb 吐槽的大坑。11月初,React Native
发布了2019年的路线图,Facebook 团队决定明年将完成重构并发布稳定的
API,将其推进到1.0正式版。

如果说 Flutter 是 Google 在 IOT 战略中下的一步棋,那么 React Native 便是
Facebook 在 VR/AR 战略中下的类似一步。去年发布的 React VR 在2018年的
Facebook F8 上与 React Native
深度结合展现出了其优秀的可扩展性。然而无论是 VR 产业的成熟,还是 React
VR 框架的成熟都尚需数年,所以 React Native 在此方面的优势也就仅此而已。

总结:React Native 步履蹒跚,在面对 Airbnb 的抛弃和 Flutter
的竞争下,展现出了一些求生欲。

2018年是第一台 iPhone 发布的第11个年头。很多人都说移动浪潮已过、iOS
工程师没人要、写 iOS 以后就和写网页一样,唱衰的声音此起彼伏。然而
Flutter 的出现像是回应了这种质疑;2019年 React Native 的重构和 Swift 的
ABI 稳定,这也许意味着 iOS 的第二春即将来临。在 Google,Facebook,Apple
三家大厂争霸布局的同时,我们 iOS
开发者则应该保持信心,在苦修内功的同时又抬头看看最新的技术,毕竟 iOS
作为平台也在不断进化,与 AI 和 VR/AR 的结合也督促着我们不断学习。

  • What Stats and Surveys are saying about Swift in 2018
  • Is Flutter likely to replace Java for Android app development?
  • What’s Revolutionary about Flutter
  • Flutter 1.0: Google’s Portable UI Toolkit
  • Reflectly — From React Native to Flutter
  • State of React Native 2018
  • Open Source Roadmap
  • Airbnb: React Native 从选择到放弃
  • 基于Flutter的产品应用实践

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图