GraphCMS: The First Headless CMS Built Around GraphQL
The concept of a headless content management system has lately been one of the most debatable topics in the content management system industry. While some say it is a game changer approach, others believe it may seem more groundbreaking than it is. As we keep debating whether it is an either-or situation, a new player has recently waded into the headless CMS foray. GraphCMS, API-first content management system provider, has officially launched its flagship product named the same as the company. What differentiates this Giessen, Germany-based startup is the fact that its product is the first headless content management system that fully utilizes the power of GraphQL, a data query language for APIs that originated at Facebook in 2012.
Speaking to CMS-Connected, Michael Lukaszczyk, CEO and co-founder of GraphCMS, explained how they came up with the idea and what their goals are: "Being developers, it was easy to understand that traditional content management systems could not keep up with the requirements of modern, multi channel app development. The mobile and internet of things revolution is forcing CMS vendors to rethink their product strategies, as content now lives on multiple platforms. REST based, API-first content management systems, so called headless content management systems entered the landscape as a logical consequence. And while REST is basically doing the trick, it has some limitations that make developing sites and applications a pain. Our mission is to remove these pain points by using the power of GraphQL and take the idea of a headless CMS to the next level." He also added: "This is just the beginning and we are excited to bring significant improvements to the world of content management."
What Makes GraphCMS Unique?
It is great that GraphCMS has a differentiating factor but what are the key benefits of a CMS built around GraphQL?
To start with, your client can specify the shape of the data it requires from the server as a GraphQL query returns exactly what a client asks for and no more, whereas REST API may result in a huge amount of data over-fetching, when what your client needs is only a small portion of the data which is relevant to the application.
Secondly, since your application receives only the data it requested, the payload is limited to the minimum. According to GraphCMS, this becomes especially beneficial in mobile or low bandwidth scenarios.
Thirdly, since GraphQL query is an efficient way for a client to communicate its data requirements, communication overhead is reduced. In other words, even a complex content graph is queried, GraphQL will be able to deliver all data in just one round trip.
Another advantage GraphQL provides is to save you from the frustration of writing and maintaining API documentation as through introspection all of your API documentation will be generated automatically.
By the way, you may think that there is also Graphcool that utilizes GraphQL. One of the differences between the two is, while Graphcool provides developers with a production-ready GraphQL backend to build better apps faster, GraphCMS is built for both developers and content editors to cover the use cases around content and content app creation.
The platform is designed for developing a hosted GraphQL backend that provides the tools needed for content management.
As Simon Sinek puts it, "People don't buy what you do, they buy why you do it." So what is the issue GraphCMS endeavors to address with this platform? As Michael indicated, their mission is to remove the issues that arise from the RESTful approach. In other words, the vendor claims to provide its customers with a very compelling set of tools to overcome the challenges they may face with the REST API thus the company believes the generated GraphQL content API is superior to the REST APIs. “Developers love our generated GraphQL-APIs as they provide a much-improved developer experience compared to REST-APIs," said Michael Lukaszczyk. This is also where GraphCMS differentiates itself from its competitors, such as Contentful, CosmicJS, and Prismic. "We want to enable developers and content editors to easily create the best digital experiences they can think of, without having to struggle with REST-APIs," he added.
Knowing many of the people reading this article will likely never have used a headless CMS system before, I wanted to pick Michael's brain if he has any words of wisdom for our audience. Here’s what he said: “Headless Content Management Systems have grown big time in the recent years and are enjoying immense popularity. The really big difference to a conventional CMS is the missing front-end, which certainly opens up a great set of possibilities. For developers, the headless CMS provides an API for the stored content. For editors, the CMS provides great tooling to manage all their content. Your front-end applications then fetch data from this API and display it.”
Just like the majority of startups, limited time resources was one of the biggest challenges for the co-finders, Michael Lukaszczyk and Daniel Winter, when they were giving birth to GraphCMS. To tackle that issue and pick up speed, following the first prototype, they made a partnership with Graphcool to build “the next CMS generation” based on GraphQL. The company also works with some third-parties, and Algolia is one of the recent integrations the vendor made in an effort to provide agile search experiences in the API. The founders describe their product as content micro service, as it fits in any tool chain dealing with content. While the startup is looking for ways of expanding its footprints into the enterprise world, their current customers mostly consist of freelancers, digital agencies, and startups.
Lastly, I inquired with Michael Lukaszczyk with the next step for the company that we will see in the near future. “We are the first API CMS to bring critical Backend-as-a-Service features to the domain of headless content management. This will allow our users to develop sites and apps with user authentication and a powerful authorization system. This will be a major release in the coming months and will allow thousands of new use cases,” contended Michael Lukaszczyk.
First of all, considering how popular the concept of a headless content management system and GraphQL have been nowadays, it couldn’t be better timing for giving birth to the idea of building a headless CMS and bringing the potential advantages of GraphQL into that equation. For that reason, kudos to GraphCMS. That being said, if you asked me whether you should utilize the platform, sorry but I’d answer with maybe one of the most annoying words in the dictionary; “depends”. It really does, though! A headless CMS offers new capabilities for creating rich web and mobile experiences and unleashes the creative power of front-end developers but comes at the price of sophisticated development skills and experience. Because the shift to a headless CMS approach involves heavy reliance on the IT teams, the mid-market, for instance, is less likely to want to take a pure headless CMS approach as they may feel, a traditional CMS can provide great value and there is not necessarily added value in a headless or even decoupled CMS.
To put this into perspective, think about governmental websites where the content is expected to be very informative and rich but the presentation is really not the priority. In that case, there is no point of putting extra effort, time, and money to develop a custom front-end whereas a coupled CMS will be perfectly fine and more efficient to get the job done. On the flip side, if you have a multi-national audience, or if your website heavily relies on mobile apps and even displays content on very specific connected devices, then having a headless CMS provides you with the flexibility of content deployment you need where the coupled CMS template system seems to be too limiting. Additionally, the needs for content delivery may change not only based on organizations but also based on different projects within the same organization.
All these approaches come with their own pros and cons but, at the end of the day, it is a matter of priorities and what you could compromise on to get those priorities done in a timely fashion. If you need a playground to see yourself and explore more about GraphCMS, I recommend you visit their homepage and start playing around.