Getting Started with Fable. NodeJS

Photo by Markus Winkler on Unsplash

Welcome back! This article is the part of “Getting started with Fable” series, so if you missed the previous articles please visit:

The idea of this series is to create a fully functional application that can be used as a starting point for any enterprise application. In particular, I’m looking into a full-stack application written in F# which transpiles into JavaScript / React / Redux application on the front-end and Node.js / Express on the back-end. I know that it sounds a bit weird to transpile F# to JavaScript on back-end instead of creating a .NET application.

Continue reading “Getting Started with Fable. NodeJS”

Getting Started with Fable. Routing

Photo by Diego Jimenez on Unsplash

Welcome back! This article is the part of “Getting started with Fable” series, so if you missed the previous articles please visit:

The idea of these series is to create a template which can be used as a starting point for enterprise application of any complexity. So as I’d love to see a functional application with routing, state management, unit tests, end-to-end tests, all possible linting tools, code style checkers, environment dependant configuration, build scripts (I hope I didn’t forget anything important).

Continue reading “Getting Started with Fable. Routing”

Getting Started with Fable. CSS

Photo by Lee Campbell on Unsplash

This article is the continuation of “Getting started with Fable” series, so if you missed the previous articles please visit:

In these articles I’m trying to create the project using Fable and F# as main language. I’m doing this from the perspective of front-end developer, so all these Webpack configurations are not a surprise to me, but I hope that this information will be useful for .NET developers. On the other hand, I face a lot of problems/questions related to Fable and F# and I hope my findings will help front-end developers who are looking for something new in front-end development (personally I dislike TypeScript and looking for a good alternative).

Continue reading “Getting Started with Fable. CSS”

Enable MSAL logging

Photo by Tadas Sar on Unsplash

Today I wanted to share how to enable logging in MSAL JS library. It’s very easy to miss this because it’s not part a basic documentation and it’s hidden in the advanced topics with configurations for .NET and iOS.

Continue reading “Enable MSAL logging”

Service Workers and PWA

Photo by Carlos Muza on Unsplash

Service workers and Progressive Web Application (PWA) are very hot topics right now. And as far as on my latest project I’ve integrated the service worker and PWA I want to share my experience from the perspective of real production usage, benefits and drawbacks. I hope that this information helps.

Currently on my project I’ve faced a need to implement additional client side caching in the Angular application. This decision was influenced by several important conditions in which our application exists. So let me try to give a bit of context here.

Continue reading “Service Workers and PWA”

Getting started with Fable. Scaffolding

Photo by Ricardo Gomez Angel on Unsplash

This article is the continuation of the “Getting started with Fable” series, so if you missed the previous one please visit .

So to briefly recall in the first article we’ve set up the development environment to start the Fable/React project. Now it’s time to prepare a minimal compilable project, which often called a scaffold. The reason I’m writing this is the fact that in my personal opinion doesn’t provide enough details and explanations. It has enough samples but lacks explanations. So I’ll try to fill this gap. This guide is written by the front-end developer, so take in mind that I can assume some things (which are common in front-end development) and give them without detailed explanation. I’ll try to avoid such things, because the idea is to prepare a guide for any developer without any specific background. But if you find something unclear feel free to leave a comment I’ll update the articles with required explanations.

Continue reading “Getting started with Fable. Scaffolding”

Getting started with Fable

Photo by Ilija Boshkov on Unsplash

As a developer I’m always eager to learn new technologies, practices and languages. Currently very interested in expanding my expertise in the functional programming. So at some point I’ve decided to learn functional language, not just functional patterns which can be used in the JavaScript. I’ve a .NET background and taking into account this background I’ve decided to learn F#.

Continue reading “Getting started with Fable”

Migrating from ADAL to MSAL

Photo by Tadas Sar on Unsplash

UPD: Oct, 13th. Version 1.1.3 fixed a lot of issues, most important one is that now tokens’ cache is working properly and requesting token from MSAL is no longer leads to redundant calls.

Recently on my project we’ve started migration from ADAL JS to MSAL JS. If you are not aware, MSAL JS team released a first stable version in May, so it was a good time to try migration.

Continue reading “Migrating from ADAL to MSAL”

Angular tips: async pipe

Today I want to share one important thing about usage of RxJS streams and async pipe in Angular applications. I still face some misunderstanding here or even the facts that people don’t suspect any potential issues with the code.

It’ll be very boring and probably not very useful if I just show code sample with unexpected behavior and code sample with expected behavior, because it might look like “Why are you doing it at all? Isn’t the code looks weird?”. So yeah, I’ll start from the preconditions and use case to explain what I wanted to achieve and how I wanted to achieve it.

Continue reading “Angular tips: async pipe”

Stop writing Unit Tests

The problem I want to discuss is quite strange to me. Several times I was working on the projects where code coverage was one of the key metrics. Unfortunately a lot of managers without technical background know that “High coverage guarantees stable project without regression bugs”. As a result instead of analyzing the project, code base and opportunities project comes to decision that “Unit Tests will save us all (and money, of course)”.

Continue reading “Stop writing Unit Tests”