Marble.js – new open source framework for JavaScript

The strongest foundation for every successful company is its people. At Boldare, we are proud of every single person who takes part in our journey of building amazing digital products because we know that they are exceptional individuals and team players. And the Marble.js framework by Józef Flakus perfectly illustrates what kind of forward-thinkers we have working with us.

The Marble.js framework is an open source project created by Józef Flakus, Boldare’s JavaScript Developer. He built it as a response to the lack of a new approach to programming in the backend world of Node.js. The purpose of Marble.js is to be an HTTP middleware for the Node.js platform, which at its core is based on the functional reactive programming paradigm in RxJS. Thanks to Marble.js, the developers can create an API in condensed form which is faster and easier to expand.

Why Marble.js? The inspiration for the name came from a popular form of notation and visualization of asynchronous data streams, also called „marble diagrams”, which are used for teaching, and documenting the data flow and stream transformations.

I asked Józef why he decided to build Marble.js:

In my opinion, reactive programming is not just a simple trend but a real direction in which JavaScript is heading. Reactive programming allows faster functionality increments through its ability to determine complex behaviors much more simply and with less code. The only obstacle standing between today’s approach and the future is to understand the paradigm. From a technical and business point of view, it’s worth adopting and investing in reactive programming. Interestingly, this is not a new solution – libraries such as RxJS have been with us since almost 2009, but until the new version of Angular was released they were not so popular.

If you like to know more about the philosophy behind Marble.js, you can check the project documentation on GitBook and visit Marble.js GitHub profile.

Using a lean startup approach for Marble.js

Building a new framework is not something you can do overnight. It is always a process with a clear philosophy behind it. For Józef, the idea for Marble.js was born months ago. However, he took his time and made sure that there were no similar solutions on the market.

>>Interested in lean approach? Check out Polco case study

After analyzing the market, Józef got to work. He decided to use a lean approach for the whole process. In just one week, he built a working proof of concept (POC) of Marble.js, and after just one more week, he had an MVP of the product online. To validate his ideas, Józef took the MVP to the JavaScript community. He gathered feedback and started to improve Marble.js in subsequent iterations. At the moment of writing, Marble.js is in the pre-release stage, and Józef is still enhancing this open source framework based on community feedback.

Marble.js to enrich reactive programming

Marble.js received an incredibly positive response from the JS community. In the first week of its publication on GitHub, Marble.js earned 700 stars (and for the first two days, it was the most popular TypeScript repository) and its fair share of exposure on social media, getting attention from, among others, Ben Lesh (core maintainer RxJS) and Minko Gechew (Google Developer Expert).

What are the plans for Marble.js? Józef:

The short-term plan is to release a 1.0 version of the framework within the next two months. But for the long run, I would like to create a community around Marble.js. Because it is an open architecture based on a ‘middleware system’ the community can create its own (let’s call them) plugins to complement the infrastructure. I also hope that Marble.js will contribute to the popularization of the reactive programming approach.

I keep my finger crossed.