EvenNode, Mozaik, Marko

2015-01-23 00:00:00 +0000 by Alex R. Young


EvenNode is a new hosting service that is dedicated to Node.js. You can get a free app instance which even includes MongoDB, so it's great for quickly deploying MEAN apps. The paid tiers start at €6, which gets you 1GB storage and 256MB RAM. One interesting thing about the paid tiers is they all get unlimited custom domain names, so it's easy to use multiple domain names for each application.


EvenNode supports multiple versions of Node, starting at 0.8.6. You can deploy with Git, and WebSockets are supported out of the box. For more technical details, take a look at the documentation. Sign up only requires an email address and password, so you don't even have to hand over credit card details to try it out!



Mozaik (GitHub: plouc/mozaik, License: MIT, Demo) by Raphaƫl Benitte is a Node-based web-app for showing dashboards. It includes some widgets for CI and monitoring, but you can add more. It also comes with five themes. Of course, you can create your own widgets and themes.

Other than the very clear and attractive design, one feature that I liked was rotating dashboard layouts. This would be cool if you've got multiple teams in the same office that perform different roles. You could rotate between support information, developer tickets/CI, and server monitoring.

Mozaik is built with React and Express.


Marko (GitHub: raptorjs/marko, License: Apache 2.0, npm: marko) by Patrick Steele-Idem is a templating language for Node and browsers that uses HTML with custom tags. It's being used at eBay as part of their Node stack, and it has been covered by some cool blogs like the StrongLoop blog.

There's a live demo where you can try out the syntax. The markup uses attributes for data binding and iteration, so you can say if="notEmpty(data.colors)" and repeat elements with for="color in data.colors". I haven't seen this syntax before, but I think it would be easy to learn if you're used to declarative template systems.

One thing about Marko that makes a huge amount of sense to me is the fact it's asynchronous. You can stream output with Node's HTTP response objects, which will fit in extremely well with frameworks like Express. The design philosophy statement for Marko says "it should be possible to render HTML out-of-order, but the output HTML should be streamed out in the correct order", and I think this is extremely useful.

The documentation is great and you can extend it with custom tag libraries -- why not try it out now?