React, Flux, GraphQL, Hack, HHVM...? All of this and more!
There are always a number of megatrends fining on in the world. This may seem like a fancy wire, but in essence it means that the masses are adopting behaviors and technologies.
For Content Management Systems the absolute king of trends for a number of years has been Open Source. Nowadays there are a number of free CMSes capable of amazing thing for the cost of nothing.
Looking beyond the fact that open source won the content management race is what's up next. Experts who have been working with Open Source CMSes like Drupal, eZ Publish, Joomla! and WordPress are likely the best to see new trends emerging. This is not by skill or pure intelligence, but simply exposure to thriving ecosystems where new technologies are put to the test often.
While many of these old guard tools are looking to reinvent themselves, it's a fact that with the amount of features these tools have gathered in over a decade of active development means they've got some serious baggage. This is why looking at popular CMSes is not the right place to find the best implementations of new technologies.
The front end UI of Relax is built using nuts and bolts from the React ecosystem, with React and Redux being the most prominent ones. With Relax being built on these new technologies, it enables enthusiasm from developers to work with them. Rather than working on systems like WordPress or Drupal, developers prefer working on the latest and greatest - for better or for worse.
In addition the CMS uses GraphQL natively. Unlike REST, which is open to interpretation, GraphQL explicitly defines a Query Language to access data from any individual backend - regardless of the flavour or system they have been built in. GraphQL has alternatives like Falcor from Netflix, but at the moment it seems that GraphQL has superior momentum to other alternatives, with GraphQL support for CMSes popping up weekly.
Since Relax was created, we've switched from ES5 to ES6, from a REST system to GraphQL, grunt build to webpack, Backbone to Redux and React Router, and recently we've introduced Relate into the mix.
Many developers don't fancy CMSes because they tend to be bloated with features and are used to power everything from your local pizza parlours' website to the mobile app in your pocket.
It will take time for new tools to reach this level:
At this point in time there are no credible Node.js content management system players that would have something that would be comparable to something like SiteCore or even Drupal.
- Looking for a Node.js CMS for an Enterprise?
The bloat is there for a reason. In addition to content management, there are a lot of other tasks that people expect CMSes to perform. Site layout management, user permissions and data collecting forms are just a few examples.
So before Relax can compete with WordPress, it needs to be a platform others can extend on. Once this is there, then gathering a community of users that will make it a credible alternative to the currently popular roost of CMSes out there. Especially with support for GraphQL, which enables decoupling from CMS REST API implementations.
And it's always worth remembering that with new technology complex problems don't necessarily go away. In fact they might introduce new ones. While UI development with contemporary tools like React and Redux may be more productive than with some of the older methods, the NoSQL datastore might be a hindrance in the long run, especially when it comes to enabling the creation of chunky content.