青训营 DAY 1
前端语言基本能力
HTML
基本语法
标签分类
head标签
body标签
了解即可,不需要死记硬背。
HTML5语义化
语义化标签
<header>
- 定义文章的介绍信息:标题,logo,slogan;包裹目录部分,搜索框,一个nav或者任何相关的logo;
- 一个页面中的个数没有限制,可以为每个内容块添加一个header;
<nav>
- 定义文章导航栏,链接等;
- nav一般和u、li配合做导航栏;
<main>
- 定义文章的主要内容
- main标签在一份文档中是唯一的,其后代元素常常包括
<article>;
<article>
- 定义文档中可以脱离其他部分,一份独立的内容,通常带有标题,当article内嵌article时,里外层的内容应该是相关的,比如一篇微博和它的评论;
<section>
- 与article的差别在于,它是整体的一部分,或者是文章的一节,一般来说section也会带有标题;
<aside>
- 侧边栏(与article并列存在)或者嵌入内容(在article内),通常认为是独立拆分出来而不受整体影响的一部分,作为主要内容的附属信息,如索引,词条列表,或者页面及站点的附属信息,如广告,作者资料介绍等;
<footer>
- 页脚,通常包含作者、版权信息或者相关链接等;
HTML 表单增强
详情参考https://juejin.cn/post/700359222084239361
复制代码
HTML 存储
HTML IndexedDB
HTML PWA/AMP
渐进式 Web 应用(Progressive Web App,PWA)是一个使用 web 平台技术构建的应用程序,但它提供的用户体验就像一个特定平台的应用程序。
它像网站一样,PWA 可以通过一个代码库在多个平台和设备上运行。它也像一个特定平台的应用程序一样,可以安装在设备上,可以离线和在后台运行,并且可以与设备和其他已安装的应用程序集成。
复制代码
HTML Audio Video
Audio 音频播放器
Video 视频播放器
复制代码
HTML5 二进制
HTML5表单增强
HTML5 API
HTML5引入了许多新的API,为开发者提供了更多功能和能力,让网页应用程序可以进行更丰富的交互和功能实现。
- DOM(Document Object Model)API:DOM API允许开发者通过JavaScript访问和操作HTML文档中的元素、样式、内容和结构。
- Canvas API:Canvas API允许通过JavaScript绘制图形、图像和动画,创建丰富的视觉效果。
- Web Storage API:Web Storage API提供了localStorage和sessionStorage两个对象,用于在浏览器中存储和读取持久化数据,以实现本地数据的保存。
- Geolocation API:Geolocation API允许开发者获取用户的位置信息,用于实现基于地理位置的应用程序和服务。
- Web Notifications API:Web Notifications API允许网页应用程序发送通知消息到用户的操作系统,以实现类似原生应用的通知功能。
HTML5 Web Worker
Web Worker (工作线程) 是 HTML5 中提出的概念,分为两种类型,专用线程(Dedicated Web Worker) 和共享线程(Shared Web Worker)。专用线程仅能被创建它的脚本所使用(一个专用线程对应一个主线程),而共享线程能够在不同的脚本中使用(一个共享线程对应多个主线程)。
HTML5 Web Socket
HTML5 Web Socket是一种在Web应用程序和服务器之间进行实时双向通信的技术。它允许建立一条持久的连接,使得服务器能够主动向客户端推送消息,并且客户端也可以向服务器发送消息,实现实时的数据传输和通信。
HTML5 Shadow DOM
HTML5 Shadow DOM(影子DOM)是一种在HTML元素内部创建隔离的DOM树的技术。它允许开发者在一个HTML元素内部创建一个私有的DOM子树,将其与外部的DOM树隔离开来。这种隔离性允许开发者编写组件化的Web应用程序,保护组件的样式和功能不受外部样式和脚本的影响。
HTML5 Web Component
HTML5 Web Component是一组用于构建Web应用程序的标准和技术。它由三个主要技术组成:自定义元素(Custom Elements)、影子DOM(Shadow DOM)和HTML模板(HTML Templates)。
HTML5 SVG & Canvas
HTML5提供了两种在Web上绘制图形的技术:SVG(可缩放矢量图形)和Canvas(画布)。
Canvas
- 通过 js 来绘制 2D图形。
- canvas 图像单位是像素。
- canvas 图像绘制完毕之后,浏览器将不再关注它,如果位置发生变换,就需要重新绘制。
SVG
- svg 使用 XML 描述的2D图像。
- svg 是基于 xml 的,所以 svg 中绘制图形还是使用的元素,js 给元素任意添加事件。
- svg 绘制的图像是一个对象,如果对象的属性发生改变,浏览器将重新绘制图形。
SVG与Canvas比较
- svg 是一种矢量图,而 canvas 依赖于分辨率。所以 svg 放大不会失真,但是 canvas 绘制的图形会失真。
- svg 支持事件处理器,而 canvas 不支持事件处理器。
- svg 中的文字独立于图像,文字可保留,可编辑和可搜索,canvas 的文本渲染能力弱。
- canvas 适合图像密集型的游戏,频繁地重绘图像,svg 绘制的复杂度高时减慢渲染的速度。
- canvas 绘制的图形可以多种格式 (jpg、png) 保存图片,但是 svg 绘制的只能以 .svg 格式保存,使用时可以引入 html 文件。
- canvas 适合开发游戏,svg 不适合游戏应用。
WebGL & WebGPU
WebGL和WebGPU是用于在Web上进行高性能图形渲染的技术。
- WebGL:WebGL是一种基于OpenGL ES标准的Web图形库,它允许使用JavaScript和OpenGL ES API在Web浏览器上进行硬件加速的3D和2D图形渲染。WebGL提供了一种通过渲染管道处理图形数据的机制,开发者可以使用JavaScript编写顶点和片段着色器,以实现复杂的图形效果和交互。通过WebGL,开发者可以在Web应用程序中创建交互式的3D场景、游戏和数据可视化,利用硬件加速提供高性能的图形渲染。
- WebGPU:WebGPU是一种新的Web图形渲染API,旨在提供更底层的、与硬件更接近的图形编程接口。它是在WebGL和图形API设计中的经验基础上进行发展的。WebGPU提供了更多的底层控制,允许开发者直接操作GPU并发出绘制命令。WebGPU的目标是提供更高的性能和更低的延迟,适用于实时渲染、虚拟现实、增强现实等需要更高性能的图形应用。
WebGL和WebGPU的使用场景和目标不完全相同。WebGL广泛用于Web上的3D和2D图形渲染。WebGPU是一个较新的API,还在发展中,为了更底层的图形编程而设计。
HTML5 WebAssembly
WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行 - 它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如 C / C ++等语言提供一个编译目标,以便它们可以在 Web 上运行。它也被设计为可以与 JavaScript 共存,允许两者一起工作。
简而言之
对于网络平台而言,WebAssembly 具有巨大的意义——它提供了一条途径,以使得以各种语言编写的代码都可以以接近原生的速度在 Web 中运行。在这种情况下,以前无法以此方式运行的客户端软件都将可以运行在 Web 中。
WebAssembly 被设计为可以和 JavaScript 一起协同工作——通过使用 WebAssembly 的 JavaScript API,你可以把 WebAssembly 模块加载到一个 JavaScript 应用中并且在两者之间共享功能。这允许你在同一个应用中利用 WebAssembly 的性能和威力以及 JavaScript 的表达力和灵活性,即使你可能并不知道如何编写 WebAssembly 代码。
而且,更棒的是,这是通过W3C WebAssembly Community Group开发的一项网络标准,并得到了来自各大主要浏览器厂商的积极参与。