NodeJS: Brilliant, Amazing, and Useless

The first site I ever built was in Microsoft FrontPage. If you’ve never used FrontPage, I’ll describe it as “like using Dreamweaver… but worse.” That should scare you. While it is cringe-worthy now, it did get me my start. Then I moved on to hand-coding HTML in Notepad. Then I picked up CSS. Then rudimentary JavaScript. Eventually learning the basics of PHP and the magic of including a common header and footer. Then it was all over. I was hooked.

From then on, and for the past 16 years, I have been a PHP and MySQL fanboy. It has never let me down, and has offered a platform by which to build a business. Aspects have evolved, of course, with the most significant change being Object Oriented Programming (OOP). But at the end of the day, I’m still building full-featured online experiences using the same languages as I did a decade and a half ago.

Enter NodeJS.

The first time I used NodeJS, I was extremely impressed with how lightweight it felt, and how fast it was. However, I could tell it was young, and not yet proven. That was a few years back, and things have changed. NodeJS has grown up, and is now incredibly powerful and utilized by millions.

In summary: NodeJS is brilliant.

But a clear divide has started amongst the development team. A minority believe that LAMP (Linux, Apache, MySQL, and PHP) is still the way to go, and the vast majority believe it’s NodeJS or bust. I’m part of the former.

I understand why NodeJS is preferable: it’s fast, nimble, allows for using the same language both on front-end and back-end, has a modularized package for just about everything, and starkly contrasts the gray-haired 10,000 pound dinosaur that is PHP.

I have even personally built and deployed production software that harnesses NodeJS’ impressive powers; typically for cheap and lightweight services or for utilities such as crawlers, thumbnailers, and other helpers.

I truly get it: NodeJS is amazing.

But where NodeJS falls flat is with applications that require a CMS. There is no adequate solution for this, and that keeps NodeJS from being of much value to our agency aside from the aforementioned use cases.

Therefore: NodeJS is useless.

I have challenged my team to come up with a solution that would allow us to transition from using PHP to using NodeJS for a legitimate client project that requires a CMS. This is no small feat, as a CMS is a difficult thing to do well, let alone do it on a platform that hasn’t cracked it yet.

The end-goal is to have a NodeJS alternative to OctoberCMS, which is our PHP framework of choice. Think about it: the flexibility of a user-friendly CMS combined with the power and opportunity of NodeJS. It’s the golden goose, and something the development community desperately needs.

Our basic criteria for a CMS includes:

  • repeater fields
  • relationship fields
  • user management
  • permissions management
  • automatic caching and busting
  • custom admin-area UI/UX
  • integration with file stores such as Amazon S3
  • extensible with modules and plugins

Anything more is a bonus.

Do you know of a NodeJS-based CMS that solves the CMS problem? Leave a comment below! If not, continue to follow us for future updates on our killer app.

Leave a Reply

Your email address will not be published. Required fields are marked *