based on the principle of developer-first--putting your target developers’ interests ahead of all other considerations
By building on top of APIs that are designed with the developers’ interests at heart, you are able to save you and your developers a lot of work while laying down the building blocks for others to build on top of.
API-first design is about a series of best practices across companies and industries that prioritize a better developer experience (DX).
by using the RESTful API Markup Language (RAML) to describe them.
APIs used to be simply the technical ways that you achieved something in a business context, but now APIs have transformed into business drivers. Why? Businesses are looking to:
- Go mobile.
- Discover new revenue streams and models.
APIs empower businesses to do all three, which are all tied to business objectives.
This means that the API economy is now much more likely to be funded on a clearly defined schedule, with proper quality assurance testing standards and thorough final documentation.
This also means APIs are steadily evolving from an extra feature or an upsell to a central product. Salesforce earns half its revenue via APIs, eBay 60 percent, and Expedia a whopping 90 percent, to name a few web-based businesses resting their ROI on top of the API, instead of through their user interface.
People are looking at APIs as products that need to be packaged and delivered and documented and they have product managers and so on
And this deliberate market shift toward API-first or at least API-priority “drives up the quality and the timeliness of a lot of these API initiatives.”
API Economy Axiom #1: Fast is better than slow. Agile is more than just a management style--smaller and faster really is better than big and slow.
API Economy Axiom #2: Developers are key decision makers. selling them your API / as a developer of API
API Economy Axiom #3: Simplicity rules. API design is moving away from complexity and toward simplicity.
API Economy Axiom #4: Agile crushes waterfall. It’s no longer about spending two years building huge plans for huge projects. An app needs to be out the door in t-minus six months or it will fail.
API design should not be constrained by what can be done giving existing limitations, but rather by what should be done. This frees the designer to focus exclusively on the design that best serves the API consumer’s--the developer--needs.
API-first design is therefore very consumer focused, making sure to define clearly the interface between the infrastructure at the bottom and the API-consuming clients on top.
API-first Step 1: Plan. API-first Step 2: Design and validate. API-first Step 3: Lock down your source code. (mock up API with use cases) API-first Step 4: Test it all. API-first Step 5: Implement. API-first Stage 6: Operate and engage.
You could also call API-first, DX-first. Every stage of API-first is focused on one goal--delighting your users with an exceptional API experience.