API, definition and list of those you need to know

Before starting any project, it would be nice to study the APIs available on the network.

Along with the programming language, the API is the main tool of the programmer and avoids rewriting existing code.

The API (Application Programming Interface) is a set of
- function headers,
- classes and their members (for object-oriented language),
which are provided by a software library, web service, or operating system so that they can be used to program the software that uses them.

The implementation of functions and classes that may be hardware-specific differs from an independent API. However, the API exists only if there is at least one implementation.

Hardware Access... Seagate SSD

Copyright question

We must distinguish between API and library. The same API can have different implementations, as the lawsuit between Oracle and Google reminds us. The latter developed a specific implementation of the standard Java API. This prompted Oracle, in an attempt to return royalties to Android, to demand that the decision be made in favor of API copyright, which would be very harmful. Following the trial, it was stated that the use of the API in the United States is subject to fair use, an exception to copyright. Europe, for its part, has ruled that APIs are not copyrighted.

On April 4, 2021, the US Supreme Court upheld the principle that the use of the API falls under "fair use" and does not violate the copyright of the code as a whole.

The definition of such an interface is not limited to libraries; An API can also be defined for a target application so that it can communicate with other applications.

API characteristics

Language dependence

The API can be used in a single programming language or be language independent. In the second case, an intermediate language of type XML can be used as the data format for queries to functions and methods.

User license

It is either under a free license and can be used for free by any programmer, or under a proprietary license and is available only to a limited community, as is the case, for example, with the API of game consoles.

Language level

We distinguish between a high-level API in terms of programming languages โ€‹ โ€‹ such as graphical APIs and an ABI (Application Binary Interface) closer to a system such as Linux Standard Base or hardware driver interfaces.

List of APIs and General Purpose Libraries

Obviously, the choice of API depends on the programming language (Java has a full standard API) and the nature of the project. However, some APIs are common to all projects for this type of application...
This list contains libraries with the standard API and others that do not. In the latter case, the library must be included in the application to avoid future incompatibilities.

OpenGL.
Portable 2D and 3D graphics library.

WebGL.
This is an interface to OpenGL code on browsers .

SDL.
Graphics library for creating computer games.

Windows API.
Windows programming.

Chrome.
Chrome browser code has become a replacement for the C runtime or Windows API, with the advantage of portability. Indeed, the code contains most of the resources needed to create an application backend.

Portable Runtime Project
Like Chromium, but designed specifically for it.

WebAPI ะพั‚ Mozilla.
A set of interfaces for mobile devices and their parts, currently being developed, but already used in Firefox OS.

Google Map API.
Use of geographic maps on the website.

YouTube API.
For using YouTube videos.