这是我参与「第四届青训营 」笔记创作活动的的第5天
一 关于前端开发
1. 起源、架构、变迁
🌮 起源: 蒂姆·伯纳斯·李(Tim Berners-Lee),他是万维网的发明者。
🌮 架构: 客户端使用浏览器,通过HTTP协议,与服务器进行信息交换。
🌮 变迁: 三个时代。
- 只读时代 1989-2004:HTML/ CSS/ JavaScript;单向发布,静态只读,链接跳转,刷新页面,表格对齐元素,CGI。
- 体验时代 2005-2010:Ajax/ Web API/ JQuery;动态交互,社交媒体,UCG,SPA,JQuery,YUI。
- 敏捷时代 2010-2022:Fetch/ Node.js/ Webpack;模块化,组件化,转译,打包,Vue,React。
2. 前端应用的领域
🌮 产品运作模式:
- to business:企业级应用,针对大的组织机构。
- to customer:向消费者个人提供产品或者服务。
- to developer:为开发者提供服务。
🌮 前端应用场景:
- 浏览器:Chrome,Edge,Safari...
- 服务器:Node.js,Express,koa,deno…
- 命令行:webpack CLI,Babel CLI,Vue CLI,React CLI…
- 桌面端:Electron,NW.js...
- 移动端:React Native,Flutter...
3. 语言、框架、工具
🌮 语言:
- HTML
- CSS
- JS
- WebAssembly(类汇编化语言, 一般是将C/CPP/Rust代码转化为WASM),应当注意这一趋势。
🌮 框架和工具:
- node.js
- koa
- react
- vue
- ts
- git
- babel
- webpack
- esbuild
4. 浏览器、网络、服务器
5. 前端学习路线图
<https://roadmap.sh/>
二. 关于Web标准
1. 了解Web标准组织
- W3C万维网联盟
- Ecma TC39
- WHATWG
- IETF互联网工程任务组
2. W3C与Ecma会员
- W3C目前在全国有457家会员(link),其中北航总部(中国区)会员47家(link)。
- Ecma的AM(Associate Member)会员目前有18家。
3. W3C规范制定流程
- 工作草案(Working Draft):工作组依据工作组章程(charter)提出一系列工作草案。公众和 W3C 会员可以提出评论和问题。工作组必须处理这些反馈。本阶段时长依多种因素而变。
- 最终工作草案(Last Call Working Draft):工作组已完成工作,并要求公众和 W3C 会员提交最后的评论与问题。同样,工作组必须处理这些反馈。如果出现情况,可能要回到工作草案阶段。本阶段时长通常为 3 周,但也可以更长。
- 候选推荐标准(Candidate Recommendation):当最终工作草案阶段结束,且问题都得到解决后,将进入候选推荐标准(Candidate Recommendation)阶段。此时可以认为该规范已经稳定,可以展开试验性实施了。工作组必须将实施中得到的反馈整合到规范中。同样,如果出现情况,需返回到工作草案阶段。根据实施进展,本阶段通常持续零到一年。
- 建议推荐标准(Proposed Recommendation):如无意外,规范将进入建议推荐标准(Proposed Recommendation)阶段。在此阶段,W3C 总监 (TimBemers-Lee)将正式请求 W3C 会员审阅这份建议推荐标准。本阶段时长必须不少于 4 周。
- 推荐标准(Recommendation):根据审阅结果,要么 W3C 总监宣布该规范成为 W3C 推荐标准(Recommendation),中间可能发生微小改动,要么返回工作草案阶段,或者彻底从 W3C 工作日程上移去。技术规范一旦成为推荐标准,它就是官方的 W3C 标准了。
4. TC39流程
- stage0 strawman:任何讨论、想法、改变或者还没加到提案的特性都在这个阶段。只有TC39成员可以提交。
- stage1 proposal:产出一个正式的提案。发现潜在的问题,例如与其他特性的关系,实现难题。提案包括详细的API描述,使用例子,以及关于相关的语义和算法。
- stage2 draft:提供一个初始的草案规范,与最终标准中包含的特性不会有太大差别。草案之后,原则上只接受增量修改。开始实验如何实现,实现形式包括polyfill, 实现引擎(提供草案执行本地支持),或者编译转换(例如babel)。
- stage3 candidate:候选阶段,获得具体实现和用户的反馈。此后,只有在实现和使用过程中出现了重大问题才会修改。规范文档必须是完整的,评审人和ECMAScript的编辑要在规范上签字。至少要在一个浏览器中实现,提供polyfill或者babel插件。
- stage4 finished:已经准备就绪,该特性会出现在下个版本的ECMAScript规范之中。需要通过有2个独立的实现并通过验收测试,以获取使用过程中的重要实践经验。
5. 如何参与
- W3C
1. 年度大会
- AC
- TPAC
2. 工作组会议
- 每月会议
- 各种研讨会(link)
2. ECMA
1. 年度大会
- GA
2. TC39会议
- 每1-2个月