Why Your Next CMS Project Should Be In Go Programming Language (Golang)

Feb 16, 2019

I started playing with Go Programming Language (golang) several years back (in 2012). It felt like a nifty little language back then. But since then the laguage has picked up so much traction and so many major systems have been built in it that it is hard to ignore.

So what if one were to gather the lessons learnt from Drupal and write a CMS in Go?

What would such a next-generation CMS look like? Would it ...

run as a tiny docker container to simplify deployment issues?
provide an API that is not just well documented, but also safe using compilation step?
run fast in a small footprint?
scale massively first within a single process (via thousands of concurrent lines of execution - go-routines), and then across containers and servers with auto-scaling?
push live content updates from server to the client (browser)?
dynamically load modules as dynamically linked shared libaries (*.so) at runtime?
learn from the success and pitfalls of existing CMS's like Drupal and WordPress?
At least that's the vision.

Golang has almost everything we need:

Fully compiled strongly typed programming language with a mature web-stack, garbage collection, high speed at a small footprint (duh!).
Extreme scalability with channels and go-routines (coroutines). Thousands of active go-routines. Massive concurrency!
Fully self-contained binary that could be run as a docker container.
A plugin-based extension system where the main binary could load extra code from at runtime.
Drivers for almost any database - SQL or NoSQL.
Web-socket implementations.
So come and join me in imagining, shaping, and then realizing this future.

Jitesh Doshi


Hi! I'm Karim Boudjema, the developer and site-builder of this site.

I was wondering how could I giving back to the Drupal community all what it gave to me during the last 10 years, that's how the idea of this site came to me ... (read more)

Hi! I’m Santiago Rico, the web designer and themer of this site.

When Karim proposed me to design and theme this site for the Drupal community, I accepted immediately because the community is the main reason why I love Drupal so much.