gitbook/React Native 新架构实战课/docs/523767.md
2022-09-03 22:05:03 +08:00

65 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 总结与展望|新架构探索之旅,马上开始
你好,我是蒋宏伟。
历经两个多月,恭喜你已经完成了核心基础篇、社区生态篇和基础设施建设篇的学习。
在这三部分中,我们不仅学习了入门必备的 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 新架构的升级迁移有哪些注意事项。
不过,此时此刻,动态更新的内容还没完全定型,我们可以一起来设计剩余的内容。**欢迎你把想要学习的内容写在评论区、[交流群](https://jinshuju.net/f/Yd5WEw),或者[这个调查问卷](https://jinshuju.net/f/L6gPf2)中,我们一起来设计剩下的内容**。常规更新阶段的结束并不是我们学习的终点,衷心邀请你和我一起完成这场“长跑”,在接下来的学习中,深入探索 React Native 新架构的新技术和新应用,抓住技术红利!
这里先预告一下,接下来动态更新阶段的第一篇文章将在**7月1日**更新,我们会通过对比学习的方法,介绍 React Native 新架构和 Flutter、小程序架构的区别一定要记得回来学习呀我也会在[交流群](https://jinshuju.net/f/Yd5WEw)里通知你的!