API,全称Application Programming Interface,即应用程序编程接口。
API是一些预定义函数,目的是用来提供应用程序与开发人员基于某软件或者硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。

API就是操作系统给应用程序的调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。
在Windows中,系统API是以函数调用的方式提供的。

SDA和API
可以认为API是包含在SDK中的:SDK是一系列文件的组合,包括lib、dll、.h、文档、示例等;API是对程序而言的,提供用户编程时的接口,即一系列模块化的类和函数。

API与GUI
两者都属于直接用户接口,不同的是API接口属于一种操作系统或程序接口,但是GUI接口属于一种图形操作系统。

从严格的技术角度来看,API是一组访问基于Internet的服务或应用程序的标准和说明。大多数API是由服务提供商设计的,并为如何与特定服务交互提供指导。

在大多数情况下,API描述了服务的功能,解释了它如何被访问和使用,以及它将接受什么样的格式作为输入。好吧,对于普通读者来说,所有这些可能听起来都过于复杂,所以我们会尝试以更加平易近人的方式解释API。

让我们与英语进行平行 - 只要将软件开发看作是一种整体的语言。API作为某个软件的字典。这是一个项目,其中的一些词是例证和定义。

不懂英语的人使用字典来理解某些单词和短语的含义。随后,他们尝试使用他们从字典中拾取的单词来撰写句子。API的功能相同。

它允许开发人员将某些功能集成到他们的应用程序中,而无需编写一段代码。

API如何工作?

那么,他们背后的主要想法是,他们允许开发人员,因为缺乏更好的术语,更快地开发更可靠的软件。如果你是一名开发人员,而不是花费无数时间来建立你的应用程序的所有功能,你可以简单地使用API来更快地完成工作。

API允许您通过将其连接到您的应用程序,使用已开发的软件丰富您的代码。

API通常负责很多繁重的工作,无论是在移动和数字世界。API几乎负责现代用户所做的一切。他们让我们买衣服,点餐,评价歌曲,甚至下载软件。

API在行动中的示例

他们在后台工作,相对不被注意,这使得我们所有人都期望的互动性。为了解释它们是如何工作的,我们将看看几个使用中的API的真实实例。

假设您正在预订网站上寻找房间。通过该网站的表格,您可以选择想要停留的城市,访问入住和退房日期,查看免费房间数量,等等。填写完表格后,只需点击“搜索”按钮即可。

每个预订网站汇总了来自多个不同酒店的信息。因此,当用户点击“搜索”按钮时,该网站将连接每个酒店的API并与其进行交互。这为网站提供了用户正在查找的确切搜索结果。

酒店的API可在几秒钟内完成。

API开发

虽然没有通用的规则可以将好的API与不好的API分开,但您可以使用某些工具和方法来确保您的API尽可能出色。例如,StopLight允许用户加速设计过程10倍。

实际上,有一些功能可以帮助您确定API是否良好。

API文档

实际上,每个项目都需要有适当的文档开发,API绝对不是该规则的例外。每个API都需要有明确的指导方针,以确保与不同应用程序的无缝集成。

API测试

为了确保您的API稳定,您需要对其进行多次测试。让我们面对现实,没有一个程序员想要将他们的应用程序连接到不完全稳定的应用程序。这就是API测试如此重要的原因。

API封装

您必须意识到,一个伟大的API是由它所集成的软件的最终用户看不到的。只要看看这样 - 当一个人访问一家网上商店时,他们应该只专注于购买。如果不了解整个流程的结构和功能如何,他们的用户体验将会更加愉快。

编程中的api指什么?是什么意思?相关推荐

  1. Linux 编程中的API函数和系统调用的关系【转】

    转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...

  2. linux启动程序api编程,Linux编程中关于API函数与系统调用间关系

    用户态xyz()函数,内核最终一般会调用形如sys_xyz()的服务例程来处理(不过也有一些例外,这里暂时不考虑) 函数xyz()是直接提供给用户编程使用的.图中"SYSCALL" ...

  3. 编程中常见的代码词汇汇总

    抽象类(abstract class):抽象类不能创建对象,主要用来创建子类.Java中的抽象类使用 abstract 修饰符定义. 抽象数据类型(abstract data type ADT):抽象 ...

  4. VC++编程中的文件操作API和CFile类

    VC++编程中的文件操作API和CFile类 在VC编程中,操作文件的方法主要有两种:利用API函数和MFC的CFile类.微软在其中封装了文件的一般操作,下面我就介绍一下如何利用这两种方法实现文件操 ...

  5. win32 C++制作美观按钮,告别win32 API编程中默认的灰色按钮

    使用win32 C++制作美观按钮,当鼠标移入/移出按钮时改变按钮背景颜色,类似HTML网页中的效果,告别win32 API编程中默认的灰色按钮,效果图见下面动图和视频. win32 C++制作美观按 ...

  6. C语言面向对象编程的类是指,c语言面向对象编程中的类_C ++中的面向对象编程...

    c语言面向对象编程中的类 Object Oriented programming is a programming style that is associated with the concept ...

  7. 网络编程中的关键问题总结

    网络编程中的关键问题总结 总结下网络编程中关键的细节问题,包含连接建立.连接断开.消息到达.发送消息等等: 连接建立 包括服务端接受 (accept) 新连接和客户端成功发起 (connect) 连接 ...

  8. Java之基础(1) - 编程中“为了性能”尽量要做到的一些地方

    最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Ja ...

  9. TCP/UDP编程中的问题汇总

    TCP/UDP编程中的问题汇总 TCP和UDP发送大文件的问题. 答: 发送端: 发送时,先发送文件的名称及大小等信息. 然后,设置一个缓冲区的大小,假设为4K. 再循环读4K的文件内容,并发送,直到 ...

最新文章

  1. Java HashMap涉及的数据结构及实现
  2. 电气论文实现:从大规模用户中找出异常用电用户
  3. Taro+react开发(74):taro架构使用
  4. expdp导出 schema_Oracle使用数据泵在异机之间导出导入多个 schema
  5. 最短哈密尔顿圈matlab解法_复杂制造过程最优哈密尔顿圈算法的MATLAB仿真与分析.doc...
  6. html为什么div移动不了,如何使用Jquery将html从一个div移动到另一个div而不会破坏javascript...
  7. mysql 语句优化的几种方式(总结)
  8. 检测到非法调试,F12被管理员禁用解决方法
  9. adadelta算法_c – 尝试理解adadelta算法
  10. 继电保护原理5-变压器保护
  11. Java可以加速播放的播放器,基于live555的rtsp播放器之十二:使用soundtouch加速音频播放...
  12. cmos逻辑门传输延迟时间_【转载】CMOS与TTL电路的区别
  13. Android 最常用的设计模式八 安卓源码分析—工厂方法模式factory
  14. 计算机网络——集线器与交换机
  15. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:Mega + ESP8266 + MQ2烟雾 + MQ3酒精 + MQ7一氧化碳+ OLED + 阿里云物联网平台 + 微信小程序
  16. 今天来和大家一起分享一下好玩的游戏---美国农场主
  17. 9 概率机器人 Probabilistic Robotics 二值贝叶斯滤波 占据栅格地图 occupancy grid mapping
  18. bzoj5185 [Usaco2018 Jan]Lifeguards(dp+单调队列优化)
  19. 通过双目深度相机获取三维坐标
  20. 《开源合辑-(游戏/娱乐-角色扮演)之(Java)》

热门文章

  1. Unity 3D 入门小游戏 小球酷跑(下)
  2. 7-1 删除字符串中的子串 (20分)
  3. 51单片机入门自学方法
  4. 独木桥(bridge)
  5. FinalShell高级版离线激活
  6. 23种设计模式详解与示例代码(详解附DEMO)
  7. solution--智力大冲浪
  8. js将秒转化为小时和分钟的形式
  9. OpenCV中读取、显示、保存图像及获取图像属性操作讲解及演示(附源码)
  10. python课程介绍的主要内容有哪些_Python课程包括哪些内容?