React, Flux, GraphQL, Hack, HHVM...? All of this and more!
Headless Content Management tools provided as services available via a HTTP API have grown in popularity. They are often used in scenarios where content plays a peripheral role and where functionality is complex and Monolithic CMSes like Drupal or WordPress are not ideal in their architectural approach.
Over the years there have been more entrants to the headless CMS market, but Contentful has risen to be the household name. Contentful has had some rivals like SaaS product Prismic.io or Directus, an Open Source headless CMS, but the Berlin based startup is still top-of-mind for most devs and customers considering using a Content API.
Over 2017 the meteoric rise of GraphQL as a communications protocol caught the headless CMS juggernaut Contentful by surprise. The company added GraphQL support to Contentful, but as a separate server application it seems like an aftertought. The market is now teeming with Content as a Platform (CaaS) providers boasting GraphQL support, which together with universal frameworks like Next.js make development of headless CMS implementations efficient.
These upstarts have been able to architect their services from the ground up to follow best practises for graph based content management. Novel GraphQL based CaaS services like Cosmic.js and GraphCMS are challenging Contentful in it's own game. In additional traditional players like Drupal are being shoehorned to the headless world through initiatives like Contenta and Reservoir.
A megatrend in the Open Source industry has been the Cloud - providing scalable computing to players from single person shops to start-ups to global conglomerates. This has unlocked possibilities that would have not been imaginable during the dotcom boom when investing in hardware was in the hundreds of thousands of dollars.
The cloud has been a revelation, and is now a mature market. The market has centralized with three players, Microsoft's Azure, Amazon's AWS and Google's GCS now form essentially three mainframe computers - leaving niche markets for high performance virtual servers and applications requiring sovreign hosting in a specific country or geographical location.
The cloud infrastructure services are also used by PaaS services like Heroku and Platform.sh, and even higher up the foodchain are SaaS providers like headless GraphQL CMS providers. These services all provide turn key capabilities to start serving content, but also come with complete vendor lock in and limited flexibility compared to self-hosted Open Source options.
In an ideal situation organizations could start off with a CaaS, but expand beyond once they need complex authentication integrations or data protection for GDPR. For these cases the best option would be an productised Open Source Headless CMS supported by a commercial entity.
But since this is somewhat conflicting, there have not been many alternatives like this. There are commercially backed Open Source CMSes with GraphQL support, but the key cloud players have traditionally been closed source - leading to the abovementioned hinderances like limited scaling and high prices with large content volumes.
Close to CaaS concepts lies a technology known as BaaS (Backend as a Service). CaaS is technically only a content specialized BaaS. The most common GraphQL BaaS is GraphCool. Originally GraphCool was proprietary, but in October 2017 the team made the bold decision to license their GraphQL BaaS framework under the Open Source Apache 2 license: Introducing the Graphcool Framework
In January of 2018 this move was followed by GraphCMS, the leading GraphQL. In an announcement the company behind the service states it will release the source during Q1 of 2018. This leaves time for some code clean up and API improvements:
In the same turn, we are improving the performance and reducing the bundle size drastically. We learnt a lot in the last years and now we want to apply this knowledge to provide a much improved experience to our content developer community.
- Open-Sourcing GraphCMS and Upcoming API Improvements
This makes GraphCMS the first system to fulfil the ideal situation from seamless moving from a CaaS to a self hosted version for projects and customers that this is ideal. Similar flexibility is offered by Gitlab, a powerful player in the development tool market - seeing success in a similar licensing model.
So while there are still no single CMS in JavaScript realm suitable for the enterprise, capable of delivering requirements like workflows and complex permissions, there is now an interesting open source alternative for lower tier solutions like Keystone.js and WordPress.
While you wait for the open source release of GraphCMS, you can already get started with the free tier of their service to find out what to expect when the self hosted version lands. Sign up for an account on GraphCMS.com.
Tweet