移动WEB开发会用到的 5 个API

简介: 作为开发人员,经常使用 Web API 来轻松实现复杂的功能,或者创建它们来抽象复杂性。Web API 允许服务之间进行对话,分享信息到朋友圈或显示地图等操作。

作为开发人员,经常使用 Web API 来轻松实现复杂的功能,或者创建它们来抽象复杂性。Web API 允许服务之间进行对话,分享信息到朋友圈或显示地图等操作。

可以将用于构建客户端 Web 应用程序的  Web API  分为两类:

  • 浏览器API:是 JavaScript 可以正常使用的 API,允许开发人员轻松实现功能。 例如 DOMFetch、音频、视频、WebGLnotifications 等等
  • 第三方开发API :这些接口通常不是内置在浏览器中的,但是由第三方平台提供的在特定环境中可以使用的API,如微信、微博分享等等

下面总结Web项目中经常接触到的API:

  • 地理位置API:允许访问检索主机设备的位置信息
  • 文档对象模型API:DOM 是 HTML 文档的 API,它是 JavaScript 和 HTML 文档之间的接口,有着大量的接口列表,例如 Document对象接口、Window对象接口等
  • 历史记录API:在大多数路由器实现中都是抽象的。该 API 能够跟踪和修改浏览器的 URL 和历史记录,以及通过 JavaScript 访问浏览历史
  • 画布API:允许通过使用 <canvas> 元素在页面上显示不同的视觉图形,对于HTML游戏和图表很有用
  • 动画API:支持在页面上进行协调的视觉更改,它结合了CSS过渡/动画和基于javascript的动画的优点。

在本文中,将探索一些提供移动友好功能的API,包括从社交媒体分享和剪贴板操作到联系选择器、语音和通知功能相关的内容。下面就来总结一下移动WEB的开发常用的API。

分享API

可以在网站上实现共享功能,它给人一种移动本地共享的感觉,可以共享文本、文件和设备上其他应用程序的链接。

可以通过 navigator.share 方法访问:

if (navigator.share) {
    navigator
        .share({
            title: "DevPoint开发技能分析",
            text: "WEB开发技能分析总结",
            url: "https://www.devpoint.cn",
        })
        .then(() => console.log("分享成功"))
        .catch((error) => console.log("分享失败", error));
}

上面的代码片段实现了如何使用普通的JavaScript共享文本,下面定义一个方法,返回按钮并完成绑定 onclick 事件:

import React from "react";
function ShareButton({ label, text, title }) {
    const shareDetails = { title, text };
    const handleSharing = async () => {
        if (navigator.share) {
            try {
                await navigator
                    .share(shareDetails)
                    .then(() => console.log("分享成功"));
            } catch (error) {
                console.log(`分享失败:${error}`);
            }
        } else {
            console.log("此浏览器目前不支持");
        }
    };
    return (
        <button onClick={handleSharing}>
            <span>{label}</span>
        </button>
    );
}
export default ShareButton;

联系选择器API

大多数移动应用程序可能都会涉及访问联系人信息,可以使用 navigator.contacts 实现,它接受两个参数:属性、一个包含要访问的属性的数组和选项。

const props = ["name", "tel"];
const opts = { multiple: true };
async function getContacts() {
    try {
        const contacts = await navigator.contacts.select(props, opts);
        handleResults(contacts);
    } catch (ex) {
        // 错误
    }
}

剪切板API

剪贴板操作,如复制、剪切和粘贴,是移动应用程序中最常见的功能。剪贴板API允许web用户访问系统剪贴板并执行基本的剪贴板操作。

过去可以使用 DOM 对象的 document.execCommand 与系统剪贴板进行交互。但是,最新的异步剪贴板 API 提供了直接读取和写入剪贴板内容的访问权限,更加详细的介绍可以参阅《WEB 剪切板操作navigator.clipboard的使用》。

语音API

如今,大多数移动应用程序都加入了语音识别和文本转换语音功能,以改善易用性和用户体验,语音API为浏览器带来了这些功能。在本文中,只讨论语音识别 SpeechRecognition 接口,使用语音识别接口进行语音识别,使用设备默认的语音识别系统:

const SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;
const recognition = new SpeechRecognition(); // new SpeechRecognition object
recognition.continuous = false;
recognition.lang = "cn-ZH";
recognition.interimResults = false;
recognition.onstart = function () {
    console.log("请对着麦克风说话");
};
recognition.onspeechend = function () {
    // 当用户完成说话
    recognition.stop();
};
// 当语音识别服务返回结果时运行
recognition.onresult = function (event) {
    var transcript = event.results[0][0].transcript;
    var confidence = event.results[0][0].confidence;
};
// 开始识别
recognition.start();

通知API

Notification API经常与Push API互换,但它们是不同的。Notification API 的目标是向用户显示信息,而Push API允许 service worker 处理来自服务器的推送消息,即使设备处于非活动状态。

现在博客和Web应用广泛使用这种方法,当服务有变化或更新时通知用户。这个API的一个常见情况是,当的应用程序是PWA,需要用户刷新浏览器以获得新的应用程序更新。

JavaScript 有一个 Notification 构造函数:

const message = "升级获取新功能";
const notification = new Notification("保存PWA应用", { body: text });

总结

在本文中,简单总结了一下Web项目开发常用的API及移动应用开发相关的API。


相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
4天前
|
API 开发工具 数据库
开发一份API接口,需要注意这些,看你做到了几项
本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。
37 6
开发一份API接口,需要注意这些,看你做到了几项
|
11天前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
37 3
如何使用Python开发API接口?
|
7天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
6天前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
4天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
19 1
|
7天前
|
监控 搜索推荐 安全
探究亚马逊详情API接口:开发与应用
在数字化时代,亚马逊作为全球领先的电商平台,为商家和消费者提供了丰富的商品信息和便捷的购物体验。本文深入探讨了亚马逊详情API接口的获取与运用,帮助开发者和商家实时监控商品数据、分析市场趋势、优化价格策略、分析竞争对手、构建推荐系统及自动化营销工具,从而在竞争中占据优势。文章还提供了Python调用示例和注意事项,确保API使用的安全与高效。
30 3
|
11天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
35 4
|
10天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
18 2
|
12天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
27 1
|
6天前
|
缓存 前端开发 API
探索后端开发中的API设计原则
【10月更文挑战第37天】本文旨在引导读者理解API设计的核心理念,通过简明的语言和直观的示例,揭示如何构建高效、稳定且易于维护的后端接口。我们将深入浅出地探讨RESTful API的设计规范,并通过一个简易的代码样例,展示如何在实战中应用这些原则。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的参考和启示。