这是我参与「第四届青训营」笔记创作活动的第4天
关于前端开发:起源、架构、变迁
存储在一台计算机上的信息都是相互链接的,我们可以写一个程序链接所有信息。
上网指接入Internet,它是地球上相互连接的计算机构成的网络。计算机网络诞生与上个世纪的60年代,标志性通信协议是TCP/IP
1989年诞生时,Web由三种技术构成:
- HTML(超文本标记语言)
- HTTP(超文本传输协议)
- URL(地址、链接)
CSS和JavaScript是几年之后才出现的
前端开发变迁的几个阶段
只读时代(1989-2004)
HTML / CSS / JavaScript
- 单向发布
- 静态只读
- 链接跳转
- 刷新页面
- 表格对其元素
- CGI
体验时代(2005-2010)
Ajax / Web API/ jQuery
- 动态交互
- 社交媒体
- 用户生成内容(UGC)
- 单页应用(SPA)
- jQuery
- YUI
敏捷时代(2010-2021)
Fetch / Node.js / Webpack
- 模块化
- 组件化
- 转译(transpiling)
- 打包(bundling)
- React.js
- Vue.js
前端应用的领域
To Business 对于企业
To Customer 对于用户
To Developer 对于开发者
浏览器
浏览器包括桌面浏览器和移动浏览器,以及移动App中的WebView,都属于浏览器直接渲染Web应用的范畴
Desktop
桌面浏览器包括Chrome、Edge、Firefox、Opera、Safari这几个主流浏览器
Mobile
移动浏览器主要是Chrome、Safari
前端不仅要开发在浏览器和WebView中运行的网页,也要开发在小程序运行时上跑的小程序
服务器
服务器的开发目前主要还是依托Node.js这个成熟的JS运行时,npm包管理平台已经成为世界最大的程序包管理平台。
Web开发框架还有Express、Koa等生态。
终端和跨端
命令行/终端
- Webpack CLI
- Babel CLI
- Vue CLI
- React CLI
桌面终端
- Electron
- NW.js
移动跨端
- React Native
- Flutter
学习路线
关于前端开发的路线图可以到 roadmap.sh 查询
关于Web标准
标准组织
W3C:World Wide Web Consortium
Ecma:Ecma International
WHATWG:Web Hypertext Application Technology Working Group
IETF:Internet Engineering Task Force
关于Web标准:W3C及Ecma会员
W3C目前在全球有457家会员,其中北航总部(中国区)会员47家
Ecma的AM(Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家
W3C规范制定流程
- Explainer demo 建立说明文档
- Find the right community/group 找到对应社区/小组
- Web IDL for APIs link 用Web IDL描述
- Step-by-step algorithm 逐步完成算法
- GitHub,Markdown,respec,bikeshed,etc. 使用这些工具
- Get an early review w3ctag/design-reviews 确定方向
- Write web-planform-tests(WPT) tests 写相关文档