From 6ff63973b901fd026f35518f3b191ba086ff8cc4 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Sun, 23 Feb 2025 18:14:39 +0100 Subject: [PATCH] ESM motivatie --- Design-keuzes.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Design-keuzes.md b/Design-keuzes.md index 44dc291..eb1284b 100644 --- a/Design-keuzes.md +++ b/Design-keuzes.md @@ -2,13 +2,21 @@ ### Programmeertaal -Dit project wordt geschreven in TypeScript (TS). De klant vroeg een project in JavaScript (JS) of TS. Er werden de volgende overwegingen gemaakt: - **TS in plaats van JS?** -- :white_check_mark: Statische typering laat ons toe om typegerelateerde fouten at compile time op te vangen ("type safety"). +Dit project wordt geschreven in TypeScript (TS). De klant vroeg een project in JavaScript (JS) of TS. Er werden de volgende overwegingen gemaakt: + +- :white_check_mark: Statische typering laat toe om typegerelateerde fouten *at compile time* op te vangen ("type safety"). - :white_check_mark: (Meer) ondersteunende tooling zorgt voor een fijnere developer-ervaring. -- :white_check_mark: Door een future-proof programmeertaal te kiezen is ons project klaar voor de toekomst. +- :white_check_mark: Door een future-proof programmeertaal te kiezen is het project klaar voor de toekomst. - :negative_squared_cross_mark: Het team heeft een kleine leercurve te gaan. -Uiteindelijk wogen de voordelen zwaarder door dan de nadelen, en werd er voor TS gekozen. \ No newline at end of file +Uiteindelijk wogen de voordelen zwaarder door dan de nadelen en werd er voor TS gekozen. + +**ECMAScript Modules (ESM) in plaats van CommonJS (CJS)** + +Dit project maakt gebruik van ESCMAScript Modules (ESM). Er wordt geen gebruik gemaakt van CommonJS (CJS) omdat: + +- ESM wordt als (meer) future-proof gezien dan CJS. Zo kan dit project langer ontwikkeld worden zonder ernstig *refactoring*. +- ESM is deel van de ECMAScript specificatie, waardoor er tijdens de ontwikkeling teruggevallen kan worden op bestaande specificaties als dat nodig is. +