从客户端WebAPI视角下解读前端学习

2024-06-13 05:12

本文主要是介绍从客户端WebAPI视角下解读前端学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

API

应用程序接口(API,Application Programming Interface)是基于编程语言构建的结构,使开发人员更容易地创建复杂的功能。它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。

 JavaScript VS 客户端 API VS 客户端 API VS JavaScript 库 VS JavaScript 库

  • JavaScript——一种内置于浏览器的高级脚本语言,你可以用来实现 Web 页面/应用中的功能。注意 JavaScript 也可用于其他像 Node 这样的编程环境。但现在你不必考虑这些。
  • 客户端 API — 内置于浏览器的结构程序,位于 JavaScript 语言顶部,使你可以更容易的实现功能。
  • 客户端 API — 置于第三方普通的结构程序(例如 Twitter,Facebook),使你可以在自己的 Web 页面中使用那些平台的某些功能(例如在你的 Web 页面显示最新的 Tweets)。
  • JavaScript 库 — 通常是包含具有特定功能的一个或多个 JavaScript 文件,把这些文件关联到你的 Web 页以快速或授权编写常见的功能。例如包含 jQuery 和 Mootools
  • JavaScript 库 — 从库开始的下一步,JavaScript 框架视图把 HTML、CSS、JavaScript 和其他安装的技术打包在一起,然后用来从头编写一个完整的 Web 应用。

 常见浏览器API

  • 操作文档的 API(控制浏览器视图图显示内容)内置于浏览器中。最明显的例子是DOM(文档对象模型)API,它允许你操作 HTML 和 CSS — 创建、移除以及修改 HTML,动态地将新样式应用到你的页面,等等。每当你看到一个弹出窗口出现在一个页面上,或者显示一些新的内容时,这都是 DOM 的行为。你可以在在Manipulating documents中找到关于这些类型的 API 的更多信息。
  • 从服务器获取数据的 API (数据更新前后端交互)用于更新网页的一小部分是相当好用的。这个看似很小的细节能对网站的性能和行为产生巨大的影响 — 如果你只是更新一个股票列表或者一些可用的新故事而不需要从服务器重新加载整个页面将使网站或应用程序感觉更加敏感和“活泼”。使这成为可能的 API 包括XMLHttpRequest和Fetch API。你也可能会遇到描述这种技术的术语Ajax。你可以在Fetching data from the server找到关于类似的 API 的更多信息。

          WebGIS下——焕新-CSDN博客

  • 用于绘制和操作图形的 API(绘图Canvas->WebGL,2D 3D)【Three.js/Cesium.js/图形学】目前已被浏览器广泛支持 — 最流行的是允许你以编程方式更新包含在 HTML <canvas> 元素中的像素数据以创建 2D 和 3D 场景的Canvas和WebGL。例如,你可以绘制矩形或圆形等形状,将图像导入到画布上,然后使用 Canvas API 对其应用滤镜(如棕褐色滤镜或灰度滤镜),或使用 WebGL 创建具有光照和纹理的复杂 3D 场景。这些 API 经常与用于创建动画循环的 API(例如window.requestAnimationFrame())和其他 API 一起不断更新诸如动画和游戏之类的场景。

            WebGL入门前三节(附源码和学习建议)_webgl 入门代码-CSDN博客

            现代计算机图形学学习思维导图(更新至12节Geometry)_-博客

             http://t.csdnimg.cn/gshUp

  • 音频和视频 API (视频GIS虚实融合【介入不多】)例如 HTMLMediaElement、Web Audio API 和 WebRTC 允许你使用多媒体来做一些非常有趣的事情,比如创建用于播放音频和视频的自定义 UI 控件,显示字幕字幕和你的视频,从网络摄像机抓取视频,通过画布操纵(见上),或在网络会议中显示在别人的电脑上,或者添加效果到音轨(如增益、失真、平移等) 。
  • 设备 API【介入不多】基本上是以对网络应用程序有用的方式操作和检索现代设备硬件中的数据的 API。我们已经讨论过访问设备位置数据的地理定位 API因此你可以在地图上标注你的位置。其他示例还包括通过系统通知(参见Notifications API)或振动硬件(参见Vibration API)告诉用户 Web 应用程序有用的更新可用。
  • 客户端存储 API【待学习】在 Web 浏览器中的使用变得越来越普遍 - 如果你想创建一个应用程序来保存页面加载之间的状态,甚至让设备在处于脱机状态时可用,那么在客户端存储数据将会是非常有用的。例如使用Web Storage API的简单的键 - 值存储以及使用IndexedDB API的更复杂的表格数据存储。

第三方API 

地图相关:openlayer、leaflets、ArcGIS API for JS、高德、腾讯、百度...

API共性

可识别的入口点
  • 文档对象模型 (DOM) API 有一个更简单的入口点 —它的功能往往被发现挂在 Document 对象,或任何你想影响的 HTML 元素的实例,例如:
var em = document.createElement("em"); // create a new em element
var para = document.querySelector("p"); // reference an existing p element
em.textContent = "Hello there!"; // give em some text content
para.appendChild(em); // embed em inside para
  • 其他 API 具有稍微复杂的入口点,通常涉及为要编写的 API 代码创建特定的上下文。例如,Canvas API 的上下文对象是通过获取要绘制的 <canvas> 元素的引用来创建的,然后调用它的HTMLCanvasElement.getContext()方法:
var canvas = document.querySelector("canvas");
var ctx = canvas.getContext("2d");
  • 然后,我们想通过调用内容对象 (它是CanvasRenderingContext2D的一个实例) 的属性和方法来实现我们想要对画布进行的任何操作,例如:
var requestURL ="https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json";
var request = new XMLHttpRequest();
request.open("GET", requestURL);
request.responseType = "json";
request.send();request.onload = function () {var superHeroes = request.response;populateHeader(superHeroes);showHeroes(superHeroes);
};

用事件处理状态的变化 

状态机,Vue框架设计data响应数据(数据驱动视图)、VueX管理状态(说白了就是数据)、promise中状态改变(pending->fulfill/rejected)

这篇关于从客户端WebAPI视角下解读前端学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1056376

相关文章

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二