有很多浏览器供我们选择。目前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前端应用的基础。截止目前,我看到主要的开发模式有如下四类:
- 后台输出页面(包括HTML、CSS),2005年前,基本如此,Javascript组要用来做一些动态效果
- AJAX : 浏览器赋予Javascript更多的权利,2012年前,比如异步加载数据。 这个时候的代表是Facebook和Qzone
- 前端构建 : rollup、gulp、webpack等 2014年,前端团队自行组织分块开发
- 前端框架:react、angular、vue等 ,2016年,高度集成,将前端组件与构建工具融合
建议的学习路径是从html、css、javascript开始,这样不用一上来就是陡峭的学习路径。有一定掌握后,可以学些下构建辅助工具,从轻量级开始,推荐用gulp,流式处理的设计,很直观。
参考资料 :
- https://github.com/BootstrapDash/MajesticAdmin-Free-Bootstrap-Admin-Template
- https://v3.gulpjs.com.cn/docs/getting-started/