Aller au contenu

ADR-002 (learnkorean) — Framework UI : React

Statut : accepté (2026-07-19)

Contexte

Capacitor (ADR-001) embarque une app web : il faut choisir le framework de cette app. J'ai touché à Astro/Tailwind (portfolio) mais je n'ai encore aucun framework d'interface réactif — c'est l'occasion d'en apprendre un, et le choix pèse sur mon CV.

Comparatif pondéré

Question : quel framework pour l'interface (mobile v1 + web v4) ?

1. Filtre éliminatoire

React (MIT), Vue (MIT), Svelte (MIT) : tous libres.

2. Critères et pondérations (total = 100)

Critère Poids Pourquoi
Valeur CV / demande du marché 30 Objectif assumé du projet
Courbe d'apprentissage 25 Temps compté
Adéquation (écosystème SPA/mobile, réutilisation web v4) 25 Router, gestion d'état, requêtes API
Pérennité 20 L'app vivra des années

3-4. Candidats et notation

Critère (poids) React 19 Vue 3 Svelte 5
Valeur CV (30) 5 — n°1 du marché front, de loin 4 — solide, surtout dans l'écosystème PHP/Laravel 3 — apprécié mais niche
Courbe (25) 3 — JSX et hooks demandent un temps d'adaptation 4 — templates proches du HTML, réputé doux 4 — syntaxe légère
Adéquation (25) 5 — écosystème géant (TanStack Query, React Router), très éprouvé avec Capacitor 4 — très bon aussi 3 — écosystème plus restreint
Pérennité (20) 5 5 4
Score pondéré / 5 4,50 4,20 3,45

5. Recommandation

React, avec Tailwind (déjà connu) et TanStack Query pour parler à l'API. Vue aurait été le choix « confort » (et l'ADR le note : c'est une très bonne alternative, notamment si la courbe React se révélait trop raide) — mais à investissement d'apprentissage comparable, React rapporte davantage sur le marché, et ouvre la porte de React Native si un jour un vrai natif s'impose. Ce que les chiffres ne captent pas : apprendre React pendant qu'on construit un produit, c'est plus lent au début — les premiers lots de la phase 4 seront calibrés en conséquence.

Décision

React 19 + TypeScript + Tailwind + Vite. Je le valide le 2026-07-19 — j'assume la courbe d'apprentissage pour la valeur marché ; Vue reste le plan B documenté.

Conséquences

  • Stack front : React + TypeScript + Tailwind + Vite (build) — Vite est aussi ce que Capacitor attend.
  • J'apprends React sur ce projet : lots de phase 4 plus petits au début, revues de code pédagogiques.
  • Le portfolio reste sous Astro (pas de migration : outil proportionné).