WEB:浏览器、标准、开发技术概述

有很多浏览器供我们选择。目前BS的普遍应用与浏览器的高度完善分不开。基于浏览器的开发模式一般叫BS,相对于CS的开发有两个主要特点:统一的UI表达方式、统一的通讯表达方式。这两点的统一,让很多开发成果的复用率得到提高。


主流浏览器

以下是一些主流浏览器的比较,包括它们的主要特点和差异。表格列出了浏览器名称、开发者、平台支持、引擎、隐私和安全功能、扩展支持、以及其他特点。

浏览器

平台支持

渲染引擎

隐私和安全功能

其他特点

Google Chrome

Windows, macOS, Linux, Android, iOS

Blink

沙盒技术、内置恶意软件防护、隐私模式

快速、支持最新的Web标准、丰富的开发者工具

Mozilla Firefox

Windows, macOS, Linux, Android, iOS

Gecko

强调隐私保护、跟踪保护、容器标签

开源、强大的自定义选项、丰富的扩展库

Microsoft Edge

Windows, macOS, Linux, Android, iOS

Chromium (Blink)

集成Windows Defender、隐私设置

基于Chromium、集成Office 365、性能优化

Safari

macOS, iOS

WebKit

防追踪功能、智能反追踪

优化电池使用、与Apple生态系统紧密集成

Opera

Windows, macOS, Linux, Android

Blink

内置VPN、广告拦截器、跟踪保护

内置Messenger、流量节省模式、丰富的主题

Brave

Windows, macOS, Linux, Android, iOS

Chromium (Blink)

强调隐私、内置广告拦截、跟踪防护

基于区块链的奖励系统、快速加载页面

Vivaldi

Windows, macOS, Linux

Chromium (Blink)

隐私控制、跟踪保护

高度可定制、内置笔记和屏幕截图功能



功能方面的规范

上述浏览器在网络、数据、控制和呈现方面遵循了一系列标准和规范。这些标准通常由国际标准化组织(ISO)、互联网工程任务组(IETF)和万维网联盟(W3C)等机构发布。以下是一些相关的标准文档及其编号, 可以作为参考:

1.超文本传输协议 (HTTP)

  • RFC 7230: HTTP/1.1: Message Syntax and Routing
  • RFC 7231: HTTP/1.1: Semantics and Content
  • RFC 7540: HTTP/2: The Next Generation of HTTP
  • RFC 9114: HTTP/3: The Next Generation of HTTP

2.超文本标记语言 (HTML)

  • W3C HTML5 Specification: HTML5
  • W3C HTML 4.01 Specification: HTML 4.01

3.层叠样式表 (CSS)

  • W3C CSS Level 2 (CSS2): CSS2
  • W3C CSS Level 3 (CSS3): CSS3

4.JavaScript

  • ECMAScript Language Specification: ECMA-262: 这是一份关于 JavaScript 语言的标准,最新版本的编号通常为 ECMA-262 (例如, ES2020 为第 11 版)。
  • ECMA-402: ECMAScript Internationalization API Specification。

5.文档对象模型 (DOM)

  • W3C DOM Level 1 Specification: DOM Level 1
  • W3C DOM Level 2 Specification: DOM Level 2

6.统一资源标识符 (URI)

  • RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
  • RFC 3987: Internationalized Resource Identifiers (IRIs)

7.WebSockets

  • RFC 6455: The WebSocket Protocol

8.可缩放矢量图形 (SVG)

  • W3C SVG Specification: SVG 1.1

总结

这些标准为浏览器的实现提供了基础,确保了网络技术的互操作性和一致性。通过遵循这些标准,浏览器能够在网络、数据、控制和呈现方面实现一致的行为和用户体验。了解这些标准有助于更深入地理解浏览器的工作原理和开发流程。

非功能方面

除了前面提到的标准和规范之外,浏览器在开发过程中还遵循了一些其他的标准和最佳实践,以确保性能、安全性、可访问性和用户体验。以下是一些相关的标准和指导方针:

1.性能优化标准

  • W3C Performance Timing API: 提供了一个接口,用于获取网页的性能指标。
  • W3C Resource Timing API: 允许开发者获取有关网页资源加载性能的详细信息。

2.安全性标准

  • OWASP Top Ten: 由开放式Web应用程序安全项目(OWASP)发布的十大安全风险指南,帮助开发者识别和应对常见的网络安全威胁。
  • Content Security Policy (CSP): 一种额外的安全层,用于检测和缓解某些类型的攻击,包括跨站脚本(XSS)和数据注入攻击。

3.可访问性标准

  • WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications): 提供了增强可访问性的语义,使得动态内容和高级用户界面控件对辅助技术更友好。
  • WCAG (Web Content Accessibility Guidelines): 提供了一系列最佳实践,以确保网页对所有用户(包括残障人士)可访问。

4.用户界面和用户体验设计标准

  • Material Design: Google 提出的设计语言,提供了一套设计原则和组件,帮助开发者创建一致和美观的用户界面。
  • Human Interface Guidelines: Apple 提供的设计指南,帮助开发者在其平台上创建用户友好的应用程序。

5.国际化和本地化标准

  • Unicode: 提供了一个统一的字符编码标准,支持全球各种语言的字符集。
  • ECMA-402: ECMAScript 国际化 API 规范,提供了日期、时间、货币等格式化功能。

6.API 设计标准

  • RESTful API 设计原则: 确保 API 的一致性和可预测性,使用 HTTP 方法(GET、POST、PUT、DELETE)来表示操作。
  • GraphQL: 一种用于 API 的查询语言,允许客户端请求所需的数据,减少不必要的数据传输。

7.开发工具和调试标准

  • Web Developer Tools: 各种浏览器提供的开发者工具,遵循了一些通用的设计和功能标准,以便于调试和性能分析。
  • Lighthouse: Google 提供的开源工具,用于审计网页的性能、可访问性和 SEO。

8.规范和最佳实践

  • ECMA-404: JSON 数据格式的规范,定义了 JSON 的语法和数据结构。
  • RFC 2119: 定义了在互联网标准中使用的关键字,帮助开发者理解规范中的要求。

总结

浏览器在开发过程中遵循的标准和最佳实践涵盖了性能、安全性、可访问性、用户体验、API 设计等多个方面。这些标准和实践不仅提高了浏览器的功能和安全性,还确保了用户在使用网页时获得一致和高质量的体验。了解这些标准有助 于开发者在构建网页和应用程序时做出更好的设计和实现决策。


开发模式

如上,浏览器相关的技术规范定义了通讯协议与用户界面表现。HTML、CSS、Javascript无疑就是开发BS前端应用的基础。截止目前,我看到主要的开发模式有如下四类:

  1. 后台输出页面(包括HTML、CSS),2005年前,基本如此,Javascript组要用来做一些动态效果
  2. AJAX : 浏览器赋予Javascript更多的权利,2012年前,比如异步加载数据。 这个时候的代表是Facebook和Qzone
  3. 前端构建 : rollup、gulp、webpack等 2014年,前端团队自行组织分块开发
  4. 前端框架:react、angular、vue等 ,2016年,高度集成,将前端组件与构建工具融合

建议的学习路径是从html、css、javascript开始,这样不用一上来就是陡峭的学习路径。有一定掌握后,可以学些下构建辅助工具,从轻量级开始,推荐用gulp,流式处理的设计,很直观。


参考资料 :

  1. https://github.com/BootstrapDash/MajesticAdmin-Free-Bootstrap-Admin-Template
  2. https://v3.gulpjs.com.cn/docs/getting-started/
原文链接:,转发请注明来源!