这是我参与「第四届青训营 」笔记创作活动的第4天
前端开发的起源,架构,变迁
三个时代:
- 只读时代:1989-2004,浏览器的很基本的一些功能,单向性,静态只读,可以刷新页面
- 体验时代:2005-2010,代表性的就是AJAX,web API的新兴使用,可以进行动态交互等多种功能
- 敏捷时代:2010-2022,框架,模型的成熟,vue react等各种组件越来越成熟,组件化,模块化流行
常用浏览器:火狐、谷歌、Safari、Opera、edge
开发工具:三剑客:HTML、css、JavaScript
服务器:nodejs
工具:typescript、Git、WebPacker
框架:vue、react
网络:HTTP协议
架构:浏览器的架构包含了实现一个进程包含多个线程,比如说谷歌采用最上层的浏览器进程,下层采用多种实用的程序进程:渲染器,GPU,插件等
**各进程的作用
- 浏览器进程:控制主要框架,任务栏,地址栏的任务处理,访问文件,发送网络请求
- 渲染器进程:渲染网页的页面以及行为
- 插件进程:控制浏览器中的插件功能
- GPU进程:一些应用请求作用于GPU,控制其处理过程,比如css的一些动画效果
架构优势:最简单的情况下,可以想像一个标签页就是一个渲染器进程,比如3个标签页就是3个渲染器进程。这时候,如果有一个渲染器崩溃了,只要把它关掉即可,不会影响其他标签页。如果所有标签页都运行在一个进程中,那只要有一个标签页卡住,所有标签页都会卡住。
除此之外,多进程架构还有助于安全和隔离。因为操作系统有限制进程特权的机制,浏览器可以借此限制某些进程的能力。比如,Chrome会限制处理任意用户输入的渲染器进程,不让它任意访问文件。
前端的应用领域:
- 大型商业公司
- 客户
- 开发者平台
前端学习路线:三件套(HTML、css、JavaScript)、网络知识(http)、版本控制工具(Git,用于企业级开发)、打包工具(npm,yam)、框架(react,vue)、web安全、桌面开发
web标准相关
一些经典的web标准组织:
- W3C(web标准发布,制定流程较复杂,周期较长)
- Ecma
- WHATWG
- IETF(互联网工程任务组,指定通信协议,底层)
W3C的标准制定流程:
第 1 阶段:工作草案(Working Draft) 工作组依据工作组章程(charter)提出一系列工作草案。公众和 W3C 会员可以提出评论和问题。工作组必须处理这些反馈。本阶段时长依多种因素而变。
第 2 阶段:最终工作草案(Last Call Working Draft) 工作组已完成工作,并要求公众和 W3C 会员提交最后的评论与问题。同样,工作组必须处理这些反馈。如果出现情况,可能要回到工作草案阶段。本阶段时长通常为 3 周,但也可以更长。
第 3 阶段:候选推荐标准(Candidate Recommendation) 当最终工作草案阶段结束,且问题都得到解决后,将进入候选推荐标准(Candidate Recommendation)阶段。 此时可以认为该规范已经稳定,可以展开试验性实施了。工作组必须将实施中得到的反馈整合到规范中。同样,如果出现情况,需返回到工作草案阶段。根据实施进展,本阶段通常持续零到一年。
第 4 阶段:建议推荐标准(Proposed Recommendation) 如无意外,规范将进入建议推荐标准(Proposed Recommendation)阶段。在此阶段,W3C 总监 (TimBemers-Lee)将正式请求 W3C 会员审阅这份建议推荐标准。本阶段时长必须不少于 4 周。
第 5 阶段:推荐标准(Recommendation) 根据审阅结果,要么 W3C 总监宣布该规范成为 W3C 推荐标准(Recommendation),中间可能发生微小改动,要么返回工作草案阶段,或者彻底从 W3C 工作日程上移去。技术规范一旦成为推荐标准,它就是官方的 W3C 标准了。
总结:在了解前端行业之前势必要对此行业的标准和相关知识具有一定的了解,在web中具有多种多样的协议标准,了解这些标准,更有利于我们在行业中把握趋势了解未来