關於前端開發#
起源、架構、變遷#
"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。