API-oriented system architecture
The most obvious way to write a software application is to develop the entire logic embedded into the application. This approach has advantages in terms of rapid development of the software project with minimal dependency on external systems in order to reduce complexity, but limits future efficiency of the project's development when software features need to be shared across multiple platforms. This limitation could come in the form of there being different versions of the application for desktop, mobile and web, or in the form of integration into third party systems such as websites and software developed by other software developers. These issues are easily resolved when your software is designed around an API (Application Programming Interface) based architecture.
Why create an API?
The role of an API is to provide data services to external applications, of which your software application would be one of them. Data services are both the provision of data...