When Drupal 8.0 was released two and a half years ago, with a built-in REST API, it signaled the start of Drupal's evolution to an API-first platform.
Since then, each of the five new releases of Drupal 8 introduced significant web service API improvements.
Drupal 8.6, shipping in September, will also have a new bunch of API improvements.
Recently Dries Buytaert, founder and project lead of Drupal (and co-founder, Chief Technology Officer, and Chairman of the Board of Acquia), published an update on Drupal's continuing evolution towards an API-first platform. Definitely worth a read.
Among the milestones, recent and forthcoming:
- A Drupal 8.6 improvement: the move of the API-first code to the individual modules, instead of the REST module providing it on their behalf. In the long term, all Drupal modules should ship with web service APIs rather than depending on a central API module to provide their APIs — that forces them to consider the impact on REST API clients when making changes.
- Another improvement in Drupal 8.6: REST API support for file uploads.
- After some discussion, JSON API will not be added as an experimental module to Drupal 8.6. Instead, the plan is to commit it to Drupal core early in the Drupal 8.7 development cycle and ship it as stable in Drupal 8.7.
- A contributed GraphQL module has been getting closer to its first stable release.
- OpenAPI, for standards-based API documentation, now at beta 1.
- JSON API Extras, for shaping JSON API to your site's specific needs (aliasing fields, removing fields, etc), and JSON-RPC, for help with executing common Drupal site administration actions, for example clearing the cache, are also under development.
- Altogether, no less than 61 API-related modules are on the way.
As mentioned up top, read Dries' post to get the entire story, with context and commentary.