最新要闻
- 特斯拉超充站充电 吃完饭下来“罚款”500!车主:这辈子不再买它了 当前热闻
- XGP故障、键鼠无响应:Win11更新又出大量问题|天天快看
- 全球观点:明天出坞!我国首艘国产大型邮轮“爱达·魔都”内部实拍:可容纳5246人
- 经典重现!梁家辉把玩马自达CX-50行也车模 网友:别坐、堵车 世界百事通
- 微动态丨大众全新入门级轿车 朗逸XR即将上市!代替桑塔纳 或售5-7万
- 要闻速递:港股开盘 | 恒指高开0.34% 科网股表现分化 机构:三大因素支撑港股反弹
- 首批网红明星AI克隆人上线,花30元可与知名网红视频聊天
- 行驶中方向盘可能会掉 特斯拉召回部分Model Y!中国车主不受影响 前沿资讯
- 环球百事通!微软Office 365 AI定价曝光:年费10万美元 已有100家客户
- 反向带货 长安汽车4S直播间上演“尾翼夹手”:女销售惨叫不已_全球热文
- 宝骏悦也后装增程版方案出炉:4L油箱多跑80km、售价2000元-全球热推荐
- 人才!顾客打印身份证后怕泄露隐私 顺手把老板电脑系统重装了
- 6月5日最新秘鲁鱼粉外盘价格
- AVX512惹麻烦 英特尔大小核给AMD上了一课 Zen5锐龙吸取教训
- 苹果首款头显明天发布!郭明錤泼冷水:类ChatGPT更重要
- 日本车的又一个基本盘:要崩了 天天看热讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天热资讯!帮你梳理了一份前端知识架构图
列一份前端知识架构图
在上一篇文章中,我们简要地总结了前端的学习路径与方法,我们提到的第一个学习方法就是:建立知识框架。那么,今天我们就一起来列一份前端的知识框架图。
(资料图片)
在开始列框架之前,我想先来谈谈我们的目标。实际上,我们在网上可以找到很多参考资料,比如 MDN 这样的参考手册,又比如一份语言标准,但是我们的课程既不是一本参考手册,也不是一份语言标准。参考手册希望做到便于查阅、便于理解和全面,语言标准的目标是严谨、无遗漏、无歧义。
而我们的课程有什么不同呢?我认为,作为一个课程,有两个目标:一个是把无法通过查阅解决的原理和背景讲清楚,另一个是把不方便查阅和记忆的内容整理好。
我会尽量避免像前面提到的两种文档一样逐条目罗列知识点和细节,当然,这不是在说两种文档没有价值,而是我们各有分工,参考手册和语言标准做的事情,我们没必要重复去做,即使做了也不一定能做得更好。
在这个课程里,我希望能和你一起打造一个前端知识的框架,再把知识点做个遍历,这其中,有原理和背景的部分,我去讲解知识的原理和背景。如果没有的话,我们就去讲整理和记忆这部分知识的方法,这样,即使你遇见无法一下子记住的知识,也可以很容易地查阅参考手册和标准来解决。
如果让我做一个划分,前端的知识在总体上分成基础部分和实践部分,基础部分包含了 JavaScript 语言(模块一)、CSS 和 HTML(模块二)以及浏览器的实现原理和 API(模块三),这三个模块涵盖了一个前端工程师所需要掌握的全部知识。
学完这三个部分,你再结合基本的编程能力,就可以应对基本的前端开发工作了。实践部分(模块四)重点会介绍我在工作过程中遇到的问题和解决方案,希望这块内容能够帮助你和你的前端团队找到可能的发展方向和着力点。
JavaScript
上面是我整理的 JavaScript 知识架构图,下面我们来具体解释一下。
在 JavaScript 的模块中,首先我们可以把语言按照文法、语义和运行时来拆分,这符合编程语言的一般规律:用一定的词法和语法,表达一定语义,从而操作运行时。
接下来,我们又按照程序的一般规律,把运行时分为数据结构和算法部分:数据结构包含类型和实例(JavaScript 的类型系统就是它的 7 种基本类型和 7 种语言类型,实例就是它的内置对象部分)。所谓的算法,就是 JavaScript 的执行过程。
类型部分中,对象比其它所有类型加起来都要更为复杂,所以我们会用较长的篇幅来讲解对象,包括它的一些历史和设计思路。
执行过程我们则需要按照从大结构到小结构的角度讲解,从最顶层的程序与模块、事件循环和微任务,到函数、再到语句级的执行。我们从粗到细地了解执行过程。
实例部分,对 JavaScript 来说类似基础库,JavaScipt 的内置对象多达 150 以上,考虑到我们即使逐次讲解也必定不如 MDN 更加细致全面,所以我们会从应用和机制的角度,挑选其中几个体系来讲解。
文法中的语法和语义基本是一一对应关系,在 JavaScript 标准中有一份语法定义表,它同样不适合一一讲解,我们会从 JavaScript 语法中特别的地方,以及与日常开发比较相关的地方来重点讲解,剩下的内容和词法部分,我们会带领大家做一些数据挖掘工作,从这份表格中找到一些和我们日常开发息息相关的内容。
语义的大部分内容我们会在运行时的讲解中透出,同时它又跟语法有对应的关系,所以我们不再单独拿出来讲解。
HTML 和 CSS
上面是我整理的 HTML 和 CSS 的知识架构图,我们来具体解释一下。
在 HTML 的部分,我们会按照功能和语言来划分它的知识,HTML 的功能主要由标签来承担,所以我们首先会把标签做一些分类,并对它们分别进行讲解。
我们都知道 HTML 的标签可以分为很多种,head 里面的我们称为元信息类标签,诸如 title、meta、style、link、base 这些,它们用来描述文档的一些基本信息。还有一类是一些诸如 section、nav 的标签,它们在视觉表现上跟 div 并没有区别,但是各有各的适用场景,我们把它们称作语义类标签。另外一类是 img、video、audio 之类的替换型媒体类标签,用来引入外部内容,平常开发中你也会经常用到。再有就是表单类的,比如 input、button。
所以,基于这样的分类,我把标签分成下面几种。
文档元信息:通常是出现在 head 标签中的元素,包含了描述文档自身的一些信息;
语义相关:扩展了纯文本,表达文章结构、不同语言要素的标签;
链接:提供到文档内和文档外的链接;
替换型标签:引入声音、图片、视频等外部元素替换自身的一类标签;
表单:用于填写和提交信息的一类标签;
表格:表头、表尾、单元格等表格的结构。
我们的重点会放在前四种标签上,表单和表格较少用到,而且基本以查阅型知识为主,这里就不拿出来讲解了。
除了标签之外,我们还应该把 HTML 当作一门语言来了解下,当然,标记语言跟编程语言不太一样,没有编程语言那么严谨,所以,我们会简要介绍 HTML 的语法和几个重要的语言机制:实体、命名空间。
最后我们会介绍下 HTML 的补充标准:ARIA,它是 HTML 的扩展,在可访问性领域,它有至关重要的作用。
CSS 部分,按照惯例,我们也会从语言和功能两个角度去介绍。在语言部分,我们会从大到小介绍 CSS 的各种语法结构,比如 @rule、选择器、单位等等。功能部分,我们大致可以分为布局、绘制和交互类。
在布局类我们介绍两个最常用的布局:正常流和弹性布局。绘制类我们则会分成图形相关的和文字相关的绘制。最后我们会介绍动画和其它交互。
浏览器的实现原理和 API
上面是我整理的浏览器知识架构图,我们来具体看一下。
浏览器部分我们会先介绍下浏览器的实现原理,这是我们深入理解 API 的基础。
我们会从一般的浏览器设计出发,按照解析、构建 DOM 树、计算 CSS、渲染、合成和绘制的流程来讲解浏览器的工作原理。
在 API 部分,我们会从 W3C 零散的标准中挑选几个大块的 API 来详细讲解,主要有:事件、DOM、CSSOM 几个部分,它们分别覆盖了交互、语义和可见效果,这是我们工作中用到的主要内容。
其他的 API 怎么办呢,别着急,在最后,我会给出一份 Chrome 已经实现的 API 跟 W3C 标准的对应关系和它的生成过程,来覆盖其它部分。
前端工程实践
最后一个模块是前端工程实践。我们在掌握了前面的基础知识之后,也就基本掌握了做一个前端工程师的底层能力。在这个模块中,我选择了性能、工具链、持续集成、搭建系统、架构与基础库这几个方向的前端工程实践案例,来与你一起分享我的经验。
性能
首先我们会谈谈性能。对任何一个前端团队而言,性能是它价值的核心指标,从早年“重构”的实践开始,前端有通过性能证明自己价值的传统。
但是性能并非细节的堆砌,也不是默默做优化,所以,我会从团队的角度来跟你一起探讨性能的方法论和技术体系。
工具链
下一个案例是工具链。这一部分,我将会探讨企业中工具链的建设思路。对一个高效又合作良好的前端团队来说,一致性的工具链是不可或缺的保障,作为开发阶段的入口,工具链又可以和性能、发布、持续集成等系统链接到一起,成为团队技术管理的基础。
持续集成
接下来还会给大家介绍前端的持续集成,持续集成并非一个新概念,但是过去持续集成概念和理论都主要针对软件开发,而对前端来说,持续集成是一个新的课题(当然对持续集成来说,前端也是一个新课题),比如 daily build 就完全不适用前端,前端代码必须是线上实时可用的。这一部分内容将会针对前端的持续集成提出一些建设的思路。
搭建系统
接下来的案例是搭建系统,前端工作往往多而繁杂,针对高重复性、可模块化的业务需求,传统的人工开发不再适用,搭建系统是大部分大型前端团队的选择。这一部分内容我将会介绍什么是搭建系统,以及一些常见的搭建系统类型。
架构与基础库
最后一个部分,会给大家介绍前端架构和基础库的知识。软件架构师主要解决功能复杂性的问题,服务端架构师主要解决高流量问题,而前端是页面间天然解耦,分散在用户端运行的系统,但是前端架构也有自己要解决的问题。
前端需求量大、专业人才稀缺,更因为前端本身运行在浏览器中,有大量兼容工作要做。所以前端架构的主要职责是兼容性、复用和能力扩展。这一部分文章我将会介绍前端架构工作的一些思路和切入点。
上面的这些案例来自我在领导手淘前端团队时的经验,和我在阿里巴巴工作参与晋升面试时听到的案例,这些内容几乎是每一个年轻的前端团队成长过程中都会需要的基础设施。
好了,前端的知识体系我们大致列出来了。你可能发现了,知识体系图中的每一个知识点,教程里都有与之对应的文章,这也是我的初衷:希望借由讲解这 40 余个知识点,帮你建立起前端的知识框架。
讲述形式
基于这份知识框架图,我们的课程主要采用两种讲述形式:一种是重点讲解的课程,一种是知识图谱型的课程。
重点讲解的课程我们会从技术的背景、原理和设计出发,把知识的内容呈现出来。这种形式适用于有体系和源流的知识,比较适合系统学习和理解,比如 JavaScript 中的对象、CSS 的排版。
知识图谱型的课程则提供一些方法,用表格或者脑图的形式来整理知识的结构。这种形式适用于零散的知识,比较适合记住大概,用到时去查阅,比如 JavaScript 的词法、HTML 中的所有标签、以及浏览器中的 API 就十分适合这样的讲解方式。
结语
今天我带你一起划分了前端的知识内容,前端的基础知识分成 JavaScript、HTML、CSS 以及浏览器四大重点模块,每个模块也分别有自己的技术重点。你可以在框架中,挑选你最需要的前端知识,按需学习。
当然,这篇文章最重要的是,我希望能帮你建立一个理解前端的全景图。这样,任何时候,你都能够体系地思考问题,分析问题。
你觉得你的划分跟我一样吗,你还有其他的想法,你觉得是否有想了解的知识不在其中,更多内容请查看:开发者网站
关键词:
天天热资讯!帮你梳理了一份前端知识架构图
天天速读:亚马逊网络服务教程_编程入门自学教程_菜鸟教程-免费教程分享
今日热闻!hw面试常见中间件漏洞
特斯拉超充站充电 吃完饭下来“罚款”500!车主:这辈子不再买它了 当前热闻
XGP故障、键鼠无响应:Win11更新又出大量问题|天天快看
全球观点:明天出坞!我国首艘国产大型邮轮“爱达·魔都”内部实拍:可容纳5246人
经典重现!梁家辉把玩马自达CX-50行也车模 网友:别坐、堵车 世界百事通
微动态丨大众全新入门级轿车 朗逸XR即将上市!代替桑塔纳 或售5-7万
要闻速递:港股开盘 | 恒指高开0.34% 科网股表现分化 机构:三大因素支撑港股反弹
世界视点!SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中
首批网红明星AI克隆人上线,花30元可与知名网红视频聊天
行驶中方向盘可能会掉 特斯拉召回部分Model Y!中国车主不受影响 前沿资讯
环球百事通!微软Office 365 AI定价曝光:年费10万美元 已有100家客户
反向带货 长安汽车4S直播间上演“尾翼夹手”:女销售惨叫不已_全球热文
宝骏悦也后装增程版方案出炉:4L油箱多跑80km、售价2000元-全球热推荐
人才!顾客打印身份证后怕泄露隐私 顺手把老板电脑系统重装了
6月5日最新秘鲁鱼粉外盘价格
AVX512惹麻烦 英特尔大小核给AMD上了一课 Zen5锐龙吸取教训
苹果首款头显明天发布!郭明錤泼冷水:类ChatGPT更重要
日本车的又一个基本盘:要崩了 天天看热讯
世界快报:全球首架载人“飞碟”在深圳起飞:水陆两栖起降 最快50km/h
变阵!热火总决赛G2首发:乐福顶替马丁出任首发!
每日动态!Blazor 使用代码直接在新窗口打开链接, 获取窗口宽度, 使用cookie
如何在Linux上启用 Nginx 的 HTTP/2 协议支持-聚看点
【读财报】公募REITs透视:建信、中金基金年内回撤逾15% 华安、博时基金等启动首批扩募
关于开通招商智星稳健配置混合型基金中基金(FOF-LOF)A类份额跨系统转托管业务的公告_环球时讯
国产大飞机C919商业首飞圆满成功:国产化率60% 年产能将达50架|全球通讯
顺利交付!神十五航天员带回了20多公斤实验样品:竟有一种虫子_最资讯
10年前的显卡都流畅 《暗黑4》被曝移植苹果平台:iPad也能玩_环球快报
还说4G成熟够用?中国网速全面秒美国 邬贺铨:总用户数激增 向5.5G发展
全球快资讯:读改变未来的九大算法笔记04_公钥加密
孩子严重烫伤9天才被家长送医 听偏方治疗:据给孩子手术 网友无语
SSD硬盘暴跌 你仍然需要一块机械硬盘:存数据更安全-世界短讯
实时:河南一村庄修路挖出大石龟?官方通报:上世纪修路埋的
柘汪中学:青少年科技教育成果丰硕
【DNS】域名服务 Bind实现
ASP.NET Core MVC 从入门到精通之自动映射(二)-独家焦点
实时焦点:不是我说 iPhone拍照怎么就像富士相机了?
世界热推荐:NVIDIA黄仁勋:我们从未忘记游戏玩家!
号称使用AI独立管理基金的私募改口了:AI并非主要用于交易 热点
人间第一情歌词完整版原唱_人间第一情歌词|全球看热讯
实时焦点:今金贷最新退付消息:2023年兑付最新声明退付通知(退付进展告知)
曝华为版ChatGPT将下月发布 名为“盘古Chat”-当前独家
每日热议!128秒回顾中国载人航天高燃时刻:杨利伟 居功至伟!
【环球报资讯】假鸡翅怎么做法?
Web安全-渗透测试-基础知识02
Web安全-渗透测试-基础知识01-环球视点
撼迅AMD显卡抹错硅脂 温度高达110℃!曝生产线自证清白
MPV无敌手 比亚迪赵长江:腾势D9月销将达1.5万-每日看点
专访:美国没有资格充当民主人权教师爷——访俄政治学家米尔扎扬-世界热消息
可提速400公里!成渝中线高铁两大隧道同时进洞
天涯老用户自救 结果一地鸡毛:情怀 是最不值钱的东西
24点结束 腾讯视频VIP年卡+京东PLUS年卡138元 环球热门
十字军东征——现代社会可能重演吗?
文心一言 VS 讯飞星火 VS chatgpt (31)-- 算法导论5.2 3题 全球简讯
【奶奶看了都会】云服务器ChatGLM模型fine-tuning微调,让你拥有自己的知识库|世界动态
京东手机金榜出炉:Redmi K60力压iPhone 14夺冠
韧性回弹 脚感澎湃 361°运动拖鞋63元狂促(门店159元)-实时
真正的国产显卡之光!摩尔线程国产GPU、AI与元宇宙多项进展深入解读
中国铁塔:每天为近百万外卖和快递小哥提供换电充电服务
h2o2摩尔质量_h2o2
抢收同时抢种,河南已完成夏播2340万亩
华擎又出妖板!迷你身材 塞进去128个Arm核心 环球热资讯
多国出现人类偏肺病毒感染 一年1.6万儿童死亡!尚无治疗药物
自我的创建
ASP.NET Core 全局异常处理 世界热资讯
世界热门:(ex)BSGS/(扩展)大步小步算法 学习笔记
机会越来越好-与君周末谈20230604
虚幻5国漫巅峰 《斗罗大陆》比比东成神 巨型镰刀秒杀唐三
甚至没动工!《赛博朋克2077》续作明年才将投入开发 播资讯
我的脸被隐翅虫毁容了!千万小心“会飞的硫酸”
积成电子:预中标1.05亿元国家电网采购项目_世界新消息
全球微资讯!时速133严重车祸 车主:感谢驱逐舰05救我一命 又买了辆比亚迪汉
环球热文:马斯克北京首日晚宴多少钱?22人“吃”掉4.5万元
Web安全-渗透测试-基础知识01 世界播资讯
【天天速看料】Leetcode 1156. 单字符重复子串的最大长度
CPU的功能是什么_cpu的主要功能
网友把苹果封死水里一年 打开后水面飘了一层“巧克力”|每日时讯
PS造假神了!_热点评
读改变未来的九大算法笔记03_纠错码
当前报道:《安富莱嵌入式周报》第314期:微软推出开源DeviceScript编程语言适合低资源单片机,开源色度计,超声波穿戴设备,USB-C交换机,CMSIS
京东太狠:100W数据去重,用distinct还是group by,说说理由? 每日速讯
天天滚动:Spring整合mybatis使用xml配置事务
ChatGPT 国内镜像网站独家汇总:发现最优秀的人工智能对话体验!
小娜再见!微软宣布:Win10、Win11将正式抛弃Cortana 全球热点
观点:不打算修!AMD EPYC Rome服务器芯片运行1044天必定死机
全球量产车最低风阻!昊铂Hyper GT本月上市:能耗比Model 3还低|视点
世界最牛计算机课程变样了:接受AI改造
世界聚焦:Codeforces Round 876 (Div. 2)题解
姑姑拍到侄女做梦吃雪糕:画面分分钟萌翻
今头条!比亚迪突然上调车辆保养价格 部分车型涨幅达50%
【世界快播报】女子考科三系错安全带考官面如死灰:“交杯带”看无奈了
小娜再见!微软宣布:Win10、Win11将正式抛弃Cortana
汽车电动座椅原理_你知道吗|当前时讯
全球今热点:大量安卓用户逃离换iPhone:Android 13保有量不足15%
世界观速讯丨70万买红旗电动车 2年内修10次!车主退车遭拒:已修好无法退
劝学译文翻译_劝学译文
下水10秒即可感染 钻进皮肤体内生长!南京疾控提醒预防血吸虫病
世界简讯:1.2万元拍下单颗荔枝 男子:要送给女友
神速!这类品种再迎新成员,两大公募巨头助阵,对应ETF规模超870亿元_天天报资讯