The Future Of Coding: API First Design
“APIs — the rules governing how software programs interact with each other — not user interfaces, will upend software for years to come.”
In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.
When Intel CEO Brian Krzanich doubled down on the Internet of Things at the company’s annual Developer Forum in August, he emphasized what many of us have already known — the dawn of a new era in software engineering. It’s called API-first design, and it presents a tremendous opportunity for developers who adapt — not to mention a major risk for developers (and companies) who don’t.
As devices have outnumbered people, the systems we use to connect them have become incredibly complex. APIs are the foundation of these connections: the mortar between our digital hardware. This complexity has set the stage for a tectonic shift away from full-stack engineering toward building pieces on top of existing layers within larger ecosystems.
Connected devices, driverless cars and advanced health tech are just a handful of the new technologies API-first design will enable. For these innovations to happen, they must be built on a solid foundation. That means starting system design at the foundational layer — APIs.
[Reblogged via Pocket].