GraphQL CMS alternatives in 2018
GraphQL is the perfect option for sitebuilding using the decoupled CMS pattern. A well defined, easy to use API format is a clear advantage over product specific REST APIs. What are the best options for a GraphQL CMS going into 2018?
The options can be split into two classes; Traditional CMSes that are self-hosted, with household names like WordPress and Drupal leading the pack. In the other class lies the CaaS options lead by Contentful and Prismic.
Each of these options has some advantages and disadvantages, but put in a nutshell with a CaaS you loose out on flexibility and cost if you have large numbers of content. Then again a CaaS provides a low-overhead way of getting started and sometimes even for free.
For GraphQL enables options here are some of the most interesting options on the market.
Contentful is the CaaS leader, with a GraphQL server available for users. It does add some complexity, but on the other hand Contentful will probably integrate it into their core product in the future. Contentful has excellent documentation and even a free tier that works well for hobbyists.
WordPress is the most popular CMS in the world and already has some GraphQL plugins in the works, some of which are very capable. The WordPress ecosystem is huge and provides a lot of plugins, but unfortunately decoupled sitebuilders using GraphQL will lose a lot of the benefits of these.
Cosmic.js is a new player in the CaaS market with some high profile clients such as Volkswagen and Microsoft. Unfortunately for more complex use cases Cosmic.js continues to fall short for advanced features such as workflows and custom field types.
eZ Platform is an enterprise grade CMS build on the Symfony Framework. It provides a solid base for a content driven business, but does come with added complexity for beginner users. For GraphQL there is a good integration to the core API that provides a GraphQL view into the content repository.
GraphCMS is a product that is similar to Cosmic.js. It is a CaaS provider that has been native to GraphQL from the very beginning. It offers a very low barrier to entry for developers, but like other CaaS options it falls short on customizability and complex content modeling needs.
Drupal is an old school CMS that went through a modernisation from 2012 to 2015 with a large scale rewrite based on the Symfony components. Drupal can be extended in multiple ways, and there are even distributions like Contenta and Reservoir that mimic a pure content feed aking to Contentful and Prismic. For GraphQL there is a module in development for Drupal, but it is not yet stable.
Out of these options content publishers with significant will likely be best off with heavy grade hosted options like Drupal or eZ Platform. For more simple content management and simple content models, WordPress will likely be the best options. For lightweight content management needs, like mobile apps, - CaaS products like GraphCMS or Cosmic.js are a perfect fit.