跳转至

总结与展望 新架构探索之旅,马上开始

你好,我是蒋宏伟。

历经两个多月,恭喜你已经完成了核心基础篇、社区生态篇和基础设施建设篇的学习。

在这三部分中,我们不仅学习了入门必备的 React 基础、 React Native 应用的样式布局、核心组件和本地调试,并通过 React Native NTF 首页的开发实战帮你把这些知识给用了起来。

我们还学习了搭建 React Native 应用必备的导航、动画、手势、状态管理和线上监控,在搭建大型的线上应用时,这些从来自 React Native 生态的第三方工具和最佳实践,能帮上你不少忙。

而且,我们还学习了搭建 React Native 基础设施的关键要点,包括如何搭建 React Native 混合应用、热更新、拆包和性能优化,相信这些偏基建的知识能够帮你在团队中大放异彩。

掌握好这些知识之后,你就已经具备应对日常开发业务和团队基建的能力了。

不过,如果把这个课程的学习比喻成游戏里的升级打怪,那你已经度过了新手村,也熬过了应用实战的难关,来到了一片全新的大陆面前。

如果你还想在React Native上持续精进、走得更远,那我建议你继续跟随我们这门课的“步伐”,以新架构为核心,继续探索React Native的底层原理和前沿应用。

用“新架构”打造你的“技术长板”

为什么要这么做呢?因为我们要打造自己的“技术长板”

现代知识体系就是一棵茂密的大树,没有人能够窥其全貌。技术领域也是如此,不同领域之间的知识,差别很大,没有人能同时精通前端、后端和算法。即便在同一个岗位上,大家要掌握的技能也是差距也是很大,toB 和 toC 要求不一样,做业务和做基建的要求也不一样。

在职业生涯中,我们不需要像学生时代一般,要求自己样样精通,你只需要专注一个方向,并在这个方向上打造一块足够长的长板,弥补所在团队的短板,就可以创造更大的价值。

我举个我自己的例子。我在极客时间学习了很多课程,除了前端领域的课程外,我学习过 iOS、浏览器、Linux 的课程,还学习过 Redis、MySQL、ElasticSearch、分布式技术、数学算法等等。相对于专攻这些领域的老师而言,我只能算学了个皮毛,这些技术领域都是我的短板。我学习的目的,并不是要成为这些方面的专家,也不是为了补全我的技术短板,而是为了工作中能更好地和小伙伴们合作。

在非前端领域,我会找团队中的这些领域的高手帮忙。而在前端领域,特别是 React Native 领域,大家遇到相关问题,大家就会找我帮忙,因为前端领域和 React Native 领域是我的技术长板。所以,你也可以把 React Native 领域打造成你的技术长板,成为你团队中最擅长 React Native 的人。

而打造技术长板的秘诀,要么是你能解决别人解决不了的问题,要么就是你能把业内的技术前沿引入团队应用起来。

解决别人解决不了的问题,考验的是你的技术深度。日常工作中,我们遇到大部分问题,都可以通过搜索引擎直接搜到答案,但总有一些问题是没有直接答案的,这就要求你必须对相关技术的原理有所了解,并加以分析。

我们拿 React Native 瀑布流举例,你用搜索引擎就能搜到一些可以直接使用的 ScrollView 瀑布流方案。在一些对性能要求不高、非无限列表的场景中,业内的方案就是你要的答案。但是,对于高性能的无限列表,搜索引擎是给不了你答案的,这时候怎么办?你必须要了解瀑布流的原理,然后基于原理对业内方案进行改造,才能解决问题。

这时候,高性能瀑布流,就是你能解决,而别人不能解决的问题。

另一个方面,把技术前沿在团队落地应用,考验的是你对技术的敏感度。雷军有句话说,“站在风口上,猪都能飞起来”,你只有时刻关注着技术的前沿,才能发现技术的风口。在现在这个时间点上,React Native 新架构本身就是一个技术前沿,现在新架构还处于预览版,除了 Facebook,几乎没有团队有新架构的应用落地,能提前把新架构落地应用起来,就很厉害了。

除此之外,React Native Skia 自绘引擎、React Native SSR 服务端渲染、React Native WishList 原生高性能列表等前沿技术,也是我重点关注的方向。这些前沿方向是不是技术风口,能否得到大规模应用,现在下结论还太早。但我知道,如果不去提前了解,等到大家都用上你才开始用,你就永远赶不上风口,也很难抓住技术红利带来的机会。

新架构的学习具体怎么安排?

正如我在开篇词和你承诺的一样,在接下来的1年里,我还会以每月一更的频率,带你持续跟踪 React Native 新架构的最新进展,这12篇的内容主要分为React Native新架构的原理解析和最新应用两大模块。

在React Native 新架构原理篇中,我们会聚焦技术的深度,包括:

  • React Native 架构与 Flutter、小程序架构的区别;
  • React Native 中 JavaScript 是如何与 Native 进行通信的;
  • React18 带来的 Concurrent 是如何做到“可中断”渲染的;
  • 新架构中的 Fabric 组件、TurboModule 接口又是如何工作的;
  • 阅读 React Native 新架构的源码应该如何入手。

在React Native 新架构应用篇中,我们会聚焦技术应用的前沿,包括:

  • React Native Skia 自绘引擎的最近进展与应用;
  • React Native SSR 服务端渲染方案究竟是否可行;
  • React Native WishList 原生高性能列表的工作原理;
  • React Native 新架构的升级迁移有哪些注意事项。

不过,此时此刻,动态更新的内容还没完全定型,我们可以一起来设计剩余的内容。欢迎你把想要学习的内容写在评论区、交流群,或者这个调查问卷中,我们一起来设计剩下的内容。常规更新阶段的结束并不是我们学习的终点,衷心邀请你和我一起完成这场“长跑”,在接下来的学习中,深入探索 React Native 新架构的新技术和新应用,抓住技术红利!

这里先预告一下,接下来动态更新阶段的第一篇文章将在7月1日更新,我们会通过对比学习的方法,介绍 React Native 新架构和 Flutter、小程序架构的区别,一定要记得回来学习呀,我也会在交流群里通知你的!

精选留言(5)
  • wheat7 👍(1) 💬(1)

    老师,是我学漏了吗?是不是没有讲网络相关的内容?

    2022-08-18

  • 佳宝宝 👍(1) 💬(0)

    一月一更,等的好着急

    2022-08-13

  • 陈士玉 👍(0) 💬(0)

    想问下【React Native WishList 原生高性能列表】具体指什么啊,是否有相关资料呢? 搜了一下,只在npm上搜到了一个包,但其github仓库已经404了。另外了解到的就是FlashList了。

    2023-10-04

  • spencerfeng 👍(0) 💬(0)

    老师请问能够覆盖如何在本地cache数据,并切在有网络后与后端同步数据的功能么。

    2022-07-08

  • Aaaaaaaaaaayou 👍(0) 💬(0)

    等不及了

    2022-06-21