day04 - Web标准与前端开发 |青训营笔记

128 阅读3分钟

day04 - Web标准与前端开发 |青训营笔记

这是我参与「第四届青训营」笔记创作活动的的第四天

关于前端开发:起源、架构、变迁

上网指接入Internet,它是地球上 相互连接的计算机构成的网络。计算机网络诞生于上个世纪的60年代, 标志性通信协议是TCP/IP。

image.png

1989年诞生时,Web由三种技术构成:

  • HTML
  • HTTP
  • URL CSS和JavaScript是几年之后才出现的。

image.png

关于前端开发:前端应用的领域之终端和跨端

命令行/终端

  • Webpack CLl
  • Babel CLl
  • Vue CLl
  • React CLl

桌面跨端

  • Electron

  • NW.js

移动跨端

  • React Native

  • Flutter

关于前端开发:语言、框架、工具

image.png

关于前端开发:浏览器、网络、服务器

架构

Web浏览器的架构,可以实现为一个进程包含多个线程,也可以实现为很多进程包含少数线程通过IPC通信。如何实现浏览器,并没有统一的标准。 Chrome最新的架构:最上层是浏览器进程,负责协调承担各项工作的其他进程,比如实用程序进程、渲染器进程、GPU进程、插件进程等,如下图所示。

image.png

  • 浏览器进程:控制浏览器这个应用的chrome(主框架)部分,包括地址栏、书签、前进/后退按钮等,同时也会处理浏览器不可见的高权限任务,如发送网络请求、访问文件。
  • 渲染器进程:负责在标签页中显示网站及处理事件。
  • 插件进程:控制网站用到的所有插件。
  • GPU进程:在独立的进程中处理GPU任务。之所以放到独立的进程,是因为GPU要处理来自多个应用的请求,但要在同一个界面上绘制图形。

image.png

Web标准

了解Web标准组织

  • W3C: World Wide Web Consortium
  • Ecma: Ecma International
  • WHATWG: Web Hypertext ApplicationTechnology Working Group
  • IETF: Internet Engineering Task Force

w3C与Ecma会员

w3C目前在全球有457家会员,其中北航总部(中国区)会员47家

Ecma的AM(Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家

w3C流程

image.png

  1. Explainer demo
  2. Find the right community/groupWeb IDL for APIs
  3. Step-by-step algorithms
  4. GitHub, Markdown, respec, bikeshed, etc.
  5. Get an early review w3ctag/design-reviewsWrite web-platform-tests (WPT) tests
  6. Write web-platform-tests (wPT) tests

  • Explainer:就是建议说明文档,比如要标准化某个领域的API,要先写一个建议文档,Slide上有个链接,里面包含相关示例: https:/w3ctag.gitubio/explainers
  • Find the right community/group︰找到合适的社区或小组,把建议文档提交到社区或小组里充分讨论;
  • Web IDL for APls: IDL (Interface Description Language,接口描述语言),用于描述API的一种标准方式:httpsy/heycam.githubiolwebidl
  • 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测试。

TC39流程

image.png

负责制定ECMAScript规范的是TC39,TC是Technial Committee,技术委员会的意思。

  • Stage 0: strawman,稻草人,以任何形式提交的想法
  • Stage 1: proposal,提案,特性的正式建议
  • Stage 2 : draft,草案,具有语法和语义的描述
  • Stage 3: candidate,候选,规范文本完备,有了两个实现
  • Stage 4: finished,完成,可以成为标准,通过单元测试

如何参与(关注会议)

W3C会议

W3CTechnical Plenary / Advisory Committee Meetings Week(简称TPAC)是W3C一年一度的全球技术大会,汇集 W3C各工作小组成员(工作组、兴趣组、社区组等)、咨询委员会(AB)、技术架构组(TAG)、会员单位代表(AC)、公众特邀专家以及全球社区成员,通过为期1-2周的集中互动交流,深入探讨未来开放Web平台技术方向。

Ecma会议

年度大会

GA(General Assembly)

TC39会议

每1-2个月Meeting calendar