这是我参与「第四届青训营 」笔记创作活动的第4天
关于前端开发
前端开发应用领域
- To Business
- To Customer
- To Developer
应用领域——浏览器
-
桌面浏览器
桌面浏览器包括Chrome、Edge、 Firefox、 Opera、 Safari这五个主流浏览器。
- 移动浏览器
应用领域——服务器
服务器、服务端的开发目前主要还是依托于Node.js这个成熟的JS运行时,还有Express、Koa等Web开发框架的生态和安全运行时——Deno
应用领域——终端和跨端
终端和跨端,这个应用领域通常是开发者工具,比如命令行工具里的Webpack、Babel、 React、 Vue都有CL (Command-Line Interface)版,而桌面跨端主要有Electron和NW.js,目前世界上最流行的编码环境VSCode就是基于Electron的一一个Web应用。
前端开发的语言、框架、工具
HTML负责结构页面,CSS设计页面样式,JavaScript实现页面动态交互
WebAssembly:新的编码方式类似汇编语言,紧凑二进制使网页接近原生速度运行。通常使用从c、c++、rust等高级语言编程后使用工具转换成WebAssembly
web标准
标准组织
-
W3C: World Wide Web Consortium
- 官网: www.w3.org
- Github: github.com/w3c
- 规范查询: https:/ /www.w3.org/TR
-
Ecma: Ecma International
- 官网: www.ecma-international.org
- TC39: tc39.es
- Github: github.com/tc39
- Discourse: es.discourse.group
-
WHATWG: Web Hypertext Application Technology Working Group
- 官网: whatwg.org/
- Github: github.com/whatwg
- 规范查询: spec.whatwg.org/
-
IETF: Internet Engineering Task Force
- 官网: www.ietf.org/
- Github: github.com/ietf
W3C及Ecma会员
- W3C目前在全球有457家会员,其中北航总部(中国区)会员47家
- Ecma的AM (Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家
W3C规范制订流程
- Submission 由W3C member向www consortium投递自己的一个建议。w3c有可能决定不接收这个建议。
- Notes 如果IBM向W3C提了一个submission,而且w3c没有拒绝这个submission,那么它就进入Note阶段。Note的内容由IBM进行编辑修改,W3C是不管的。发表Note的时候,表示W3C还没有开始和这个submission有关的任何工作。
- Working Groups Notes被W3C认可后,W3C会成立一个Working Group。Group包括W3C member和有兴趣的外界团队和个人。
- Working Draft Draft会在w3c的站点上公布,并邀请公共的评论和意见。Working Draft一般不应该作为参考的资料,因为它还会经过大量的修改/更新,而且可能随时被废弃。比如现在WSDL2.0就还在Working Draft阶段,还会经过大量的修改
- Candidate Recommendations 这个阶段是可选的,依据论题的复杂程度而定。它一般不应该作为参考的资料,因为它还会经过大量的修改/更新,而且可能随时被废弃。
- Proposed Recommendations Proposed Recommendations是Working Groups工作的最后一个阶段。它有被继续修改的可能,但一般情况下,它很可能马上不做改动地成为w3c recommendation.
- Recommendation Proposed Recommendations经过了w3c member的检查和w3c的主席的盖章后,成为 w3c recommendation。
Ecma TC39规范制定流程
- Stage 0: strawman, 以任何形式提交的想法
- Stage 1: proposal, 正式建议
- Stage2: draft, 具有语法和语义的描述
- Stage 3: candidate, 规范文本完备,有了两个实现
- Stage4: finished, 可以成为标准,通过单元测试