Introduction
Last updated
Last updated
Marble.js is a functional reactive HTTP middleware framework built on top of platform, and library.
If you don't have any experience with functional reactive programming, we strongly recommend to gain some basic overview first with or with written by .
See our GitHub page:
If we think closely how typical HTTP API works we can quickly recognize that it deals with streams of asynchonous events also called as HTTP requests. Describing it very briefly - typically each request needs to be transformed into response that goes back to the client (which is our event initiator) using custom middlewares or designated endpoints. In reactive programming world, all those core concepts we can translate into very simple marble diagram:
Marble.js requires node v8.0 or higher:
or if you are a hipster:
In this world everyting is a stream. The core concept of Marble.js is based on the event flow of marble diagrams which can be used to visually express time based behaviour of HTTP streams. Ok, but why the heck we need those Observables
? Trends come and go, but asynchronously nature of JavaScript and Node.js platform constantly evolves. With reactive manner we can deliver complex features faster by providing the ability to compose complex tasks with ease and with less amount of code. If you have ever worked with libraries like , or other libraries that leverages functional reactive paradigm, you will feel like in home. Still there? So lets get started!