Design of application programming interfaces (APIs)
First Claim
1. A method for designing an application programming interface (API), the method comprising:
- preparing a plurality of code samples for a core scenario, each respective code sample of the plurality of code samples corresponding to a respective programming language of a plurality of programming languages; and
deriving the API from the core scenario responsive to the plurality of code samples.
2 Assignments
0 Petitions
Accused Products
Abstract
A first exemplary method implementation for designing an application programming interface (API) includes: preparing multiple code samples for a core scenario, each respective code sample of the multiple code samples corresponding to a respective programming language of multiple programming languages; and deriving the API from the core scenario responsive to the multiple code samples. A second exemplary method for designing an API includes: selecting a core scenario for a feature area; writing at least one code sample for the core scenario; and deriving an API for the core scenario responsive to the at least one code sample. A third exemplary method for designing an API includes: deriving an API for a scenario responsive to at least one code sample written with regard to the scenario; performing one or more usability studies on the API utilizing multiple developers; and revising the API based on the one or more usability studies.
24 Citations
59 Claims
-
1. A method for designing an application programming interface (API), the method comprising:
-
preparing a plurality of code samples for a core scenario, each respective code sample of the plurality of code samples corresponding to a respective programming language of a plurality of programming languages; and
deriving the API from the core scenario responsive to the plurality of code samples. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for designing an application programming interface (API), the method comprising:
-
selecting a core scenario for a feature area;
writing at least one code sample for the core scenario; and
deriving an API for the core scenario responsive to the at least one code sample. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for designing an application programming interface (API), the method comprising:
-
deriving an API for a scenario responsive to at least one code sample written with regard to the scenario;
performing one or more usability studies on the API utilizing a plurality of developers; and
revising the API based on the one or more usability studies. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A method for designing an application programming interface (API), the method comprising:
-
preparing a plurality of code samples for a core scenario, each respective code sample of the plurality of code samples corresponding to a respective programming language of a plurality of programming languages;
deriving the API for the core scenario responsive to the plurality of code samples;
performing one or more usability studies on the API utilizing a plurality of developers; and
revising the API based on the one or more usability studies.
-
-
48. A method for designing an application programming interface (API), the method comprising:
-
writing at least one code sample for a scenario; and
deriving an API for the scenario responsive to the at least one code sample, the API including (i) an aggregate component that is adapted to facilitate implementation of the scenario and (ii) a plurality of factored types that provide underlying functionality for the aggregate component, the API enabling a gradual progression from using the aggregate component in simpler situations to using an increasing portion of the plurality of factored types in increasingly complex situations.
-
-
49. A method for designing an application programming interface (API), the method comprising:
-
deriving at least one aggregate component to support at least one code sample for at least one scenario;
determining additional requirements with respect to the at least one scenario;
deciding if the additional requirements can be added to the at least one aggregate component without adding undue complexity to the at least one scenario; and
if not, defining a plurality of factored types responsive to the deciding. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
Specification