Knowledge

API

Source đź“ť

190: 269: 702:. In the social media space, web APIs have allowed web communities to facilitate sharing content and data between communities and applications. In this way, content that is created in one place dynamically can be posted and updated to multiple locations on the web. For example, Twitter's REST API allows developers to access core Twitter data and the Search API provides methods for developers to interact with Twitter Search and trends data. 658:) format. An example might be a shipping company API that can be added to an eCommerce-focused website to facilitate ordering shipping services and automatically include current shipping rates, without the site developer having to enter the shipper's rate table into a web database. While "web API" historically has been virtually synonymous with 339:. This framework treated the application programming interface separately from other interfaces, such as the query interface. Database professionals in the 1970s observed these different interfaces could be combined; a sufficiently rich application interface could support the other interfaces as well. 428:
interfaces and agents became more widespread than open ones, but the idea of the API as a data interface took hold. Because web APIs are widely used to exchange data of all kinds online, API has become a broad term describing much of the communication on the internet. When used in this way, the term
1235:
When you hear the acronym "API" or its expanded version "Application Programming Interface," it is almost always in reference to our modern approach, in that we use HTTP to provide access to machine readable data in a JSON or XML format, often simply referred to as "web APIs." APIs have been around
851:
In the interest of clarity, API documentation may include a description of classes and methods in the API as well as "typical usage scenarios, code snippets, design rationales, performance discussions, and contracts", but implementation details of the API services themselves are usually omitted. It
831:
published their annual “State of the Internet” report, showcasing the growing trend of cybercriminals targeting public API platforms at financial services worldwide. From December 2017 through November 2019, Akamai witnessed 85.42 billion credential violation attacks. About 20%, or 16.55 billion,
874:
It is possible to generate API documentation in a data-driven manner. By observing many programs that use a given API, it is possible to infer the typical usages, as well the required contracts and directives. Then, templates can be used to generate natural language from the mined data.
822:
or rescinded. This usually means that part of the API should be considered a candidate for being removed, or modified in a backward incompatible way. Therefore, these changes allow developers to transition away from parts of the API that will be removed or not supported in the future.
718:
by hiding the implementation details of the modules so that users of modules need not understand the complexities inside the modules. Thus, the design of an API attempts to provide only the tools a user would expect. The design of programming interfaces represents an important part of
639:(SLA) to specify the functional provider and expose the service path or URL for its API users. An API approach is an architectural approach that revolves around providing a program interface to a set of services to different applications serving different types of consumers. 889:
In 2010, Oracle Corporation sued Google for having distributed a new implementation of Java embedded in the Android operating system. Google had not acquired any permission to reproduce the Java API, although permission had been given to the similar OpenJDK project. Judge
2056: 826:
Client code may contain innovative or opportunistic usages that were not intended by the API designers. In other words, for a library with a significant user base, when an element becomes part of the public API, it may be used in diverse ways. On February 19, 2020,
493:
are also APIs. By mapping the features and capabilities of one language to an interface implemented in another language, a language binding allows a library or service written in one language to be used when developing in another language. Tools such as
513:: a framework can be based on several libraries implementing several APIs, but unlike the normal use of an API, the access to the behavior built into the framework is mediated by extending its content with new classes plugged into the framework itself. 121:
of how a system works, exposing only those parts a programmer will find useful and keeping them consistent even if the internal details later change. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing
847:
Traditional documentation files are often presented via a documentation system, such as Javadoc or Pydoc, that has a consistent appearance and structure. However, the types of content included in the documentation differs from API to API.
843:
Documentation is crucial for the development and maintenance of applications using the API. API documentation is traditionally found in documentation files but can also be found in social media such as blogs, forums, and Q&A websites.
342:
This observation led to APIs that supported all types of programming, not just application programming. By 1990, the API was defined simply as "a set of services available to a programmer for performing certain tasks" by technologist
759:
allow approved third-party developers to directly order rides from within their apps. This allows the companies to exercise quality control by curating which apps have access to the API, and provides them with an additional revenue
248:. This cabinet also contained what Wilkes and Wheeler called a "library catalog" of notes about each subroutine and how to incorporate it into a program. Today, such a catalog would be called an API (or an API specification or 591:, specific standards for communication that allow different technologies to work together, regardless of language or platform. For example, the Java Database Connectivity API allows developers to query many different types of 299:
conference in 1968. The authors of this paper use the term to describe the interaction of an application—a graphics program in this case—with the rest of the computer system. A consistent application interface (consisting of
2064: 855:
Restrictions and limitations on how the API can be used are also covered by the documentation. For instance, documentation for an API function could note that its parameters cannot be null, that the function itself is not
926:, but Oracle vowed to appeal the decision. Oracle won on its appeal, with the Court of Appeals for the Federal Circuit ruling that Google's use of the APIs did not qualify for fair use. In 2019, Google appealed to the 906:
To accept Oracle's claim would be to allow anyone to copyright one version of code to carry out a system of commands and thereby bar all others from writing its different versions to carry out all or part of the same
800:
An important factor when an API becomes public is its "interface stability". Changes to the API—for example adding new parameters to a function call—could break compatibility with the clients that depend on that API.
97:
who is incorporating it into software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to
790:
APIs to allow customers and resellers access to their infrastructure information, DDoS stats, network performance or dashboard controls. Access to such APIs is granted either by “API tokens”, or customer status
362:
became common in the 1970s and 80s, programmers wanted to call libraries located not only on their local computers, but on computers located elsewhere. These remote procedure calls were well supported by the
89:, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the 1468: 852:
can take a number of forms, including instructional documents, tutorials, and reference works. It'll also include a variety of information types, including guides and functionalities.
860:. Because API documentation tends to be comprehensive, it is a challenge for writers to keep the documentation updated and for users to read it carefully, potentially yielding bugs. 902:
in the U.S. and that a victory for Oracle would have widely expanded copyright protection to a "functional set of symbols" and allowed the copyrighting of simple software commands:
2631:
Monperrus, Martin; Eichberg, Michael; Tekes, Elif; Mezini, Mira (3 December 2011). "What should developers be aware of? An empirical study on the directives of API documentation".
804:
When parts of a publicly presented API are subject to change and thus not stable, such parts of a particular API should be documented explicitly as "unstable". For example, in the
257: 1025:
API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran on many architectures, including Unix and Microsoft Windows platforms.
840:
API documentation describes what services an API offers and how to use those services, aiming to cover everything a client would need to know for practical purposes.
450:
is one type of API. The API describes and prescribes the "expected behavior" (a specification) while the library is an "actual implementation" of this set of rules.
912: 1871: 731:
APIs are one of the more common ways technology companies integrate. Those that provide and use APIs are considered as being members of a business ecosystem.
2676: 618:
object, invokes the corresponding method on the remote object, using the remoting protocol, and acquires the result to be used locally as a return value.
2934: 456:
The separation of the API from its implementation can allow programs written in one language to use a library written in another. For example, because
453:
A single API can have multiple implementations (or none, being abstract) in the form of different libraries that share the same programming interface.
2799: 409:
web APIs saw widespread commercial adoption beginning in 2000 and continuing as of 2021. The web API is now the most common meaning of the term API.
401:(REST) and described the idea of a "network-based Application Programming Interface" that Fielding contrasted with traditional "library-based" APIs. 17: 3156: 2361:. Lecture Notes in Computer Science. Vol. 6603. International Conference on Fundamental Approaches to Software Engineering. pp. 416–431. 2880: 635:
Web APIs are the defined interfaces through which interactions happen between an enterprise and applications that use its assets, which also is a
2906: 560:(Win32) library, so older applications may run on newer versions of Windows using an executable-specific setting called "Compatibility Mode". 2778: 2256: 1366:. AFIPS 1968 Fall Joint Computer Conference. Vol. I. San Francisco, California: Association for Computing Machinery. pp. 533–544. 3025:
Argues that "APIs are far from neutral tools" and form a key part of contemporary programming, understood as a fundamental part of culture.
2500: 3618: 3103: 946: 1075: 786:. Not all public APIs are generally accessible by everybody. For example, Internet service providers like Cloudflare or Voxility, use 536:, for example, specifies a set of common APIs that aim to enable an application written for a POSIX conformant operating system to be 304:
subroutine calls) was intended to free the programmer from dealing with idiosyncrasies of the graphics display device, and to provide
1069: 2603: 1028: 2131: 650:(HTTP) request messages, along with a definition of the structure of response messages, usually in an Extensible Markup Language ( 3062: 3008: 265:
considers that Wilkes and Wheeler "latently invented" the API, because it is more of a concept that is discovered than invented.
832:
were against hostnames defined as API endpoints. Of these, 473.5 million have targeted financial services sector organizations.
3432: 3403: 2827: 2733: 2475: 2419: 2374: 209:. This origin is still reflected in the name "application programming interface." Today, the term is broader, including also 165:
the underlying implementation and only exposing objects or actions the developer needs. While a graphical interface for an
1359: 953: 249: 169:
might provide a user with a button that performs all the steps for fetching and highlighting new emails, an API for file
2856: 3036: 2011: 1526: 1488: 1451: 1379: 1131: 927: 884: 380: 225: 162: 2156: 516:
Moreover, the overall program flow of control can be out of the control of the caller and in the framework's hands by
2571: 2282: 2086: 1813: 1556: 1199: 193:
A diagram from 1978 proposing the expansion of the idea of the API to become a general programming interface, beyond
3623: 3207: 3151: 2706:
Bruch, Marcel; Mezini, Mira; Monperrus, Martin (2010). "Mining subclassing directives to improve framework reuse".
2198: 1875: 1699: 922:
In 2016, following a two-week trial, a jury determined that Google's reimplementation of the Java API constituted
3126: 3096: 1285:(Report). Washington, DC: U.S. Department of Commerce, National Bureau of Standards. April 1981. pp. 45–47. 699: 675: 398: 1968: 1475:. SIGMOD Workshop 1974. Vol. 2. Ann Arbor, Michigan: Association for Computing Machinery. pp. 83–113. 479:
could consist primarily of basic routines to execute code, manipulate data or handle errors while an API for an
3319: 3217: 2841: 2684: 691: 683: 547: 1911: 1726: 3597: 3146: 3131: 1889: 671: 596: 503: 3192: 3177: 3136: 2525:
Dekel, Uri; Herbsleb, James D. (May 2009). "Improving API Documentation Usability with Knowledge Pushing".
564: 510: 457: 621:
A modification of the proxy object will also result in a corresponding modification of the remote object.
3358: 3305: 2327: 1404: 647: 607: 480: 461: 364: 252:) because it instructs a programmer on how to use (or "call") each subroutine that the programmer needs. 3061:– Cory Ondrejka \ February 28, 2014 \ " ...proposed a public API to let computers talk to each other". ( 1516: 189: 3373: 3212: 3089: 3075: 1546: 1290: 1189: 1106: 1091: 995: 476: 336: 930:
over both the copyrightability and fair use rulings, and the Supreme Court granted review. Due to the
273: 3408: 3227: 3187: 3182: 3141: 1410: 1282: 214: 2535: 177:
that copies a file from one location to another without requiring that the developer understand the
3451: 3338: 3202: 1668: 1254: 1151: 1111: 1034: 2716: 1443:
E. F. Codd and Relational Theory: A Detailed Review and Analysis of Codd's Major Database Writings
3197: 1415: 808:
library, the parts that are considered unstable, and that might change soon, are marked with the
636: 588: 332: 70:. A document or standard that describes how to build such a connection or interface is called an 3585: 3524: 3413: 3393: 3342: 3300: 2987:"Supreme Court of the United States, No. 18–956, GOOGLE LLC, PETITIONER v. ORACLE AMERICA, INC" 2911: 2711: 2530: 2450:
2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)
1663: 1086: 472: 430: 376: 351: 178: 161:
In building applications, an API (application programming interface) simplifies programming by
107: 3028: 2986: 2034: 1939: 1788: 1625: 1573: 1441: 3368: 3334: 3236: 3172: 1651: 1469:"The relational and network approaches: Comparison of the application programming interfaces" 1423: 1101: 1080: 720: 698:
technologies. Web APIs allow the combination of multiple APIs into new applications known as
643: 600: 305: 63: 3565: 3539: 695: 517: 425: 277: 138: 31: 1219: 8: 3534: 3486: 3363: 2551: 2445: 2091: 1437: 1141: 1096: 828: 715: 576: 447: 322: 316: 206: 194: 142: 94: 2398:"guava-libraries – Guava: Google Core Libraries for Java 1.6+ – Google Project Hosting" 1773: 153:. APIs originated in the 1940s, though the term did not emerge until the 1960s and 70s. 3471: 3378: 2739: 2658: 2640: 2577: 2481: 2453: 2179: 1673: 1236:
almost as long as computing, but modern web APIs began taking shape in the early 2000s.
1162: 1064: 783: 711: 241: 118: 2446:"Empirical evidence of large-scale diversity in API usage of object-oriented software" 1837: 471:
API use can vary depending on the type of programming language involved. An API for a
3580: 3529: 3461: 3418: 3259: 3016: 2835: 2729: 2567: 2471: 2370: 2356: 2007: 1996: 1809: 1552: 1522: 1494: 1484: 1447: 1385: 1375: 1294: 1195: 999: 990: 980: 931: 291: 150: 82:
an API. The term API may refer either to the specification or to the implementation.
3058: 3043:; API (also known as Application Program Interface) is the method for calling that ' 2581: 2183: 1677: 1610: 1597:
Dotsika, Fefie (August 2010). "Semantic APIs: Scaling up towards the Semantic Web".
556:
has shown a strong commitment to a backward-compatible API, particularly within its
220:
The idea of the API is much older than the term itself. British computer scientists
3560: 3112: 2806: 2743: 2721: 2680: 2662: 2650: 2559: 2485: 2463: 2362: 2171: 2106: 2063:. Institute of Electrical and Electronics Engineers. pp. 13–15. Archived from 1803: 1655: 1606: 1476: 1367: 1331: 1286: 748: 529: 490: 359: 229: 210: 146: 123: 59: 3504: 3466: 3437: 2366: 1364:
AFIPS '68: Proceedings of the December 9–11, 1968, Fall Joint Computer Conference
1146: 864: 809: 421: 417: 39: 2962: 3590: 3514: 3476: 3348: 2231: 2003: 1473:
Proceedings of 1974 ACM-SIGMOD Workshop on Data Description, Access and Control
245: 221: 86: 2654: 2467: 1498: 1389: 3612: 3499: 3456: 3295: 3249: 3044: 3040: 3032: 3020: 2725: 2397: 1121: 1116: 1059: 891: 857: 615: 326: 205:
initially described an interface only for end-user-facing programs, known as
2563: 1371: 272:
Although the people who coined the term API were implementing software on a
268: 3383: 2939: 2935:"Google asks Supreme Court to overrule disastrous ruling on API copyrights" 2708:
2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)
1575:
Architectural Styles and the Design of Network-based Software Architectures
1512: 1327: 967: 805: 710:
The design of an API has significant impact on its usage. The principle of
687: 679: 606:
Therefore, remote APIs are useful in maintaining the object abstraction in
484: 413: 391:
Architectural Styles and the Design of Network-based Software Architectures
386: 344: 262: 170: 166: 2175: 1480: 102:
that portion of the API. The calls that make up the API are also known as
3509: 3491: 3274: 3264: 3254: 1049: 963: 899: 779: 771: 659: 611: 568: 557: 1656:"The design and implementation of a language for extending applications" 424:, distributed data interface rather than a software behavior interface. 2757: 2501:"Akamai: Cybercriminals are attacking APIs at financial services firms" 1402: 1054: 775: 603:
of functions that operate remotely, but appear local to the developer.
237: 174: 103: 2257:"Private, Partner or Public: Which API Strategy Is Best for Business?" 3446: 3353: 3279: 3244: 2283:"Car Service APIs Are Everywhere, But What's In It For Partner Apps?" 1973: 1704: 971: 767: 553: 394: 133:, which allow communication between computers that are joined by the 3081: 3076:
Forrester : IT industry : API Case : Google v. Oracle
2328:"Car Service APIs Are Everywhere, But What's In It For Partner Apps" 2054: 1013:
cross-platform API for general-purpose computing for CPUs & GPUs
587:
Remote APIs allow developers to manipulate remote resources through
114:
these calls, meaning that it explains how to use or implement them.
3575: 3052: 1838:"Open source standardization: the rise of Linux in the network era" 1730: 1126: 923: 916: 592: 537: 465: 368: 312: 134: 90: 67: 55: 2645: 2458: 646:, an API is typically defined as a set of specifications, such as 3570: 3269: 1157: 1136: 985: 976: 934:, the oral hearings in the case were delayed until October 2020. 863:
API documentation can be enriched with metadata information like
787: 663: 630: 550:
are examples of operating systems that implement the POSIX APIs.
506:
interface generator, facilitate the creation of such interfaces.
499: 483:, such as Java, would provide a specification of classes and its 355: 301: 130: 2157:"On the Criteria To Be Used in Decomposing Systems into Modules" 1298: 747:: Only specific business partners can use the API. For example, 528:
An API can specify the interface between an application and the
3078:– May 20, 2021 – content format: Audio with text – length 26:41 3048: 1918: 1649: 1624:
Odersky, Martin; Spoon, Lex; Venners, Bill (10 December 2008).
1022: 1016: 1010: 1004: 867:. This metadata can be used by the compiler, tools, and by the 383:
competed to become the most common way to expose API services.
329:
Approaches: Comparison of the Application Programming Interface
2828:"Oracle Am., Inc. v. Google Inc., No. 13-1021, Fed. Cir. 2014" 2300: 915:, though the question of whether such use of APIs constitutes 871:
environment to implement custom behaviors or custom handling.
258:
The Preparation of Programs for an Electronic Digital Computer
3519: 2881:"Google beats Oracle – Android makes "fair use" of Java APIs" 1360:"Data structures and techniques for remote computer graphics" 1167: 937:
The case was decided by the Supreme Court in Google's favor.
878: 572: 543: 533: 372: 367:
language in particular. In the 1990s, with the spread of the
296: 233: 2857:"Court sides with Oracle over Android in Java patent appeal" 2630: 2907:"Oracle Wins Revival of Billion-Dollar Case Against Google" 2527:
Institute for Software Research, School of Computer Science
957: 766:: The API is available for use by the public. For example, 756: 752: 667: 666:) has been moving away from Simple Object Access Protocol ( 655: 495: 420:
in 2001 included "semantic APIs" that recast the API as an
406: 2206:
Advances in Software Engineering and Knowledge Engineering
2057:"Services Mashups: The New Generation of Web Applications" 567:(ABI) in that an API is source code based while an ABI is 3009:"Objects of Intense Feeling: The Case of the Twitter API" 2444:
Mendez, Diego; Baudry, Benoit; Monperrus, Martin (2013).
2055:
Benslimane, Djamal; Schahram Dustdar; Amit Sheth (2008).
714:
describes the role of programming interfaces as enabling
651: 402: 911:
Alsup's ruling was overturned in 2014 on appeal to the
350:
The idea of the API was expanded again with the dawn of
74:. A computer system that meets this standard is said to 1751: 468:, Scala developers can take advantage of any Java API. 2604:"Patterns of Knowledge in API Reference Documentation" 818:
A public API can sometimes declare parts of itself as
2779:"APIs Can't be Copyrighted Says Judge in Oracle Case" 2443: 1940:"API Protocol Compliance in Object-Oriented Software" 1540: 1538: 1358:
Cotton, Ira W.; Greatorex, Frank S. (December 1968).
1353: 1351: 284:
The term "application program interface" (without an
37:"Api.php" redirects here. For the Knowledge API, see 2705: 2358:
An Empirical Study on Evolution of API Documentation
2355:
Shi, Lin; Zhong, Hao; Xie, Tao; Li, Mingshu (2011).
1617: 2624: 2602:Maalej, Waleed; Robillard, Martin P. (April 2012). 2411: 2350: 2348: 1623: 723:, the organization of a complex piece of software. 1995: 1545:Jin, Brenda; Sahni, Saurabh; Shevat, Amir (2018). 1535: 1403: 1348: 599:API uses the Java Remote Method Protocol to allow 2758:"Oracle and the End of Programming As We Know It" 2595: 1660:TeCGraf Grupo de Tecnologia Em Computacao Grafica 3610: 2854: 2437: 2345: 261:contains the first published API specification. 2601: 2232:"Business Ecosystem: Creating an Economic Moat" 1599:International Journal of Information Management 1357: 1283:Database architectures – a feasibility workshop 540:for another POSIX conformant operating system. 2543: 2518: 1993: 1544: 308:if the computer or the display were replaced. 3097: 2898: 2524: 2354: 2319: 1987: 1829: 1808:. O'Reilly & Associates, Inc. p. 1. 2550:Parnin, Chris; Treude, Cristoph (May 2011). 2549: 2190: 782:, so that software can be written for their 734:The main policies for releasing an API are: 686:(ROA). Part of this trend is related to the 288:suffix) is first recorded in a paper called 3051:– rather than cooking instruction, this is 2926: 2492: 1835: 1322: 1320: 1318: 1316: 741:: The API is for internal company use only. 441: 3104: 3090: 3039:, pp. 3–7 – "For each task, there is 2293: 2199:"An Introduction to Software Architecture" 2197:Garlan, David; Shaw, Mary (January 1994). 2196: 2087:"So What Is an Enterprise Mashup, Anyway?" 1727:"Standards, APIs, Interfaces and Bindings" 1213: 1211: 1076:Comparison of application virtual machines 879:Dispute over copyright protection for APIs 795: 595:with the same set of functions, while the 290:Data structures and techniques for remote 2715: 2644: 2611:IEEE Transactions on Software Engineering 2534: 2498: 2457: 2280: 2229: 1931: 1909: 1869: 1795: 1667: 1467:Date, C. J.; Codd, E. F. (January 1975). 1277: 1275: 1248: 1246: 1244: 1070:Common Object Request Broker Architecture 429:API has overlap in meaning with the term 2552:"Measuring API Documentation on the Web" 2148: 2084: 1960: 1937: 1789:"Object-Oriented Application Frameworks" 1691: 1571: 1466: 1313: 1029:Server Application Programming Interface 913:Court of Appeals for the Federal Circuit 311:The term was introduced to the field of 267: 188: 181:operations occurring behind the scenes. 66:, offering a service to other pieces of 27:Connection between computers or programs 2960: 2107:"The Evolution of the Social Media API" 2061:IEEE Internet Computing, vol. 12, no. 5 1994:Henning, Michi; Vinoski, Steve (1999). 1596: 1333:A Brief, Opinionated History of the API 1208: 129:The term API is often used to refer to 14: 3611: 2904: 2248: 2154: 2098: 1966: 1874:. Microsoft. p. 4. Archived from 1801: 1697: 1521:. Van Nostrand Reinhold. p. 294. 1272: 1252: 1241: 694:(RDF), a concept to promote web-based 184: 3111: 3085: 2800:"Oracle America, Inc. vs. Google Inc" 1718: 1326: 1187: 2499:Takanashi, Dean (19 February 2020). 2325: 2254: 2104: 1967:Wilson, M. Jeff (10 November 2000). 1511: 1436: 1424:participating institution membership 1336:(Speech). QCon. San Francisco: InfoQ 1217: 523: 276:, the goal of their API was to make 2963:"Google LLC v. Oracle America, Inc" 2932: 2230:de Ternay, Guerric (Oct 10, 2015). 1998:Advanced CORBA Programming with C++ 1947:CMU Institute for Software Research 1836:West, Joel; Dedrick, Jason (2001). 1700:"Just what is the Java API anyway?" 726: 24: 3619:Application programming interfaces 3000: 2417: 1845:Knowledge, Technology & Policy 1771: 1132:Open Service Interface Definitions 947:Application programming interfaces 928:Supreme Court of the United States 885:Google LLC v. Oracle America, Inc. 25: 3635: 3069: 3007:Taina Bucher (16 November 2013). 2967:LII / Legal Information Institute 2933:Lee, Timothy (January 25, 2019). 2301:"Cloudflare API v4 Documentation" 2281:Weissbrot, Alison (7 July 2016). 1938:Bierhoff, Kevin (23 April 2009). 1786: 1724: 654:) or JavaScript Object Notation ( 48:application programming interface 18:Application Programming Interface 3208:Object-oriented operating system 2905:Decker, Susan (March 27, 2018). 2855:Rosenblatt, Seth (May 9, 2014). 2420:"How and When to Deprecate APIs" 1969:"Get smart with proxies and RMI" 1892:. Linux Foundation. 21 June 2012 1654:; Filho, Waldemar Celes (1994). 1301:. NBS special publication 500-76 1220:"Intro to APIs: History of APIs" 835: 509:An API can also be related to a 2979: 2954: 2873: 2848: 2820: 2792: 2771: 2750: 2699: 2669: 2390: 2274: 2223: 2124: 2078: 2048: 2027: 1903: 1882: 1863: 1780: 1765: 1744: 1643: 1611:10.1016/j.ijinfomgt.2009.12.003 1590: 1565: 1505: 1405:"application program interface" 1194:. Elsevier Science. p. 1. 676:representational state transfer 399:Representational state transfer 240:in this library were stored on 3218:Supercomputer operating system 2633:Empirical Software Engineering 2326:Liew, Zell (17 January 2018). 2085:Niccolai, James (2008-04-23), 1910:Stoughton, Nick (April 2005). 1650:de Figueiredo, Luiz Henrique; 1460: 1430: 1396: 1218:Lane, Kin (October 10, 2019). 1181: 692:Resource Description Framework 684:resource-oriented architecture 662:, the recent trend (so-called 582: 548:Berkeley Software Distribution 331:. An API became a part of the 13: 1: 3055:instruction) to be carry out" 1698:Sintes, Tony (13 July 2001). 1174: 672:service-oriented architecture 597:Java remote method invocation 3193:Just enough operating system 3178:Distributed operating system 3059:Maury, Innovation and Change 2367:10.1007/978-3-642-19811-3_29 642:When used in the context of 565:application binary interface 7: 3306:User space and kernel space 1471:. In Randall Rustin (ed.). 1042: 1019:cross-platform graphics API 940: 648:Hypertext Transfer Protocol 624: 608:object-oriented programming 337:database management systems 173:might give the developer a 62:. It is a type of software 10: 3640: 3213:Real-time operating system 2840:: CS1 maint: url-status ( 1870:Microsoft (October 2001). 1802:Lewine, Donald A. (1991). 1626:"Combining Scala and Java" 1107:Interface control document 1092:Foreign function interface 944: 882: 674:(SOA) towards more direct 628: 255:Wilkes and Wheeler's book 156: 137:. There are also APIs for 117:One purpose of APIs is to 54:) is a connection between 36: 29: 3548: 3485: 3431: 3409:Multilevel feedback queue 3404:Fixed-priority preemptive 3392: 3327: 3318: 3288: 3235: 3226: 3188:Hobbyist operating system 3183:Embedded operating system 3165: 3119: 2655:10.1007/s10664-011-9186-4 2468:10.1109/SCAM.2013.6648183 2255:Boyd, Mark (2014-02-21). 2164:Communications of the ACM 2105:Parr, Ben (21 May 2009). 1729:. Acm.org. Archived from 1518:Analyzing Novell Networks 1411:Oxford English Dictionary 1255:"Measuring API Usability" 898:case that APIs cannot be 705: 670:) based web services and 236:, an early computer. The 119:hide the internal details 3452:General protection fault 3203:Network operating system 3157:User features comparison 3047:' (instruction – like a 2726:10.1109/msr.2010.5463347 1872:"Support for Windows XP" 1805:POSIX Programmer's Guide 1152:Software development kit 1112:List of 3D graphics APIs 1035:Simple DirectMedia Layer 1007:cross-platform sound API 614:, executed locally on a 575:provides APIs while the 520:or a similar mechanism. 481:object-oriented language 442:Libraries and frameworks 436: 106:, methods, requests, or 3624:Technical communication 3198:Mobile operating system 2564:10.1145/1984701.1984706 1416:Oxford University Press 1372:10.1145/1476589.1476661 1291:2027/mdp.39015077587742 1253:Clarke, Steven (2004). 796:Public API implications 637:Service Level Agreement 563:An API differs from an 319:in a 1974 paper called 110:. An API specification 3301:Loadable kernel module 3031:– in the U.S. Supreme 2961:vkimber (2020-09-28). 2912:Bloomberg Businessweek 1774:"Inversion Of Control" 1652:Ierusalimschy, Roberto 1572:Fielding, Roy (2000). 1188:Reddy, Martin (2011). 1087:Double-chance function 909: 464:compile to compatible 431:communication protocol 352:remote procedure calls 281: 198: 3369:Process control block 3335:Computer multitasking 3173:Disk operating system 3037:Google v. Oracle 2021 3013:Computational Culture 2781:. TGDaily. 2012-06-01 2760:. DrDobbs. 2012-05-01 2424:Java SE Documentation 2176:10.1145/361598.361623 2155:Parnas, D.L. (1972). 2136:developer.twitter.com 1912:"Update on Standards" 1481:10.1145/800297.811532 1102:Interface (computing) 1081:Document Object Model 919:was left unresolved. 904: 721:software architecture 571:based. For instance, 306:hardware independence 271: 192: 139:programming languages 3540:Virtual tape library 3132:Forensic engineering 2710:. pp. 141–150. 696:ontology engineering 518:inversion of control 333:ANSI/SPARC framework 278:hardware independent 228:worked on a modular 207:application programs 195:application programs 126:among many systems. 32:API (disambiguation) 30:For other uses, see 3549:Supporting concepts 3535:Virtual file system 1414:(Online ed.). 1097:Front and back ends 716:modular programming 577:Linux Standard Base 473:procedural language 446:The interface to a 215:hardware interfaces 185:History of the term 95:computer programmer 3472:Segmentation fault 3320:Process management 2452:. pp. 43–52. 2307:. 25 February 2020 2132:"GET trends/place" 1890:"LSB Introduction" 1551:. O'Reilly Media. 1548:Designing Web APIs 1330:(August 8, 2018). 1191:API Design for C++ 1163:Web content vendor 1065:Calling convention 960:device interfacing 751:companies such as 712:information hiding 511:software framework 282: 280:programs possible. 242:punched paper tape 199: 143:software libraries 3606: 3605: 3462:Memory protection 3433:Memory management 3427: 3426: 3419:Shortest job next 3314: 3313: 3113:Operating systems 2735:978-1-4244-6802-7 2477:978-1-4673-5739-5 2376:978-3-642-19810-6 2332:Smashing Magazine 2170:(12): 1053–1058. 1422:(Subscription or 1000:Microsoft Windows 981:Microsoft Windows 932:COVID-19 pandemic 778:releases its API 579:provides an ABI. 524:Operating systems 491:Language bindings 397:in 2000 outlined 371:, standards like 360:computer networks 292:computer graphics 250:API documentation 232:in the 1940s for 151:computer hardware 147:operating systems 85:In contrast to a 72:API specification 60:computer programs 16:(Redirected from 3631: 3561:Computer network 3325: 3324: 3233: 3232: 3106: 3099: 3092: 3083: 3082: 3024: 2994: 2993: 2992:. April 5, 2021. 2991: 2983: 2977: 2976: 2974: 2973: 2958: 2952: 2951: 2949: 2947: 2930: 2924: 2923: 2921: 2919: 2902: 2896: 2895: 2893: 2892: 2877: 2871: 2870: 2868: 2867: 2852: 2846: 2845: 2839: 2831: 2824: 2818: 2817: 2815: 2814: 2804: 2796: 2790: 2789: 2787: 2786: 2775: 2769: 2768: 2766: 2765: 2754: 2748: 2747: 2719: 2703: 2697: 2695: 2693: 2692: 2683:. Archived from 2681:Sun Microsystems 2673: 2667: 2666: 2648: 2628: 2622: 2621: 2619: 2617: 2608: 2599: 2593: 2592: 2590: 2588: 2547: 2541: 2540: 2538: 2522: 2516: 2515: 2513: 2511: 2496: 2490: 2489: 2461: 2441: 2435: 2434: 2432: 2430: 2415: 2409: 2408: 2406: 2405: 2394: 2388: 2387: 2385: 2383: 2352: 2343: 2342: 2340: 2338: 2323: 2317: 2316: 2314: 2312: 2297: 2291: 2290: 2278: 2272: 2271: 2269: 2267: 2252: 2246: 2245: 2243: 2242: 2227: 2221: 2220: 2218: 2216: 2203: 2194: 2188: 2187: 2161: 2152: 2146: 2145: 2143: 2142: 2128: 2122: 2121: 2119: 2117: 2102: 2096: 2095: 2082: 2076: 2075: 2073: 2072: 2052: 2046: 2045: 2039: 2031: 2025: 2024: 2022: 2020: 2001: 1991: 1985: 1984: 1982: 1981: 1964: 1958: 1957: 1955: 1953: 1944: 1935: 1929: 1928: 1926: 1925: 1916: 1907: 1901: 1900: 1898: 1897: 1886: 1880: 1879: 1867: 1861: 1860: 1858: 1856: 1842: 1833: 1827: 1826: 1824: 1822: 1799: 1793: 1792: 1787:Fayad, Mohamed. 1784: 1778: 1777: 1772:Fowler, Martin. 1769: 1763: 1762: 1760: 1759: 1748: 1742: 1741: 1739: 1738: 1722: 1716: 1715: 1713: 1712: 1695: 1689: 1688: 1686: 1684: 1671: 1647: 1641: 1640: 1638: 1636: 1621: 1615: 1614: 1594: 1588: 1587: 1585: 1583: 1569: 1563: 1562: 1542: 1533: 1532: 1509: 1503: 1502: 1464: 1458: 1457: 1434: 1428: 1427: 1419: 1407: 1400: 1394: 1393: 1355: 1346: 1345: 1343: 1341: 1324: 1311: 1310: 1308: 1306: 1279: 1270: 1269: 1267: 1265: 1250: 1239: 1238: 1232: 1230: 1215: 1206: 1205: 1185: 896:Oracle v. Google 865:Java annotations 814: 749:vehicle for hire 727:Release policies 690:movement toward 530:operating system 448:software library 389:'s dissertation 295:presented at an 230:software library 211:utility software 124:interoperability 42: 21: 3639: 3638: 3634: 3633: 3632: 3630: 3629: 3628: 3609: 3608: 3607: 3602: 3544: 3505:Defragmentation 3490: 3481: 3467:Protection ring 3436: 3423: 3395: 3388: 3310: 3284: 3222: 3161: 3115: 3110: 3072: 3029:What is an API? 3006: 3003: 3001:Further reading 2998: 2997: 2989: 2985: 2984: 2980: 2971: 2969: 2959: 2955: 2945: 2943: 2931: 2927: 2917: 2915: 2903: 2899: 2890: 2888: 2879: 2878: 2874: 2865: 2863: 2853: 2849: 2833: 2832: 2826: 2825: 2821: 2812: 2810: 2802: 2798: 2797: 2793: 2784: 2782: 2777: 2776: 2772: 2763: 2761: 2756: 2755: 2751: 2736: 2704: 2700: 2690: 2688: 2675: 2674: 2670: 2629: 2625: 2615: 2613: 2606: 2600: 2596: 2586: 2584: 2574: 2548: 2544: 2536:10.1.1.446.4214 2523: 2519: 2509: 2507: 2497: 2493: 2478: 2442: 2438: 2428: 2426: 2416: 2412: 2403: 2401: 2396: 2395: 2391: 2381: 2379: 2377: 2353: 2346: 2336: 2334: 2324: 2320: 2310: 2308: 2299: 2298: 2294: 2279: 2275: 2265: 2263: 2261:ProgrammableWeb 2253: 2249: 2240: 2238: 2228: 2224: 2214: 2212: 2201: 2195: 2191: 2159: 2153: 2149: 2140: 2138: 2130: 2129: 2125: 2115: 2113: 2103: 2099: 2083: 2079: 2070: 2068: 2053: 2049: 2042:www.hcltech.com 2037: 2033: 2032: 2028: 2018: 2016: 2014: 1992: 1988: 1979: 1977: 1965: 1961: 1951: 1949: 1942: 1936: 1932: 1923: 1921: 1914: 1908: 1904: 1895: 1893: 1888: 1887: 1883: 1868: 1864: 1854: 1852: 1840: 1834: 1830: 1820: 1818: 1816: 1800: 1796: 1785: 1781: 1770: 1766: 1757: 1755: 1750: 1749: 1745: 1736: 1734: 1723: 1719: 1710: 1708: 1696: 1692: 1682: 1680: 1648: 1644: 1634: 1632: 1622: 1618: 1595: 1591: 1581: 1579: 1570: 1566: 1559: 1543: 1536: 1529: 1510: 1506: 1491: 1465: 1461: 1454: 1446:. p. 135. 1435: 1431: 1421: 1401: 1397: 1382: 1356: 1349: 1339: 1337: 1325: 1314: 1304: 1302: 1281: 1280: 1273: 1263: 1261: 1251: 1242: 1228: 1226: 1216: 1209: 1202: 1186: 1182: 1177: 1172: 1147:RAML (software) 1045: 1040: 949: 945:Main category: 943: 887: 881: 838: 812: 810:Java annotation 798: 729: 708: 644:web development 633: 627: 585: 526: 444: 439: 418:Tim Berners-Lee 244:organized in a 187: 159: 93:) other than a 44: 40:Special:ApiHelp 38: 35: 28: 23: 22: 15: 12: 11: 5: 3637: 3627: 3626: 3621: 3604: 3603: 3601: 3600: 3595: 3594: 3593: 3591:User interface 3588: 3578: 3573: 3568: 3563: 3558: 3552: 3550: 3546: 3545: 3543: 3542: 3537: 3532: 3527: 3522: 3517: 3515:File attribute 3512: 3507: 3502: 3496: 3494: 3483: 3482: 3480: 3479: 3477:Virtual memory 3474: 3469: 3464: 3459: 3454: 3449: 3443: 3441: 3429: 3428: 3425: 3424: 3422: 3421: 3416: 3411: 3406: 3400: 3398: 3390: 3389: 3387: 3386: 3381: 3376: 3371: 3366: 3361: 3356: 3351: 3349:Context switch 3346: 3331: 3329: 3322: 3316: 3315: 3312: 3311: 3309: 3308: 3303: 3298: 3292: 3290: 3286: 3285: 3283: 3282: 3277: 3272: 3267: 3262: 3257: 3252: 3247: 3241: 3239: 3230: 3224: 3223: 3221: 3220: 3215: 3210: 3205: 3200: 3195: 3190: 3185: 3180: 3175: 3169: 3167: 3163: 3162: 3160: 3159: 3154: 3149: 3144: 3139: 3134: 3129: 3123: 3121: 3117: 3116: 3109: 3108: 3101: 3094: 3086: 3080: 3079: 3071: 3070:External links 3068: 3067: 3066: 3056: 3026: 3002: 2999: 2996: 2995: 2978: 2953: 2925: 2897: 2872: 2847: 2819: 2791: 2770: 2749: 2734: 2698: 2668: 2639:(6): 703–737. 2623: 2594: 2572: 2542: 2517: 2491: 2476: 2436: 2410: 2389: 2375: 2344: 2318: 2292: 2273: 2247: 2236:BoostCompanies 2222: 2189: 2147: 2123: 2097: 2077: 2047: 2044:. August 2014. 2038:(PDF download) 2035:"API-fication" 2026: 2013:978-0201379273 2012: 2004:Addison-Wesley 1986: 1959: 1930: 1902: 1881: 1878:on 2009-09-26. 1862: 1828: 1814: 1794: 1779: 1764: 1743: 1725:Emery, David. 1717: 1690: 1669:10.1.1.47.5194 1642: 1630:www.artima.com 1616: 1605:(4): 335–342. 1589: 1564: 1557: 1534: 1528:978-0442003647 1527: 1504: 1490:978-1450374187 1489: 1459: 1453:978-1684705276 1452: 1429: 1395: 1381:978-1450378994 1380: 1347: 1312: 1271: 1240: 1207: 1200: 1179: 1178: 1176: 1173: 1171: 1170: 1165: 1160: 1155: 1149: 1144: 1139: 1134: 1129: 1124: 1119: 1114: 1109: 1104: 1099: 1094: 1089: 1084: 1078: 1073: 1067: 1062: 1057: 1052: 1046: 1044: 1041: 1039: 1038: 1032: 1026: 1020: 1014: 1008: 1002: 993: 988: 983: 974: 961: 950: 942: 939: 883:Main article: 880: 877: 837: 834: 797: 794: 793: 792: 761: 742: 728: 725: 707: 704: 629:Main article: 626: 623: 584: 581: 525: 522: 443: 440: 438: 435: 246:filing cabinet 222:Maurice Wilkes 186: 183: 158: 155: 87:user interface 26: 9: 6: 4: 3: 2: 3636: 3625: 3622: 3620: 3617: 3616: 3614: 3599: 3596: 3592: 3589: 3587: 3584: 3583: 3582: 3579: 3577: 3574: 3572: 3569: 3567: 3564: 3562: 3559: 3557: 3554: 3553: 3551: 3547: 3541: 3538: 3536: 3533: 3531: 3528: 3526: 3523: 3521: 3518: 3516: 3513: 3511: 3508: 3506: 3503: 3501: 3498: 3497: 3495: 3493: 3488: 3484: 3478: 3475: 3473: 3470: 3468: 3465: 3463: 3460: 3458: 3457:Memory paging 3455: 3453: 3450: 3448: 3445: 3444: 3442: 3439: 3434: 3430: 3420: 3417: 3415: 3412: 3410: 3407: 3405: 3402: 3401: 3399: 3397: 3391: 3385: 3382: 3380: 3377: 3375: 3372: 3370: 3367: 3365: 3362: 3360: 3357: 3355: 3352: 3350: 3347: 3344: 3340: 3336: 3333: 3332: 3330: 3326: 3323: 3321: 3317: 3307: 3304: 3302: 3299: 3297: 3296:Device driver 3294: 3293: 3291: 3287: 3281: 3278: 3276: 3273: 3271: 3268: 3266: 3263: 3261: 3258: 3256: 3253: 3251: 3248: 3246: 3243: 3242: 3240: 3238: 3237:Architectures 3234: 3231: 3229: 3225: 3219: 3216: 3214: 3211: 3209: 3206: 3204: 3201: 3199: 3196: 3194: 3191: 3189: 3186: 3184: 3181: 3179: 3176: 3174: 3171: 3170: 3168: 3164: 3158: 3155: 3153: 3150: 3148: 3145: 3143: 3140: 3138: 3135: 3133: 3130: 3128: 3125: 3124: 3122: 3118: 3114: 3107: 3102: 3100: 3095: 3093: 3088: 3087: 3084: 3077: 3074: 3073: 3064: 3060: 3057: 3054: 3050: 3046: 3045:computer code 3042: 3041:computer code 3038: 3034: 3033:Court opinion 3030: 3027: 3022: 3018: 3014: 3010: 3005: 3004: 2988: 2982: 2968: 2964: 2957: 2942: 2941: 2936: 2929: 2914: 2913: 2908: 2901: 2886: 2882: 2876: 2862: 2858: 2851: 2843: 2837: 2829: 2823: 2808: 2801: 2795: 2780: 2774: 2759: 2753: 2745: 2741: 2737: 2731: 2727: 2723: 2718: 2717:10.1.1.434.15 2713: 2709: 2702: 2687:on 2011-09-25 2686: 2682: 2678: 2677:"Annotations" 2672: 2664: 2660: 2656: 2652: 2647: 2642: 2638: 2634: 2627: 2612: 2605: 2598: 2583: 2579: 2575: 2573:9781450305952 2569: 2565: 2561: 2557: 2553: 2546: 2537: 2532: 2528: 2521: 2506: 2502: 2495: 2487: 2483: 2479: 2473: 2469: 2465: 2460: 2455: 2451: 2447: 2440: 2425: 2421: 2414: 2399: 2393: 2378: 2372: 2368: 2364: 2360: 2359: 2351: 2349: 2333: 2329: 2322: 2306: 2302: 2296: 2288: 2284: 2277: 2262: 2258: 2251: 2237: 2233: 2226: 2211: 2207: 2200: 2193: 2185: 2181: 2177: 2173: 2169: 2165: 2158: 2151: 2137: 2133: 2127: 2112: 2108: 2101: 2094: 2093: 2088: 2081: 2067:on 2011-09-28 2066: 2062: 2058: 2051: 2043: 2036: 2030: 2015: 2009: 2005: 2000: 1999: 1990: 1976: 1975: 1970: 1963: 1948: 1941: 1934: 1920: 1913: 1906: 1891: 1885: 1877: 1873: 1866: 1850: 1846: 1839: 1832: 1817: 1815:9780937175736 1811: 1807: 1806: 1798: 1790: 1783: 1775: 1768: 1753: 1747: 1733:on 2015-01-16 1732: 1728: 1721: 1707: 1706: 1701: 1694: 1679: 1675: 1670: 1665: 1661: 1657: 1653: 1646: 1631: 1627: 1620: 1612: 1608: 1604: 1600: 1593: 1582:September 18, 1577: 1576: 1568: 1560: 1558:9781492026877 1554: 1550: 1549: 1541: 1539: 1530: 1524: 1520: 1519: 1514: 1513:Carl, Malamud 1508: 1500: 1496: 1492: 1486: 1482: 1478: 1474: 1470: 1463: 1455: 1449: 1445: 1444: 1439: 1433: 1425: 1417: 1413: 1412: 1406: 1399: 1391: 1387: 1383: 1377: 1373: 1369: 1365: 1361: 1354: 1352: 1340:September 18, 1335: 1334: 1329: 1328:Bloch, Joshua 1323: 1321: 1319: 1317: 1305:September 18, 1300: 1296: 1292: 1288: 1284: 1278: 1276: 1260: 1256: 1249: 1247: 1245: 1237: 1229:September 18, 1225: 1221: 1214: 1212: 1203: 1201:9780123850041 1197: 1193: 1192: 1184: 1180: 1169: 1166: 1164: 1161: 1159: 1156: 1153: 1150: 1148: 1145: 1143: 1140: 1138: 1135: 1133: 1130: 1128: 1125: 1123: 1122:Name mangling 1120: 1118: 1117:Microservices 1115: 1113: 1110: 1108: 1105: 1103: 1100: 1098: 1095: 1093: 1090: 1088: 1085: 1082: 1079: 1077: 1074: 1071: 1068: 1066: 1063: 1061: 1060:Augmented web 1058: 1056: 1053: 1051: 1048: 1047: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1001: 997: 994: 992: 989: 987: 984: 982: 978: 975: 973: 969: 965: 962: 959: 955: 952: 951: 948: 938: 935: 933: 929: 925: 920: 918: 914: 908: 903: 901: 897: 894:ruled in the 893: 892:William Alsup 886: 876: 872: 870: 866: 861: 859: 853: 849: 845: 841: 836:Documentation 833: 830: 824: 821: 816: 811: 807: 802: 789: 785: 781: 777: 773: 769: 765: 762: 758: 754: 750: 746: 743: 740: 737: 736: 735: 732: 724: 722: 717: 713: 703: 701: 697: 693: 689: 685: 681: 680:web resources 678:(REST) style 677: 673: 669: 665: 661: 657: 653: 649: 645: 640: 638: 632: 622: 619: 617: 613: 609: 604: 602: 598: 594: 590: 580: 578: 574: 570: 566: 561: 559: 555: 551: 549: 545: 541: 539: 535: 531: 521: 519: 514: 512: 507: 505: 501: 497: 492: 488: 486: 485:class methods 482: 478: 474: 469: 467: 463: 459: 454: 451: 449: 434: 432: 427: 423: 419: 415: 410: 408: 404: 400: 396: 392: 388: 384: 382: 378: 374: 370: 366: 361: 357: 353: 348: 346: 340: 338: 334: 330: 328: 324: 318: 314: 309: 307: 303: 298: 294: 293: 287: 279: 275: 270: 266: 264: 260: 259: 253: 251: 247: 243: 239: 235: 231: 227: 226:David Wheeler 223: 218: 216: 212: 208: 204: 196: 191: 182: 180: 176: 172: 168: 164: 154: 152: 148: 144: 140: 136: 132: 127: 125: 120: 115: 113: 109: 105: 101: 96: 92: 88: 83: 81: 77: 73: 69: 65: 61: 57: 53: 49: 41: 33: 19: 3555: 3492:file systems 3384:Time-sharing 3012: 2981: 2970:. Retrieved 2966: 2956: 2944:. Retrieved 2940:Ars Technica 2938: 2928: 2916:. Retrieved 2910: 2900: 2889:. Retrieved 2887:. 2016-05-26 2885:Ars Technica 2884: 2875: 2864:. Retrieved 2860: 2850: 2822: 2811:. Retrieved 2809:. 2012-05-31 2794: 2783:. Retrieved 2773: 2762:. Retrieved 2752: 2707: 2701: 2689:. Retrieved 2685:the original 2671: 2636: 2632: 2626: 2614:. Retrieved 2610: 2597: 2585:. Retrieved 2555: 2545: 2526: 2520: 2508:. Retrieved 2505:Venture Beat 2504: 2494: 2449: 2439: 2427:. Retrieved 2423: 2413: 2402:. Retrieved 2400:. 2014-02-04 2392: 2380:. Retrieved 2357: 2335:. Retrieved 2331: 2321: 2309:. Retrieved 2304: 2295: 2286: 2276: 2264:. Retrieved 2260: 2250: 2239:. Retrieved 2235: 2225: 2213:. Retrieved 2209: 2205: 2192: 2167: 2163: 2150: 2139:. Retrieved 2135: 2126: 2114:. Retrieved 2110: 2100: 2090: 2080: 2069:. Retrieved 2065:the original 2060: 2050: 2041: 2029: 2017:. Retrieved 1997: 1989: 1978:. Retrieved 1972: 1962: 1950:. Retrieved 1946: 1933: 1922:. Retrieved 1905: 1894:. Retrieved 1884: 1876:the original 1865: 1853:. Retrieved 1848: 1844: 1831: 1819:. Retrieved 1804: 1797: 1782: 1767: 1756:. Retrieved 1746: 1735:. Retrieved 1731:the original 1720: 1709:. Retrieved 1703: 1693: 1681:. Retrieved 1659: 1645: 1633:. Retrieved 1629: 1619: 1602: 1598: 1592: 1580:. Retrieved 1574: 1567: 1547: 1517: 1507: 1472: 1462: 1442: 1432: 1409: 1398: 1363: 1338:. Retrieved 1332: 1303:. Retrieved 1262:. Retrieved 1258: 1234: 1227:. Retrieved 1223: 1190: 1183: 936: 921: 910: 905: 895: 888: 873: 868: 862: 854: 850: 846: 842: 839: 825: 819: 817: 806:Google Guava 803: 799: 791:validations. 774:public, and 763: 744: 738: 733: 730: 709: 688:Semantic Web 641: 634: 620: 605: 586: 562: 552: 542: 527: 515: 508: 498:and F2PY, a 489: 470: 455: 452: 445: 416:proposed by 414:Semantic Web 411: 390: 387:Roy Fielding 385: 349: 345:Carl Malamud 341: 320: 310: 289: 285: 283: 263:Joshua Bloch 256: 254: 219: 202: 200: 171:input/output 167:email client 160: 128: 116: 111: 99: 84: 79: 75: 71: 51: 47: 45: 3510:Device file 3500:Boot loader 3414:Round-robin 3339:Cooperative 3275:Rump kernel 3265:Multikernel 3255:Microkernel 3152:Usage share 2946:February 8, 2510:27 February 2337:27 February 2311:27 February 2287:AdExchanger 1851:(2): 88–112 1662:: 273–284. 1438:Date, C. J. 1050:API testing 900:copyrighted 858:thread safe 772:Windows API 660:web service 612:method call 583:Remote APIs 558:Windows API 426:Proprietary 274:Univac 1108 238:subroutines 179:file system 163:abstracting 145:, computer 104:subroutines 58:or between 3613:Categories 3440:protection 3396:algorithms 3394:Scheduling 3343:Preemptive 3289:Components 3260:Monolithic 3127:Comparison 2972:2021-03-06 2891:2016-07-28 2866:2014-05-10 2813:2013-09-22 2785:2012-12-06 2764:2012-05-09 2691:2011-09-30 2404:2014-02-11 2305:cloudflare 2241:2016-02-01 2141:2020-04-30 2071:2019-10-01 1980:2020-07-18 1924:2009-06-04 1896:2015-03-27 1758:2011-12-18 1754:. F2PY.org 1752:"F2PY.org" 1737:2016-08-08 1711:2020-07-18 1499:1175623233 1426:required.) 1390:1175621908 1259:Dr. Dobb's 1175:References 1055:API writer 820:deprecated 770:makes the 601:invocation 323:Relational 317:C. J. Date 3530:Partition 3447:Bus error 3374:Real-time 3354:Interrupt 3280:Unikernel 3245:Exokernel 3021:2047-2390 2918:March 27, 2712:CiteSeerX 2646:1205.6363 2558:: 25–30. 2531:CiteSeerX 2459:1307.4062 1974:JavaWorld 1705:JavaWorld 1664:CiteSeerX 991:Java APIs 972:Macintosh 907:commands. 784:platforms 768:Microsoft 593:databases 589:protocols 554:Microsoft 395:UC Irvine 313:databases 213:and even 201:The term 108:endpoints 76:implement 64:interface 56:computers 3576:Live USB 3438:resource 3328:Concepts 3166:Variants 3147:Timeline 2836:cite web 2582:17751901 2429:2 August 2418:Oracle. 2266:2 August 2215:8 August 2184:53856438 2111:Mashable 2092:PC World 1855:2 August 1821:2 August 1678:59833827 1515:(1990). 1440:(2019). 1299:81600004 1127:Open API 1043:See also 970:for the 941:Examples 924:fair use 917:fair use 869:run-time 625:Web APIs 538:compiled 475:such as 466:bytecode 369:internet 356:web APIs 175:function 135:internet 131:web APIs 91:end user 68:software 3571:Live CD 3525:Journal 3489:access, 3487:Storage 3364:Process 3270:vkernel 3137:History 3120:General 3063:Textise 3053:machine 2744:1026918 2663:8174618 2616:22 July 2587:22 July 2486:6890739 2382:22 July 2116:26 July 2019:16 June 1952:29 July 1683:29 July 1635:29 July 1264:29 July 1224:Postman 1158:Web API 1137:Parsing 1072:(CORBA) 986:EHLLAPI 977:DirectX 788:RESTful 760:stream. 745:Partner 739:Private 700:mashups 664:Web 2.0 631:Web API 500:Fortran 327:Network 302:Fortran 157:Purpose 112:defines 3379:Thread 3250:Hybrid 3228:Kernel 3049:recipe 3019:  2742:  2732:  2714:  2661:  2580:  2570:  2556:Web2SE 2533:  2484:  2474:  2373:  2182:  2010:  1919:USENIX 1812:  1676:  1666:  1555:  1525:  1497:  1487:  1450:  1388:  1378:  1297:  1198:  1142:Plugin 1031:(SAPI) 1023:OpenMP 1017:OpenGL 1011:OpenCL 1005:OpenAL 968:Carbon 829:Akamai 764:Public 706:Design 569:binary 504:Python 379:, and 197:alone. 149:, and 80:expose 3581:Shell 3520:Inode 3015:(3). 2990:(PDF) 2807:Wired 2803:(PDF) 2740:S2CID 2659:S2CID 2641:arXiv 2607:(PDF) 2578:S2CID 2482:S2CID 2454:arXiv 2202:(PDF) 2180:S2CID 2160:(PDF) 1943:(PDF) 1915:(PDF) 1841:(PDF) 1674:S2CID 1578:(PhD) 1420: 1168:XPCOM 1154:(SDK) 1083:(DOM) 1037:(SDL) 964:Cocoa 813:@Beta 780:Cocoa 776:Apple 616:proxy 573:POSIX 544:Linux 534:POSIX 458:Scala 437:Usage 373:CORBA 358:. As 297:AFIPS 234:EDSAC 3142:List 3065:URL) 3017:ISSN 2948:2019 2920:2018 2861:CNET 2842:link 2730:ISBN 2618:2016 2589:2016 2568:ISBN 2512:2020 2472:ISBN 2431:2016 2384:2016 2371:ISBN 2339:2020 2313:2020 2268:2016 2217:2016 2118:2016 2021:2015 2008:ISBN 1954:2016 1857:2016 1823:2016 1810:ISBN 1685:2016 1637:2016 1584:2020 1553:ISBN 1523:ISBN 1495:OCLC 1485:ISBN 1448:ISBN 1386:OCLC 1376:ISBN 1342:2020 1307:2020 1295:LCCN 1266:2016 1231:2020 1196:ISBN 998:for 996:ODBC 979:for 966:and 958:SCSI 956:for 954:ASPI 757:Lyft 755:and 753:Uber 682:and 668:SOAP 656:JSON 610:; a 546:and 502:-to- 496:SWIG 462:Java 460:and 422:open 412:The 407:JSON 405:and 381:DCOM 365:Java 354:and 335:for 325:and 321:The 286:-ing 224:and 100:call 3598:PXE 3586:CLI 3566:HAL 3556:API 3359:IPC 2722:doi 2651:doi 2560:doi 2464:doi 2363:doi 2172:doi 1607:doi 1477:doi 1368:doi 1287:hdl 652:XML 477:Lua 403:XML 393:at 377:COM 315:by 203:API 78:or 52:API 46:An 3615:: 3341:, 3035:, 3011:. 2965:. 2937:. 2909:. 2883:. 2859:. 2838:}} 2834:{{ 2805:. 2738:. 2728:. 2720:. 2679:. 2657:. 2649:. 2637:17 2635:. 2609:. 2576:. 2566:. 2554:. 2529:. 2503:. 2480:. 2470:. 2462:. 2448:. 2422:. 2369:. 2347:^ 2330:. 2303:. 2285:. 2259:. 2234:. 2208:. 2204:. 2178:. 2168:15 2166:. 2162:. 2134:. 2109:. 2089:, 2059:. 2040:. 2006:. 2002:. 1971:. 1945:. 1917:. 1849:14 1847:. 1843:. 1702:. 1672:. 1658:. 1628:. 1603:30 1601:. 1537:^ 1493:. 1483:. 1408:. 1384:. 1374:. 1362:. 1350:^ 1315:^ 1293:. 1274:^ 1257:. 1243:^ 1233:. 1222:. 1210:^ 815:. 532:. 487:. 433:. 375:, 347:. 217:. 141:, 3435:, 3345:) 3337:( 3105:e 3098:t 3091:v 3023:. 2975:. 2950:. 2922:. 2894:. 2869:. 2844:) 2830:. 2816:. 2788:. 2767:. 2746:. 2724:: 2696:. 2694:. 2665:. 2653:: 2643:: 2620:. 2591:. 2562:: 2539:. 2514:. 2488:. 2466:: 2456:: 2433:. 2407:. 2386:. 2365:: 2341:. 2315:. 2289:. 2270:. 2244:. 2219:. 2210:1 2186:. 2174:: 2144:. 2120:. 2074:. 2023:. 1983:. 1956:. 1927:. 1899:. 1859:. 1825:. 1791:. 1776:. 1761:. 1740:. 1714:. 1687:. 1639:. 1613:. 1609:: 1586:. 1561:. 1531:. 1501:. 1479:: 1456:. 1418:. 1392:. 1370:: 1344:. 1309:. 1289:: 1268:. 1204:. 50:( 43:. 34:. 20:)

Index

Application Programming Interface
API (disambiguation)
Special:ApiHelp
computers
computer programs
interface
software
user interface
end user
computer programmer
subroutines
endpoints
hide the internal details
interoperability
web APIs
internet
programming languages
software libraries
operating systems
computer hardware
abstracting
email client
input/output
function
file system

application programs
application programs
utility software
hardware interfaces

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑