1、开篇(iOS开发高手课笔记)

一、深耕某一技术而后触类旁通
回顾十多年的移动开发史,从技术角度看移动开发领域这些年相继诞生组件化、热修复、动态化、大前端、Flutter、小程序等热门技术。这些技术看似过眼云烟,实则是递进式推动着移动技术的演进。这些技术看似纷繁复杂,实则殊途同归,背后都是一些通用的底层技术和创新的设计思想。比如,热修复、动态化和大前端的底层技术,都是 JavaScriptCore 这样的 JavaScript 虚拟机技术;再比如,大前端和 Flutter 的渲染,使用的都是 WebCore 中 Skia 这样的渲染引擎。
“万变不离其宗”。一门技术研究透测,掌握其他技术则轻车熟路。
比如组件化技术,是顺应着App从单一化业务到多业务汇聚的演进而出现的。本质上讲,组件化是将上层业务隔离开,下层提供通用能力的一种架构模式。如此,上层业务团队可以分开从而减少沟通成本,下层能力的通用性反过来提高团队开发效率。为了达到不同业务隔离的结果,解耦手段不断被引入iOS开发中,如使用协议或中间者模式在运行时统调等方式。其核心思想就是解耦,因此研究透了组件化技术再掌握其他与解耦相关的技术架构则轻而易举。
又比如热修复技术,其核心引擎主要就是 JavaScriptCore,它要求原生开发者使用 JavaScript 来编写代码,而为了方便原生开发者,热修复引擎最大卖点就是将原生 Objective-C 代码转成avaScript 代码然后让 JavaScriptCore 去解释。这样一个代码转换过程其实是通过编译技术实现的。掌握了热修复中的核心技术,就不难理解小程序的实现原理。
任何一个开发领域都如移动领域一样,从小型到大型、从个人到团队、从低效到高效、从凑合够用到高要求。

二、课程内容构成
(1)、基础篇。围绕如何解决iOS开发过程中的各种问题展开。
(2)、应用开发篇。推荐经典好用的第三方库,大幅提高开发效率,减少重复工作。
(3)、原理篇。针对一些底层原理,如XNU、内存管理、编译等进行分享。
(4)、原生与前端。iOS开发技术等演进与前端发展并进,拆解各种技术细节及它们之间内在联系,有助于以更高视角判断未来技术走向和趋势。

推荐阅读更多精彩内容