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?  We came up with a 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 seem to have had the same idea as us and have 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 and just wasn't possible with the technologies at the time.  Nowadays, it seems like there's a new Javascript framework coming out every month and what's possible with just client-side libraries is rapidly improving. If you take a step back and think about it, there's 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 CMS completely works from an end-point, 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 adding new packages.

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 a backend and Episerver and Umbraco already provide cloud-based products with Umbraco as a service and DXC.  

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 removes a lot of the IT resourcing costs, so another potential staff saving.

As a developer who has come from a server-side background, the thought of everything moving to JS slightly scares me, but, in reality, this is the way some of the worlds will go as it just makes sense.  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 platform as 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.


You can find more about Keystone here.  Enjoy!