I have been coining an idea for a while about headless CMS. Naturally, it turns out that my idea is not that unique. In fact there is already a startups like http://www.contentful.com, http://www.prismic.io, http://www.osmek.com, http://www.cloudcms.com, http://www.webhook.com far away on this development.
Idea of Headless CMS surfaced again when I have been looking these static site generators. I found couple of weeks ago Grav, Grav is no-db cms. Basically every page is created as markdown editor on a tree structure on the disk. Then the site runs on top of HTTPHeader generating routing based on the structure on the disk. Grav is built on Symfony (PHP). Benefits on this approach is to be able to provide base structure for a site using markdown that is very similar to static site generators but it can also extended by hooking to database for example if you run a pizzeria you may have “static” content on markdown files and booking a table functionality on database driven. It also has backoffice as a plugin, so you get admin where editor can manage markdown files. Naturally, pages are file based you can have backoffice anywhere and then just have runtime and markdown files deployed to live server. This makes it more secure. Anyway, Grav is worth of checking out if you are interested to look “different” thinking how to create a CMS.
Anywhoooo… back to headless CMS. I was considering since the internet is built more and more from Web Components. How hard would it be to build in Angular2 based CMS that has no serverside techology dependencies, instead it runs solely on JSON api. Though, I do need some kind of JSON store like Firebase to keep things hooked together.