这是我参与「第四届青训营 」笔记创作活动的第5天。
本次笔记是对前端的起源和演变的介绍记录,同时也涉及了关于Web标准的介绍,对于Web标准的制定进行了大致的描述,作为一名前端学习者,此次课程对于扩展我的知识面有较大的帮助。
一、前端的起源、架构、变迁
前端的起源,可以追溯到英国计算机科学家 Tim Berners-Lee 发表的一篇论文涉及的建议 Information Management: A Proposal。 Tim Berners-Lee 也被后人称为 Web之父。
早期前端架构:
1989年前端诞生时,Web由三种技术构成:HTML、HTTP和URL。
CSS和JavaScript是几年之后才出现的。
变迁: 按照讲师的观点,从1989年到2021年间,前端经历了这样的三个时代:
- 只读时代
- 体验时代
- 敏捷时代
二、前端的应用领域
- ToBusiness
- 面向企业的大型应用,例如公有云、企业办公管理平台等。
- ToCustom
- 面向大众客户的应用。 大众用户的教育平台、新闻咨询网站等。
- ToDeveloper
- 面向开发者的应用。如各类开发工具或开发框架。
浏览器
现代主流浏览器:
桌面端:
- Chrome
- Edge
- Opera
- FireFox
- Safari
移动端:
- Android OS的Webkit内核浏览器:如Chrome
- iOS的Safari
- 国内小程序定制商提供的一些浏览器引擎
推荐文章:深入理解现代浏览器
服务器
- node.js
- ExpressJS
- koa
- deno
Deno是Node.js之父Ryan Dahl一手打造的安全的js运行时,值得前端开发者的关注。
跨端和终端
语言、框架和工具
- HTML
- CSS
- JavaSc
- WebAssembly
前端框架及其生态
三、前端学习路线
参考链接:Frontend Developer Roadmap: Learn to become a modern frontend developer
四、关于Web标准
W3C、Ecma、WHATWG、IETF
W3C: World Wide Web Consortium
- 官网:World Wide Web Consortium (W3C)
- Github:World Wide Web Consortium (github.com)
- 规范查询:All Standards and Drafts - W3C
W3C目前在全球有444家会员(link),其中北航总部(中国区)会员46家(link)
Ecma: Ecma International
Ecma TC39
- 官网:Home - Ecma International (ecma-international.org)
- TC39: tc39.es
- Github:Ecma TC39 (github.com)
- iscourse:TC39 - Specifying JavaScript (es.discourse.group)
Ecma的AM (Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家(link)中国除有5家AM会员,还有一家SPC (Small Private Company,小型私有公司)会员Sujitech。 另外,一家西班牙的公司Igalia也值得关注。
WHATWG: Web Hypertext ApplicationTechnology Working Group
- 官网:Web Hypertext Application Technology Working Group (WHATWG)
- Github:WHATWG (github.com)
- 规范查询:Standards — WHATWG
IETF: Internet Engineering Task Force
- 官网:IETF | Internet Engineering Task Force
- Github:Internet Engineering Task Force (IETF) (github.com)
规范制定流程
W3C
- WD: Working Draft,即工作草案
- CR: Candiate Recommendation,即候选推荐
- PR: Proposed Recommendation,即提议推荐
- REC: Recommendation,即推荐标准 推荐标准就是w3C的标准的最终形态,不是强制性标准。
具体流程:
W3C规范的一个规范从草案到正式发布,通常都涉及以下几个方面:
- Espliner:就是建议说明文档,比如要标准化某个领域的API,要先写一个建议文档,
- Find the right community/group:找到合适的社区或小组,把建议文档提交到社区或小组里充分讨论;
- Web IDL for APls: IDL (Interface Description Language,接口描述语言),用于描述API的一种标准方式。
- Step-by-step algorithms:分步算法,就是要把算法步骤描述清楚;
- GitHub, Markdown, respec,bikeshed, etc:这些都是工具;
- Get an early review w3ctag/design-review:事先请TAG (Technical Architecture Group,技术架构组)进行设计评审;
- Write web-platform-tests (WPT) tests:编写WPT测试。
Mcma
ECMA-262 - Ecma International (ecma-international.org)
Ecma TC39规范制定流程
- Stage 0: strawman,稻草人,以任何形式提交的想法
- Stage 1: proposal,提案,特性的正式建议
- Stage 2: draft,草案,具有语法和语义的描述
- Stage 3: candidate,候选,规范文本完备,有了两个实现
- Stage 4: finished,完成,可以成为标准,通过单元测试
如何参与
W3C会议 W3C
Technical Plenary / Advisory Committee Meetings Week(简称TPAC)是WC一年一度的全球技术大会,汇集 W3C各工作小组成员(工作组、兴趣组、社区组等)、咨询委员会(AB)、技术架构组 (TAG)、会员单位代表(AC)、公众特邀专家以及全球社区成员,通过为期1-2周的集中互动交流,深入探讨未来开放Web平台技术方向。
- 年度大会
- AC (Advisory Committee)
- TPAC (Technical Plenary and Advisory Committee)
- 工作组会议
- 每月会议
- 各种研讨会Calendar of Events - W3C
五、总结
本次课程对前端的起源追溯和Web标准的介绍,在一定程度上拓宽了我对前端的认识渠道,讲师介绍的[前端学习路线]对我也有很大的帮助。对于上述的规范介绍,值得我在之后的学习工作中深入学习,求得进一步的发展。