While I was working on our toolkit library Desmond I stumbled upon a problem when defining the TypeScript definition for a function
As you might know from our previous blogs, our primary language for writing backends is Node.js. One of the main reasons why we have chosen this technology was that we started to feel the limits of all the other classic monolithic applications, where all the basic logics, renders, request processing and so on were done in one codebase. It was rather limiting not only technologically, but also from the human resources point of view. Also in the area of our PHP “ends”, according to our recently finished projects, we used to divide the final depicting layers into the individual thin client written in React. But we wanted to go even further; dividing the backend into multiple smaller and self-maintaining parts.
Reactive programming has become essential for the way we make apps. Most companies today use some sort of a reactive framework, ranging from μFrameworks that implement the most basic Actor model, through hundreds of Future/Promise frameworks with different levels of API richness, all the way up to massive FRP frameworks that introduce a new programming paradigm and shape our application architecture in the process. (more…)