关于前端开发#
起源、架构、变迁#
"Suppose all the information stored on computers everywhere were linked. Suppose l could program my computer to create a space in which everything could be linked to everything."
——Tim Berners-Lee, inventor of the World Wide Web
“设想一下存储在计算机上的所有信息都是互相链接的。再设想一下我可以给我的电脑编程,并创建一个空间,让所有东西都可以互相链接。” 有点儿万物互联的感觉了
Web 于 1989 年初诞生,起初的 Web 仅由三种技术构成
- HTML
- HTTP
- URL
而 CSS 和 JavaScript 是几年之后才出现的。
Web 技术的变迁:
- 只读时代,客户端相当于一个静态的页面,想更新页面只能发送网络请求,无法在不刷新的情况下更新页面
- 体验时代,客户端实现了静态向动态的跨越,拥有了动态交互能力,在后台就可以通过 js 向服务器发送请求,通过修改 DOM 将更新的内容展示在网页中。当时的谷歌地图等都使用了这种技术。
- 敏捷时代,即现在的主流,用户的体验越来越受到重视,前端受到了重视,前端开发开始变得模块化、组件化,这个时代出现了 React、Vue 等知名框架,也出现了 Webpack 这类的打包工具。
前端应用的领域#
To Business 企业
字节的火山引擎、公有云等等,表现为一个为企业提供许多种类的服务的网站,规模庞大也很赚钱的一个领域。
To Customer 客户
最早期的网页就是一个信息分享的作用,现在的直接触达客户的网站,包括电商平台、在线教育、手机端的 H5 等等,都是 ToC 的应用。
To Develop 开发者
提高 Web 开发效率的工具,代码编辑器等等。
浏览器
桌面浏览器:Chrome、FireFox、Edge 等
移动浏览器:安卓、IOS
终端和跨端
命令行 / 终端
桌面跨端
- Electron
- NW.js
移动跨端
- React Native
- Flutter
语言、框架、工具#
- 基本语言,
这个图蚌埠住了这个图简洁明了,除了前端三大件之外,还有 WebAssembly
- 框架
浏览器、网络、服务器#
浏览器 推荐文章:
网络
An overview of HTTP - HTTP | MDN (mozilla.org)
学习路线图#
Frontend Developer Roadmap: Learn to become a modern frontend developer
关于 Web 标准#
-
W3C: World Wide Web Consortium (通常意义上的 Web 标准)
-
Ecma: Ecma International(ECMAScript 标准化规范)
- Ecma TC39 官网:Home - Ecma International (ecma-international.org)
- TC39:TC39 – Specifying JavaScript.
- Github:Ecma TC39 (github.com)
- Discourse(讨论组):TC39 - Specifying JavaScript (es.discourse.group)
-
WHATWG: Web Hypertext Application Technology Working Group
-
IETF: Internet Engineering Task Force
W3C 及 Ecma 会员#
W3C 规范制定流程#
- Explainer demo
- Find the right community/group
- Web IDL for APIs link
- Step-by-step algorithms
- Github,Markdown, respec,bikeshed,etc.
- Get an early review w3ctag/design-reviews
- Write web-platform-tests (WPT) testsl.
Ecma TC39 规范制定流程
- Championing a proposal at TC39
- How to write a good explainer
- Presenting a Proposal to TC39
- Reading a proposal draft
- Stage 3 Proposal Reviews
- How to experiment with a proposal before Stage 4
- Implementing and shipping TC39 proposals
如何参与 —— 关注会议#
W3C 会议 w3C Technical Plenary / Advisory Committee Meetings Week(简称 TPAC)是 W3C 一年一度的全球技术大会,汇集 W3C 各工作小组成员(工作组、兴趣组、社区组等)、咨询委员会 (AB)、技术架构组(TAG)、会员单位代表(AC)、公众特邀专家以及全球社区成员,通过为期 1-2 周的集中互动交流,深入探讨未来开放 Web 平台技术方向。
-
年度大会
- AC
- TPAC(Technical Plenary and Advisory Committee)
-
工作组会议
- 每月会议
- 各种研讨会
总结感想#
作为一名前端工程师,掌握 web 标准、了解浏览器和网络、及时获取技术的更新都是很重要的。这节课讲的学习路线图为前端的学习有一个很好的梳理,而推荐的文章更是让我对浏览器有了一个更深刻的了解,好评!
本文引用的内容大部分来自李松峰老师的课以及 MDN。