- J’apprécie toujours React et ce que propose Vercel, mais je suis passé à TanStack à cause de la complexité croissante et du coût de Next.js
- TanStack a encore des lacunes, mais il est intuitif et permet d’ajouter facilement des fonctionnalités avancées quand on en a besoin
- Tant que les fonctionnalités avancées de Next.js ne sont pas nécessaires, TanStack est le meilleur choix
Les points forts de Next.js
- Mise en place rapide et prise en charge de nombreuses intégrations
- Next.js est un "React Framework for the Web", qui permet de configurer rapidement une application React
- Il existe de nombreux guides d’intégration : MUI, MarkdocDataDog
- Des plugins natifs sont fournis pour des outils comme Jest
- Avantageux pour les applications volumineuses et à hautes performances
- Il est possible d’ajuster finement les modèles de rendu de chaque page
- Diverses API sont proposées pour de hautes performances
- rendu côté serveur (SSR)
- prérendu partiel (PPR)
- edge functions, streaming et hydratation sélective
- La prise en charge de la régénération statique incrémentale (ISR) permet de gérer efficacement des contenus à fort trafic
Limites et problèmes de Next.js
- La complexité de fonctionnalités avancées inutiles
- Les fonctionnalités avancées semblent excessives pour des applications de petite taille
- Il y a beaucoup d’optimisations micro-performances inutiles pour les startups en phase initiale
- Le problème du coût financier
- Beaucoup de fonctionnalités de Next.js sont liées à des services commerciaux
- edge computing (
middleware.ts)
- transformation d’image (
next/image)
- ISR (
export const revalidate = 60)
- exécution de fonctions serverless (
app/api/route.ts)
- La forte dépendance aux services de Vercel augmente le risque de hausse des coûts
- Courbe d’apprentissage complexe et surface d’API importante*
- La complexité de l’App Router entraîne une courbe d’apprentissage élevée
- Dans la documentation, les explications de concepts sont obscures et difficiles à comprendre
- Le débogage est difficile
- Il existe trois systèmes de cache : Full Route Cache, Data Cache et Router Cache
- Prise en charge insuffisante des SPA (single-page applications)
- La prise en charge des SPA par Next.js est limitée et les améliorations de performance sont difficiles
- Les performances du serveur de développement sont en retrait par rapport à Vite
- Les performances de TurboPack sont également décevantes
Les avantages de TanStack + Vite
- Une structure simple et intuitive
- TanStack Router offre l’autocomplétion et la validation des paramètres de recherche via Zod
- Le flux du code est clair et prévisible
- Gestion d’état via TanStack Query
- L’état serveur se gère et se débogue facilement
- Des outils de développement sont intégrés
- Les performances rapides de Vite
- La vitesse de build et d’exécution du code est élevée
- Tout fonctionne immédiatement sans configuration complexe
- Il n’y a pas de dépendance à un service cloud spécifique
1 commentaires
Je pense qu’en développant, on finit par aboutir à quelque chose qui ressemble à Next.js.