Mon point de vue sur le monde

Optional chaining : meilleur ami ou pire ennemi ?

Intégré à ES2020, présent depuis 2018 dans Babel et depuis la version 3.7 de Typescript, l’optional chaining est un opérateur largement utilisé aujourd’hui. Même si l’intérêt d’un tel opérateur est indéniable, regardons ensemble les biais et les mauvaises pratiques qui peuvent émerger de son usage.

Lire la suite  ↩︎

Qu'est qu'on pourrait améliorer sur Angular ?

Je vous propose quelques fonctionnalités qui pourraient améliorer la Developer eXperience et le framework dans sa globalité.

Lire la suite  ↩︎

Exploiter les Discriminated Union en Typescript

De quoi parle-t-on ?

En Typescript, il est possible de définir des types de plusieurs manières : interface, classe, enum, mot-clé type, as const, etc. Dans cet article, nous allons nous concentrer sur les types construits à partir d’une union disjointe et les avantages d’une telle pratique. L’union en Typescript se fait via le symbole | (ex : type Union = A | B | C). Le terme disjoint n’est pas anodin car contrairement au polymorphisme, les types que l’on va utiliser peuvent ne rien avoir en commun.

Lire la suite  ↩︎

Du pattern matching en JS ?

Non malheureusement ce n’est pas (encore) possible en Javascript, ni en Typescript. Mais on peut essayer de s’en rapprocher, notamment en séparant l’identification d’un scénario de son exécution. L’objectif est de renforcer la lisibilité et rapprocher le code du problème à résoudre. Pour illustrer le propos, nous utiliserons le traitement d’un article de blog (ajout, suppression, publication, etc.) à partir des informations contenues dans cet article. De plus, je vous propose d’y aller étape par étape afin que vous puissiez appliquer ce refactoring dans votre code.

Lire la suite  ↩︎

Deep dive Angular : Performance des templates

La performance est un sujet récurrent quand on parle de frontend. Les principaux acteurs (librairies/frameworks Javascript) y font tous référence dès la page d’accueil. Angular est connu pour intégrer un bundle plus complet mais plus lourd que ses concurrents directs. Même si ces différentes technologies n’embarquent pas les mêmes fonctionnalités, il reste une problématique à résoudre pour tous : le rendu HTML. Nous allons analyser ensemble le fonctionnement d’Angular dans trois cas précis : la gestion des blocs statiques, la mise à jour du DOM et la mise en cache de valeurs.

Cover

Lire la suite  ↩︎