The pandemic brings us a new reality where people cannot be near each other and social relationships take a new breath. Staying at home is not easy for anyone, and that is why the video calls are gaining popularity. This post explains why we choose to implement Jitsi as our video call system instead of other alternatives.
Notwithstanding some criticism, the tagless final pattern continues to gain popularity among the Scala community. I want to share some things I learned while working with tagless final for about two years.
We are going to explain how to create a simple RSS reader application with the new and exciting framework Flutter, a cross platform solution based on Dart language.
We have created Web Components with X-Tag, Vue.js and Polymer. Now we are going to create Web Components with a new but popular JS tool, StencilJS.
In our previous posts we created Web Components with X-Tag and Vue.js. It is time to continue this series with another episode. This time we will see Polymer in action.
Domain-specific languages are a powerful tool for structuring programs. In this article, we focus on the challenge of composing programs from multiple DSLs. We present an efficient and extensible approach by combining two complementing patterns: Tagless Final and free monads, specifically the Eff monad.
In our previous post, we showcased a small example with Web Components and the xtag library. We brought component-based development to the Web, an approach commonly used in Non-Web UI developments and frameworks. In this post we focus on the component-based development pattern and implement our
be-cat components with Vue.js.
The W3C has accepted Custom Elements, HTML templates, HTML imports and Shadow DOM as part of the HTML standard. Some of the proposals will be included in the DOM specifications directly. These are good news for web developers, we can start now to create applications based on web components.
Monads are valuable tools for handling various concerns in functional programs. In this article we show how domain-specific languages and the Tagless Final pattern can be utilized to build modular monadic programs.
Imperative programming makes it easy to write complex programs, but hard to write correct ones. One reason for this is that imperative languages refuse to properly deal with effects. The article shows why effects should treated as first-class citizens and how things can be improved by switching from imperative to functional programming.
Estimated reading time: 8 minutes