API Platform – REST and GraphQL framework to build modern API-driven projects

API Platform is a framework for building API-driven projects. I came across this via this blog post that covers the recent release of v2.4. The list of features and components is quite extensive:

  • Read and write support for MongoDB
  • Read support for Elasticsearch
  • Message queues support via a number of brokers, including Amazon SQS
  • Server Push support for HTTP/2
  • Full compatibility with OpenAPI v3 (Swagger)
  • Automated admin interface and project documentation
  • A variety of components from the Symfony framework

I’m pretty sure that I’ll be taking this for a spin in the nearest future!

The JavaScript Developer’s Reading List

The JavaScript Developer’s Reading List” is yet another hand-picked collection of books and resources for web developers in general and JavaScript programmers in particular. The selection is mostly focused around React and GraphQL, but there are plenty of more generic resources about JavaScript, software development, and Computer Science.

Headless CMS: REST vs JSON:API vs GraphQL

Headless CMS: REST vs JSON:API vs GraphQL” is an interesting comparison of the REST, JSON:API, and GraphQL:

In this blog post, we will compare REST, JSON:API and GraphQL. First, we’ll look at an architectural, CMS-agnostic comparison, followed by evaluating some Drupal-specific implementation details.

Dgraph – fast, transactional, distributed graph database

Dgraph is a fast, transactional distributed graph database, written in Go. It’s Open Source too.

If you need a quick introduction to graph databases or if you are wondering whether you need to use one, here’s a good video to get you started.

For even more insight, read “Why Google Needed a Graph Serving System“. There are some interesting examples of problems, solutions, and data discovery. For example:

Cerebro would often reveal very interesting facts that one didn’t originally search for. When you’d run a query like [us presidents], Cerebro would understand that presidents are humans, and humans have height. Therefore, it would allow you to sort presidents by height and show that Abraham Lincoln is the tallest US president. It would also let people be filtered by nationality. In this case, it showed America and Britain in the list, because US had one British president, namely George Washington. (Disclaimer: Results based on the state of KG at the time; can’t vouch for the correctness of these results.)

Picking the right API Paradigm

There are not many people who I trust on the subject of API design like I do Phil Sturgeon. He has been a prominent speaker both online and at numerous conferences, covering a variety of problems, solutions, and approaches in the API design domain.

In one of his recent blog posts, he shared a diagram (see above) which provides a clear illustration on which API paradigm – REST, GraphQL, or RPC – one should pick for a web application, based on a variety of criteria.

I think this is probably the simplest of all the explanations I’ve seen around.