Translate

Monday, August 4, 2014

APIs – What They Are and What They Do

API stands for application programming interface in the language of computer programming. These kinds of applications have a variety of uses, but the main thing they are created for is to specify the modality in which some software components should interact with each other in order to make the whole system functional.

Starting from APIs’ main purpose, they are able to access databases or computer hardware such as video cards or hard disk drives, just as they can also be used to make the work of programming graphical user interface components easier. Another thing that you should be aware of is that there are two main types of APIs:

Sometimes APIs come in the form of libraries that contain specifications for routines, object classes, variables and data structures. 

Other times, especially when we are talking about SOAP and REST services, APIs come in the form of specifications of remote calls which are exposed to APIs clients.

What are the forms in which we can find an API’s specification? Well, these kinds of specifications can come in a variety of forms, including: the programming language’s libraries, such as Standard Template Library in C++ and Java API; International Standard, such as POSIX; and vendor documentation, such as the Microsoft Windows API. Some examples of APIs are the following ones: ASPI for SCSI device interfacing, Cocoa and Carbon for Macintosh, DirectX for Microsoft Windows, EHLLAPI, Java API, ODBS for Microsoft Windows, OpenAL cross-platform sound API, OpenCL cross-platform API for general-purpose computing for CPUs & GPUs,  OpenMP API, OpenGL cross-platform graphics API, Server Application Programming Interface (SAPI), Simple DirectMedia Layer (SDL).


What you should avoid at all costs is to mistake APIs for ABIs. In order to do so, you have to understand the differences between them: ABI stands for application binary interface and, of course, is a binary interface, whereas API stands for application programming interface and is source code based. 

If you want to learn more about how API's can help you succeed then check this out:

1 comment: