Web标准与前端开发 | 青训营

125 阅读9分钟

Web标准与前端开发

一、关于前端开发

1. 起源、架构、变迁

很多人分不清“上网”是上的哪个网?即使在互联网的诞生地也是如此。Web的普及和深入人心由此可见一斑。

上网指接入Internet,它是地球上相互连接的计算机构成的网络。计算机网络诞生于上个世纪的60年代标志性通信协议是TCP/IP。

1989年诞生时,Web由三种技术构成: 超文本标记语言 HTTP URL CSS和JavaScript是几年之后才出现的。

前端开发起源于 Web 技术的发展。早期的网页只是简单的文本和图片的展示,使用 HTML 和 CSS 这样的前端技术来创建和布局网页。后来随着互联网的普及和 Web 应用的需求增加,前端开发逐渐演变为一个更加复杂和专业化的领域。

一开始,前端开发主要关注网页的结构和样式,使用 HTML 和 CSS 实现页面的布局和样式效果。而后,JavaScript 的出现为前端开发带来了新的动态交互和功能扩展的可能性。

在过去的几十年中,前端技术经历了多次变迁和发展。一些重要的里程碑包括:

  1. Ajax 的出现:Ajax(Asynchronous JavaScript and XML)技术使得前端可以通过异步请求和后端进行数据的交互,实现更加流畅和动态的用户体验。
  2. jQuery 的流行:jQuery 是一个 JavaScript 库,提供了方便的 API 和方法来处理 DOM 操作、事件处理、动画效果等,大大简化了前端开发的繁琐操作。
  3. 前端框架的兴起:随着 Web 应用的复杂度的提升,前端框架如 Angular、React、Vue 等应运而生。这些框架提供了组件化开发、数据驱动视图等更高级的功能,使得前端开发更加高效且可维护。
  4. 移动端的崛起:随着智能手机的普及,移动端的需求迅速增长。前端开发不再只关注于桌面浏览器,而需要考虑移动端的适配和响应式布局。
  5. 前端工程化:前端开发的复杂度不断提升,出现了一些工程化的解决方案和工具,如模块化开发、构建工具(如webpack)和版本控制等,使得前端开发更加规范化、高效。

除了以上变迁,前端开发还持续地发展和创新。现在的前端开发已经成为一个独立而庞大的领域,涵盖了丰富的技术和工具。随着技术的不断进步和需求的变化,前端开发将继续不断变迁和演进。

2. 前端应用领域

在前端应用领域,前端开发可以涉及到不同的平台和环境。以下是关于浏览器、服务器、终端和跨端的一些前端应用领域的介绍:

  1. 浏览器:前端开发最常见的应用平台就是浏览器。前端开发人员使用 HTML、CSS 和 JavaScript 等技术来创建网站和 Web 应用,并确保它们可以在不同的浏览器上正常运行,提供一致的用户体验。
  2. 服务器:前端开发人员有时也需要处理服务器端的逻辑。比如使用 Node.js 这样的后端 JavaScript 运行环境,开发服务器端的应用程序,如 API 接口、数据处理等。
  3. 终端:前端开发不仅局限于浏览器和服务器,还可以应用到终端设备中。例如,通过 Electron 或者 React Native 这样的框架,可以使用前端技术来开发桌面应用和移动应用,覆盖不同终端设备。
  4. 跨端:跨端开发是指使用一套代码开发多个平台的应用。例如使用 React Native 开发可以同时在 Android 和 iOS 上运行的移动应用,或者使用 Electron 开发可以在 Windows、Mac 和 Linux 等平台上运行的桌面应用。

跨端开发和终端应用的发展,使得前端开发的应用领域变得更加广泛和多样化。前端开发人员需要适应不同平台、环境和设备的特点,灵活运用前端技术来满足不同需求。

3. 语言、框架、工具

前端开发涉及到多种语言、框架和工具。下面是一些常用的前端开发语言、框架和工具的介绍:

  1. HTML(超文本标记语言):HTML 是构建网页结构的标记语言,用于定义网页的内容和布局。
  2. CSS(层叠样式表):CSS 是用于控制网页样式的语言,用于定义网页的外观和排版。
  3. JavaScript:JavaScript 是一种脚本语言,用于为网页添加交互和动态功能。它可以与 HTML 和 CSS 配合使用,实现丰富的用户体验。
  4. TypeScript:TypeScript 是 JavaScript 的超集,它添加了静态类型和更多的编程工具,使得开发者能够更可靠地构建大型应用程序。
  5. React:React 是一个用于构建用户界面的 JavaScript 库。它通过组件化的方式构建 UI,具有高效、灵活和可组合的特性。
  6. Vue.js:Vue.js 是一个用于构建用户界面的 JavaScript 框架。它也采用了组件化的开发模式,提供了响应式数据绑定和强大的模板语法。
  7. Webpack:Webpack 是一个模块打包工具,它可以将前端项目中的各种资源(如 JavaScript、CSS、图片等)打包成静态文件,方便在浏览器中加载和使用。
  8. Babel:Babel 是一个用于将最新的 JavaScript 语法转换为在旧版本浏览器中可运行的语法的工具。它可以帮助开发者在使用最新的 JavaScript 特性时保持兼容性。

以上只是一些常见的前端开发语言、框架和工具,前端领域的技术更新迅速,开发者需要不断学习和掌握新的技术和工具来应对不断变化的需求。

二、关于Web标准

1. 了解Web标准组织

Web 标准组织是指负责制定和促进互联网相关标准的组织。它们的目标是确保 Web 技术的互操作性和可访问性,以便开发者和用户能够以一致的方式使用 Web。

以下是一些常见的 Web 标准组织:

  1. 国际万维网联盟(World Wide Web Consortium,W3C)
  2. 网络工程任务组(Internet Engineering Task Force,IETF)
  3. WHATWG(Web Hypertext Application Technology Working Group)
  4. Ecma国际(Ecma International)

2. W3C规范制定流程

W3C(World Wide Web Consortium)是一个开放的国际标准化组织,负责制定和推动互联网相关的技术标准。W3C 的规范制定流程具体如下:

  1. 工作组成立:W3C 的工作组是制定规范的核心单位,每个工作组都有特定的领域和任务。工作组可以根据需求由 W3C 的成员自愿参与创建。
  2. 规范提案:工作组成员就某个领域或技术主题进行研究和讨论,并提出规范的初步草案或提案。这些提案要经过工作组内部评审和讨论,确保技术方案的质量和可行性。
  3. 工作草案:一旦规范提案被认为具有一定的成熟度,工作组将提升规范提案的状态为工作草案(Working Draft)。工作草案公开发布,接收来自 W3C 成员和公众的评论和反馈。
  4. 候选推荐:草案经过修订和改进后,工作组可以将其提升为候选推荐(Candidate Recommendation)。候选推荐是一个成熟的规范草案,并公开邀请测试和实际应用。
  5. 提议推荐:在候选推荐阶段进行了足够的实际应用和测试后,工作组可以将草案提升为提议推荐(Proposed Recommendation)。这意味着规范已经被认为准备好被采纳为正式的 W3C 推荐标准。
  6. 推荐标准:提议推荐经过 W3C 成员的投票和批准后,最终成为推荐标准(W3C Recommendation)。推荐标准是一份正式的、稳定的、广泛接受的技术规范,成为开发者和厂商使用的参考标准。
  7. 维护和更新:W3C 推荐标准可持续进行维护和更新,以满足新的需求和技术发展。W3C 成员和其他利益相关者可以参与提出修订和更新的请求,并经过相应的流程和讨论。

需要注意的是,这只是规范制定流程的一般概述,实际的流程可能会有细微的差别,取决于具体的工作组和标准制定的特定要求。

3. TC39规范制定流程

TC39(Technical Committee 39)是 ECMAScript(JavaScript)的标准制定组织,负责制定和推动 ECMAScript 规范。TC39 的规范制定流程如下:

  1. 提案阶段:成员可以向 TC39 提出 ECMAScript 的新功能、语法、语义或其他相关提案。提案需要包含详细的技术说明、语法规范、实现示例和语义理解等内容。
  2. Stage 0 - Strawman:提案提交后,进入 Stage 0。在这个阶段,提案被视为初步构想,需要得到 TC39 成员的初步评审和讨论,以确定提案是否值得进一步研究和开发。
  3. Stage 1 - Proposal:如果在 Stage 0 获得了足够的兴趣和支持,提案可以进入 Stage 1。在这个阶段,提案需要经过详细的技术评审,包括对语法、语义、实现难度和兼容性等方面进行全面讨论。
  4. Stage 2 - Draft:在 Stage 1 通过评审后,提案可以进入 Stage 2。在这个阶段,提案的详细规范文档需要进一步完善和细化,以满足具体的语法和语义要求,并进一步评估兼容性和实现难度。
  5. Stage 3 - Candidate:在 Stage 2 通过评审后,提案可以进入 Stage 3。在这个阶段,提案需要进一步完善和测试,确保与其他特性和规范的互操作性,并且至少有一个实现进行过实际测试。
  6. Stage 4 - Finished:在 Stage 3 通过评审后,提案可以进入 Stage 4。在这个阶段,提案需要经过最后的文档评审,确保规范的准确性和完整性,并且有多个实现进行了广泛测试和用户反馈。

一旦提案进入了 Stage 4,ECMAScript 规范的下一个版本将会包含该提案的功能。然后,浏览器制造商和其他技术实现者可以开始根据规范来实现和支持新的特性。

需要注意的是,TC39 的规范制定流程是一个逐步迭代的过程,提案可以在不同阶段之间往返,经过适当的修改和改进。制定一个新的 ECMAScript 规范需要时间和大量的讨论和协商。