关于前端开发
起源、架构、变迁
很多人分不清“上网”是上的哪个网?即使在互联网的诞生地也是如此。Web的普及和深入人可见一斑。
上网指接入Internet,它是地球上相互连接的计算机构成的网络。计算机网络诞生于上个世纪的6O年代,标志性通信协议是TCP/IP。
1989年诞生时,Web由三种技术构成:
- HTML
- HTTP
- URL CSS和JavaScript是几年之后才出现的。
前端应用的领域
- Business(企业级应用,企业资源管理)
- Customer(面向消费者,门户网站、电商平台)
- Developer(面向开发者,提升开发者开发效率的平台、工具、框架)
前端应用的领域之浏览器
Desktop
- 谷歌
- Microsoft Edge
- 火狐
- Opera
- Safari
Mobile
- 安卓
- 苹果
前端应用的领域之服务器
- Node.js
- Express JS
- Koa
前端应用的领域之终端和跨端
命令行/终端
- Webpack CLI
- Babel CLI
- Vue CLI
- React CLI
桌面跨端
- Electron
- NW.js
语言、框架、工具
node(Ryan Dahl)
- 简单的说 Node.js 就是运行在服务端的 JavaScript
Koa (TJ Holowaychuk)
- Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石
react (Jordan Walke)
- 用于构建用户界面的 JavaScript 库
vue(尤雨溪)
- Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架
TypeScript(Anders Hejlsberg)、
- TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。 TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。
Git(Linus Torvalds)
- Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
Babel(Sebastian McKenzie)
- Babel 是一个 JavaScript 编译器
- 美国微软为windows平台推出的编程开发工具
webpack(Tobias Koppers)
- 本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具
浏览器、网络、服务器
学习路线图
关于Web标准
组织标准
W3C、Ecma
W3C
- 官网: www.W3.org
- Github: github.com/w3c
- 规范查询: www.w3.org/TR
Ecma TC39
- 官网: www.ecma-international.org
- TC39: tc39.es
- Github: github.com/tc39
- Discourse: es.discourse.group
WHATWG、IETF
WHATWG
- 官网: whatwg.org/
- Github: github.com/whatwg
- 规范查询: spec.whatwg.org/
IETF
- 官网: www.ietf.org/
- Github:github.com/ietf
W3C及Ecma会员
- W3C目前在全球有444家会员(link),其中北航总部(中国区)会员46家(link)
- Ecma的AM (Associate Member)会员目前有18家,中国公司有字节跳动、360、阿里、华为、腾讯等5家(link)
W3C规范制定流程
Ecma TC39规范制定流程
ECMAScript 2021 language specification
总结
首先,我学习了 Web 标准的重要性。Web 标准定义了 Web 技术的规范,确保不同浏览器和设备都能正确解释和渲染 Web 内容。了解并遵循 Web 标准可以确保开发的网站在各种环境下具有一致的表现,提高用户体验并降低开发成本。我了解了 HTML、CSS 和 JavaScript 的标准化,以及如何使用语义化的 HTML 结构、良好的 CSS 命名规范和无障碍性的实践来构建更具可访问性和可维护性的网站。
其次,我学习了一系列前端开发技术和工具,如 HTML5、CSS3、JavaScript 等。HTML5 带来了许多新的语义化元素和功能,如音视频播放、本地存储等,让网站更具交互性和多媒体性。CSS3 则提供了更强大的样式控制和动画效果,使页面更加吸引人。JavaScript 则是实现复杂交互和动态效果的核心,我学会了使用原生 JavaScript 和各种 JavaScript 框架(如React、Vue.js)来开发前端应用。
此外,我学习了响应式设计和移动优先开发的重要性。在今天的多设备时代,确保网站在不同屏幕尺寸和设备上都能正常展示是至关重要的。学习了 CSS 媒体查询和弹性布局等技术后,我能够编写适应不同屏幕的响应式样式,提供更好的用户体验。
然而,学习 Web 标准与前端开发也面临一些挑战。Web 技术不断发展,新的标准和工具不断涌现,需要我不断地学习和跟进。此外,不同浏览器对标准的实现可能存在差异,需要在开发过程中进行适当的兼容性处理。
总的来说,学习了 Web 标准与前端开发是一次非常有价值的经验。我不仅获得了实际的技术知识,还意识到了构建用户友好、高效和可维护的 Web 应用程序的重要性。通过遵循 Web 标准,使用现代的前端开发技术和工具,我有信心能够为用户创造出更好的网络体验,同时在不断变化的 Web 领域中保持着持续的学习和创新。