长牙的兔子 發表於 2022-12-4 11:58:00

Angular 20+ 高阶教程 – 关于本教程

<h2>版本声明</h2>
<p>本教程写于 Angular v17 - v18。</p>
<p>并在 v20 做了一个全面修订版。</p>
<p>接着往后的所有新功能,API 都会更新到相关文章里头 (不一定即时),所以教程总是最新的,大家可以安心学习。</p>
<p>&nbsp;</p>
<h2>前言</h2>
<p>光阴飞逝,一转眼,我尽然已经有两年多的时间完全没有接触 Angular 了。</p>
<p>庆幸,最近又有机会可以开始写 Angular 了。</p>
<p>两年,忘记了好多东西。但更令我惊讶的是,这两年 Angular 竟然突飞猛进,加了很多功能,甚至连语法也改动了不少。</p>
<p>本想说只要翻翻旧笔记就可以重启 Angular,天真。</p>
<p>看来非得来个大复习,把新知识总结进旧知识体系,这样才可以稳步前行。</p>
<p>那...既然都要大复习了,何不再花点力气,写个教程?</p>
<p>开干!</p>
<p>&nbsp;</p>
<h2>适合阅读的人</h2>
<p>本系列特别适合以下读者:</p>
<ol>
<li>
<p>向我一样很长时间没有接触 Angular 的人。</p>
</li>
<li>
<p>本来就会用 Angular,但想要深入理解 Angular 的人。</p>
<p>我特意把本系列标榜为 "高阶教程",就是想借此机会写点深入的内容,比如:源码解析。</p>
</li>
<li>
<p>有丰富前后端开发经验,且对 Angular 感兴趣,但又没有用过 Angular 的人。</p>
<p>由于我是个全栈攻城狮。</p>
<p>前端熟悉 HTML、Scss、TypeScript、DOM、BOM。</p>
<p>后端熟悉 ASP.NET Core、SQL Server、Azure。</p>
<p>因此我从不迷恋前端框架。相反我看前端框架的视角和大多数前端攻城狮有所不同,诠释也不一样。</p>
<p>所以,如果你和我有相同背景,那我相信你阅读本系列会感觉特别舒服。</p>
</li>
<li>
<p>想从 React / Vue 转 Angular 的人。</p>
<p>Angular 是出了名的难学。市场上经常可以听到谁谁谁 Angular 转 React / Vue 一个星期就上手了。</p>
<p>但你很少会听到反过来的例子,更常听到的是:"Angular 太复杂了"。</p>
<p>这也是为什么我想写这个系列。让一些有需求的人,可以轻松一点的深入学习 Angular。</p>
</li>
</ol>
<p>&nbsp;</p>
<h2>不适合阅读的人</h2>
<p>本系列不适合以下读者:</p>
<ol>
<li>
<p>后端老手,前端新手。</p>
<p>许多后端攻城狮想跨前端,他们会优先考虑 Angular。</p>
<p>因为坊间传言,Angular 和 Java Spring 很像,甚至有人说 Angular 就是一群搞 Java 的人设计出来的。</p>
<p>但其实呢,这种谣言听听就好。不管 Angular 借鉴、参考、跟从了多少其它领域的知识,它终究还是个前端框架。</p>
<p>它不可能也不应该离前端技术太远,所以要深入理解 Angular,你必须先具备前端方方面面的技术知识。</p>
</li>
<li>
<p><span style="text-decoration: line-through">想要研究 Angular 源码的人。</span></p>
<p><span style="text-decoration: line-through">本系列会涉及源码解析,但它不是主角,也不是二号,甚至配角都不到,挺多只能算是个小配角吧。</span></p>
<span style="text-decoration: line-through">所以,如果你关心的是源码,那很抱歉,这个系列并不合适你。</span>
<p>随着越写越深入,越来越多篇 "逛源码",对 Angular 源码感兴趣的读者也适合阅读本教程。</p>
</li>
</ol>
<p>&nbsp;</p>
<h2>本系列的编辑指南</h2>
<p>我写这个系列是有明确的标准和指南的,虽然我也不一定会达标,但至少是有定了目标的。</p>
<p>也希望读者借由这个指南,顺着我的写法阅读,这样就能获得最棒的阅读体验。</p>
<h3>1. 为什么要写这个教程?</h3>
<p><span style="text-decoration: line-through">我要复习,<strong>顺便</strong>写的。</span></p>
<p><span style="text-decoration: line-through">顺便的标准就是不能尽心尽力,也不能为了取悦读者而花心思。</span></p>
<p><span style="text-decoration: line-through">总之,怎么写比较<strong>顺</strong>我的意,怎么写比较方<strong>便</strong>我,那我就怎么写。</span></p>
<p>随着越写越深入,已经不能用 "顺便写" 来来形容了。</p>
<h3>2. 写给谁看?</h3>
<p>上面说了,适合阅读的人。</p>
<h3>3. 写的多深,写的多浅?</h3>
<p>既然标榜是 "高阶教程",那肯定是要写得比官方文档更深入了。</p>
<p>深的部分我会分 4 个点</p>
<ol>
<li>
<p>概念</p>
<p>problems &amp; solutions &amp; ideas.</p>
<p>你若想深入理解一套工具和方案,首先你得知道它试图想解决什么样的问题。</p>
<p>其二是你得要知道它如何解决这些问题。</p>
<p>最后你还得要知道这个解决方案的思路来自何方,去往何处。</p>
</li>
<li>
<p>最佳实践 &amp; 自定义方案</p>
<p>框架一定会有灵活度。因为它需要预备面对未知的问题。</p>
<p>有灵活度才能自定义方案,才能扩展框架去解决未知的问题。</p>
<p>而面对已知的问题,我们应该总是使用最佳实践。</p>
<p>许多初学者因为对框架没有深入理解,经常在已知的问题上使用了自定义的方案,而在未知的问题上,卡着。</p>
</li>
<li>
<p>实战</p>
<p>真实项目中的案例可以更好的体现框架的灵活度。</p>
<p>不管学习什么技术,最终你得要 "活用"。</p>
</li>
<li>
<p>源码解析</p>
<p>有些时候,看源码会比找文档,做测试来得更高效,更可靠。</p>
<p>Angular 的源码还算整齐,而且是 TypeScript 写的。所以,必要时逛一逛源码是好的。</p>
</li>
</ol>
<p>浅的部分,不能太浅,不然去看官方文档就好了丫。</p>
<p>我目前的规划是,Angular v14 以前的浅知识,我会教,但不会 step by step 的教,也不会 100% 一滴不漏的教到完。</p>
<p>Angular v14 以后的新语法,新功能,我则会 step by step 的教。</p>
<p>对于深知识,不管什么版本,我都会教到完。</p>
<h3>4. 课纲编排</h3>
<p>Angular 的知识体系是相互交织的。你没有办法单独拎一块出来深入理解。</p>
<p>当你尝试理解到一半时,你就会发现要理解这一块,你必须先理解另一块,而要理解另一块,你又必须先理解另另一块,以此类推,直到最后你甚至会发现...它竟然是个循环依赖😮。</p>
<p>所以许多教程只教基础,东西南北一起教,但每一块又教不深。</p>
<p>我不打算这样。我就是偏偏要拎一块出来深入讲解!</p>
<p>在课纲安排上,我会先教那些没有太多知识依赖,可以单独深入理解的部分,然后一块一块的将它们拼接上。</p>
<p>所以呢,这个教程你必须顺着目录一篇一篇的往下学,因为后面的文章一定依赖前面文章的知识。</p>
<h3>5. 视角与诠释</h3>
<p>我看待 Angular 是这样的:</p>
<ol>
<li>
<p>它不是唯一的方案</p>
</li>
<li>
<p>它的解未必是最优的</p>
</li>
<li>
<p>我用它或许只是因为我懒得自己写</p>
</li>
</ol>
<p>每当我看到一个 Angular 功能或者说一种解法时,我会先想如果我用纯 HTML、JS、CSS、DOM、BOM 该如何去解决相同的问题。</p>
<p>然后我会想,Angular 解法的利与弊,再想 Angular 是如何用 pure&nbsp;HTML、JS、CSS、DOM、BOM 去做到它的解法的,最后再学习使用它。</p>
<p>如果让我教一个人 Angular,我想我也会从这个角度出发吧。</p>
<p>&nbsp;</p>
<h2>总结</h2>
<p>这篇是 Angular 高阶教程系列的开篇,主要讲述:</p>
<ol>
<li>
<p>为什么会有这个教程</p>
</li>
<li>
<p>教程都适合哪些读者</p>
</li>
<li>
<p>该怎么去阅读这个教程</p>
</li>
</ol>
<p>&nbsp;</p>
<h2>目录</h2>
<p>下一篇&nbsp;Angular 20+ 高阶教程 – 初识 Angular</p>
<p>想查看目录,请移步&nbsp;Angular 20+ 高阶教程 – 目录</p>
<p>喜欢请点推荐👍,若发现教程内容以新版脱节请评论通知我。happy coding&nbsp;😊💻</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/keatkeat/p/16949604.html
頁: [1]
查看完整版本: Angular 20+ 高阶教程 – 关于本教程