API-应用程序编程接口
乍一听好长的名字,其实其本质很简单,API可以通俗地理解为平时编程所需的一种技术,一种功能实现方式,像软件的插件,操作系统的小组件一样,给程序员提供极为便利的方法去实现想要的功能,所以!其实API就是一个方法,方法是什么——函数。所以API其实就是一个封装好的函数(Application Programming Interface)API,叫做应用程序编程接口。所以,API一般是别人写好的一个方法,一个函数,一个类,一个对象等等。
API一般是基于操作系统上形成的,平时程序员要通过代码操作电脑,就要写很多很多功能,所以操作系统就会包含这些代码,把它们封装成一个函数,就不用程序员自己写,直接调用这些函数就可以实现功能。操作系统 API 数目众多,官方必须提供详细的说明文档(Windows API 的说明文档叫 MSDN),程序员在使用 API 时,需要频繁地查阅这些文档。
Windows API控件与消息函数 ,如:
1.AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小。
2.AnyPopup 判断屏幕上是否存在任何弹出式窗口。
3.ArrangeIconicWindows 排列一个父窗口的最小化子窗口。
各种编程语言自带的标准库其实也是API。这些API由编程语言的开发者们编写,安全、高效、健壮,为我们实现了常见的功能,让我们不用再重复造轮子。
C语言 API 以函数的形式呈现,例如 printf()、scanf()、fopen() 等。
Java API 主要以类的形式呈现,例如 String、Thread、Date 等。
C++ 是在C语言的基础上进行的扩展,所以 C++ API 既包含函数也包含类。
第三方库(框架)
libxml2——xml的c语言版库,2个项目使用过,win和Linux下都很犀利~~比较快捷
CURL—— 这个用的主要是使用了他的封装的http和https的请求,比较犀利,其中包含了openssl的内容
iconv——功能强大的编码格式转化库,UTF8,Unicode等互相转化很方便
openssl——C的开源密库,可以进行证书加密和https的访问的模拟提交可以和CURL配合使用
cocos2d——2D游戏引擎,相比较传统的UI自己控制的重画
OpenCV——开源图像库
还有很多第三方(非官方)的组织机构、公司、个人提供的代码,也是一种 API。这些代码有的免费,有的收费;有的开源,有的闭源。这些代码大都针对某个特定的应用领域编写,有时候被称为框架或者库。例如基于C语言的图形界面库GTK,基于C++的网络库ACE,基于Java的大数据处理平台Hadoop,基于Python的Web开发框架Django,基于JavaScript的前端开发框架React。
全球最大的代码托管网站GitHub也贡献了很多优秀的代码,它们大都开源免费。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。。这些第三方的API数目众多,种类丰富,我们应该大胆去使用,尽量避免重复造轮子。