Downloading, modifying, uploading, in general exchanging data is fundamental for modern apps. Using API (defined set of rules how apps can communicate with each other) is the most popular way of setting up a communication system between external systems.
What makes a good API?
First of all, it needs to be easily understandable and legible for all its potential users. A decent API should have well-documented examples and do not leave any room for guessing. There is a solution that comes in handy if you want to create a solid API, it's a tool called the API Platform.
API Platform is a set of tools that combined build a next-generation REST and GraphQL framework to build modern API. The server API Platform is built on top of enterprise-proven solutions:
All that powers the modules responsible for API creation, schema generation, admin panel & client generation:
API Platform Core Library - a highly flexibly, stacked with cool features core library allowing you to build fully-featured REST or GraphQL API in minutes.
The Schema Generator - a CLI tool that instantly generates a PHP data model from the Schema.org vocabulary allowing ORM to create corresponding tables.
API Platform Admin - a tool to automatically adds a React-based admin interface to your API, all that without writing a single line of code.
API Platform Client Generator - the fastest way to scaffold fully-featured web apps (powered by React or Vue.js) or native mobile apps (based on React Native).
Platform API looks very promising as an all-in-one solution for modern projects and it's worth taking a closer look. The wide range of microservices offered by API Platform might come in handy for many developers. I'm pretty sure that deeper dive into all its features and using what best it has to offer like data validation, pagination, hypermedia or GraphQL support, and many more can result in a significant productivity boost!