Have you ever had a drunken conversation at the pub, where you come up with an amazing idea only to never do anything about it? A group of drunken lads came up with the concept for a Javascript CMS in 2014, which seemed like a good idea but probably a little too much work and effort to actually develop 🍺🍺🍺

The makers of Keystone CMS seem to have had the same idea as us and have just released a Javascript CMS. In a world that is becoming more service-orientated, the need for powering a website completely with server-side technologies is decreasing.

I've been working with .NET powered CMS systems since .NET first came out with version 1. The idea of a Javascript CMS then would be laughable. Javascript wasn't powerful enough to provide such capabilities at the time. Nowadays, it seems like there's a new Javascript framework coming out every month. The art of what's possible with just client-side libraries alone is rapidly evolving. If you take a step back and think about it, there are a lot of benefits of a JS CMS.

What Is A Javascript CMS?

Creating a CMS that isn't reliant on .NET, PHP, Ruby or whatever else means the product is open to more people. Your content can come from a service, written in any language you want. As long as the content is delivered completely via APIs and end-points, the CMS could be powered by anything. Episerver, Umbraco, and Sitecore will all face the same dilemma in the next few years... Microsoft is releasing .NET Core very shortly, which completely changes the way we will all write our code.

This poses a big problem for all these vendors, firstly, they will need to support it and secondly, they will need to rewrite a lot of their existing code if they want to keep up. Instead of wasting hours doing this, they could start to decouple and write the front-end CMS part purely in JS and move all the backend logic into services.

Obviously, this would be a massive change and it would make a number of .NET developers unhappy, but as front-end technologies mature, more JS CMS frameworks will start to emerge. With package management tools like Node.js and NPM, this could mean that developing/adding custom packages into the CMS could be as easy as installing a new NPM package.

Every year more developers are learning front-end technologies. By using a front-end CMS, it will mean designers who don't know backend technologies like C# will be able to roll out projects without anyone else's help. Certain companies will be able to save on staffing, as they may get away with only hiring one front-end person who can do the CMS integration, rather than needing to hire two developers, one for the frontend tasks and one for the backend tasks. Episerver and Umbraco already provide cloud-based products with Umbraco as a service and DXC. so even server-side CMS systems could walk this path if they really wanted to πŸ€”

The future JS CMS backend could live completely in the cloud as a service and then the front-end framework just makes API calls to display, create and edit content. Having your CMS in the cloud means it will scale easily and remove a lot of the IT resourcing costs, so another potential saving in infrastructure.

As a developer who has come from a server-side background, the thought of everything moving to JS slightly scares me, however, in reality, I cant see the world moving in any other direction eventually.

Even though I think the JS CMS is a great concept, I wouldn't recommend an enterprise-level organization jumping on the bandwagon yet.

With technologies still changing so rapidly, there's a very high risk that you will need to re-platform if you picked a JS CMS now. Things will change dramatically in the next few years. If you think the JS CMS is a good idea and want to learn more, then I suggest you download Keystone and build a demo website. With products like Keystone starting to appear it only highlights the importance of server-side developers learning client-side technologies now.

KeystoneJS

Happy Coding 🀘