Offline support almost without Javascript

Posted on 2024-02-27 in Programmation • Tagged with PWA, HTML, Javascript

Recently I wandered wether I could build a website with offline support without building a full SPA. The answer is yes it’s doable: you only need Javascript for the service worker. Just for the fun, I also tried it with navigation done with HTMX and without much surprise it …


Continue reading

Writing RSS reading app with various frontend frameworks

Posted on 2023-09-09 in Programmation • Tagged with Web, Javascript, Typescript, React, Angular, Svelte, Vue

During the summer, I decided to test a few frontend framework to see what’s going on in this space and form a better opinions over alternatives to React. I tested Svelte because after hearing from it I felt attracted to it, Vue because it is popular, React to have …


Continue reading

React hook to load fonts

Posted on 2022-06-11 in Trucs et astuces • Tagged with JavaScript, React

If you need to load a specific font in a component, you can use this hook. It will return true when the fonts are loaded. It relies on the document.fonts API to load the fonts. If the fonts are already loaded, the promise will be fulfilled immediately and the …


Continue reading

Yarn workspaces and mono repos

Posted on 2022-02-06 in Programmation • Tagged with Devops, JavaScript

I currently work in a small startup with two other developers. We have three projects: an API written in Python with the Django web framework, a big React app and a website written with NextJS. All these project are in the same git repository. This allows us to easily share …


Continue reading

Testing the re-frame Clojure frontend framework

Posted on 2022-01-16 in Programmation • Tagged with JavaScript, Clojure

I wanted to test re-frame a Clojure framework for building user interfaces. It is built on top of Reagent a Clojure library to interface with React in ClojureScript. The main goal of this framework is to help you manage the state of your application. To do that, you need to …


Continue reading

Testing the Svelte JS framework

Posted on 2022-01-03 in Programmation • Tagged with JavaScript

After hearing good things about the Svelte JS framework, I decided to give it a try. To test it, I did something very original: the classic TODO app. You can see a picture of the end result on the screenshot below.

The styled app

Here are my impressions after this tests:

  • Despite using …

Continue reading

Generate PDF from React components

Posted on 2021-09-26 in Programmation • Tagged with JavaScript, React, Chrome, Puppeteer

How do you generate a PDF from any React components? I am not talking about just allowing your users to print a page into a PDF with their browser, I am talking about transforming a page as PDF programmatically and saving it server side. The idea is for our user …


Continue reading

Make JS code communicate with a ServiceWorker

Posted on 2020-08-18 in Programmation • Tagged with JavaScript, Web, ServiceWorker

If you need to send data from your JS code to your ServiceWorker, you can do it like this:

navigator.serviceWorker.register("./sw.js").then(registration => {
    registration.active.postMessage("Some message");
});

You can then rely on this code in the ServiceWorker to read the message:

self.addEventListener("message", event => {
    console …

Continue reading

Aurelia Store and Immer

Posted on 2020-08-09 in Aurelia • Tagged with JavaScript, TypeScript, Aurelia, RxJS

I spoke last year of Aurelia store in this article At the time, it wasn't possible to combine Aurelia Store and Immer. The root cause of the issue was fixed in the latest version of Immer (7.0), so we can now combine both.

Let's study how to do this …


Continue reading

Switching from Aurelia CLI to Webpack

Posted on 2020-07-04 in Aurelia • Tagged with JavaScript, Aurelia, Webpack

Recently I decided to change the build system I use on my main Aurelia project. I changed in April 2016 from JSPM to Webpack (JSPM was really not awesome at the time, I can't say for now), again in August 2016 from Webpack to the CLI and now I am …


Continue reading