API 简单理解

来源:互联网 发布:可视化编程 编辑:程序博客网 时间:2024/04/30 20:09

作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的。我们这篇API入门教程的目的,就是要把API函数的来龙去脉告诉大家,破除对API函数的畏惧,使它成为我们编程的好助手。

大家可能在许多书上看到过API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。对这个定义的理解,需要追溯到操作系统的发展历史上,当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。

但是,那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。

这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC 、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。

实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。

这也是API函数使用的场合,所以我们对待API函数不必刻来研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。正如某位大虾所说:API不要去学,在需要的时候去查API帮助就足够了。

补充:
api就是留给用户的接口,比如windows编程中一个MessageBox函数就可以调出一个对话框,Liunx中一个fork函数可以创建一个进程,等等。这些接口是给程序员用来开发自己的应用程序的,程序员可能并不需要知道fork函数的完整实现的代码,但只要知道调用之后可以创建一个进程既可以了。
目前有三个最有名,最常用的API:windows下的win32API;Unix/Linux下的POSIX API ;Java虚拟机(JVM)下的 java API。

往往API具备以下几个特征:1)在系统中是最外层的接口,是供用户直接调用的;2)稳定:如果系统的接口经常变得话,用户肯定疯了;3)定义清楚:方法名应该一目了然,参数数据结构良好,文档丰富清晰;4)多形式:指的是API可以用java进行export,以库的形式提供,也可以通过REST的方式进行访问等等。

API不一定是代码…

例如…

我写个程序,然后告诉调用者,你要引用某个文件然后调用某个函数就是实现某功能,这是API…

我写个程序,然后告诉调用者,你只要按我给你的格式读写某个文本文件就能实现某功能,这也是API…

比如使用JQuery 就是调用其API

0 0