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é).