Next ou TanStack ? La question n'est pas là

J'utilise les deux. Mon portfolio tourne sous Next, mon SaaS sous TanStack, et les deux sont en production. Ce qui compte, c'est ce qui part en prod.

RM
Rabie Menad
4 min de lecture

Tous les six mois, Tech Twitter s'enflamme pour élire « le framework définitif qu'il faut absolument utiliser ». Tous les six mois, la même boucle recommence sur les mêmes threads, avec les mêmes arguments. Et pendant ce temps-là, combien de projets sont réellement livrés ? Souvent : aucun.

J'ai décidé de ne pas choisir. J'utilise les deux.

Ce portfolio que vous lisez tourne sous Next.js. À côté de ça, je construis Prospect Tracker, l'outil qui pilote mon activité freelance, et lui tourne sous TanStack Start. Les deux fonctionnent à merveille. Aucun des deux n'attend que le débat soit tranché pour partir en prod.

Le vrai coût du framework war

Le problème de ces débats, ce n'est pas le temps perdu à lire des comparatifs. C'est ce projet que vous ne commencez jamais parce que vous n'avez pas encore décidé quelle stack utiliser.

Le symptôme

On reconnaît la paralysie de l'analyse à une phrase toute faite : « j'attends de voir comment la v15 évolue avant de me lancer ». Ça sonne raisonnable et pro. C'est surtout le meilleur moyen de ne rien livrer pendant un an, puis de tout recommencer avec le prochain framework à la mode.

Ce qui décide vraiment

Sur mes deux projets, le choix ne s'est pas joué sur des benchmarks de performance éclatés au sol. Il s'est joué sur des contraintes bêtes, concrètes et métiers :

ContraintePortfolioProspect Tracker
Contenu statique, SEO critiqueOuiNon
Application derrière un loginNonOui
Données très dynamiquesNonOui
Écosystème déjà connuOuiOui

Un portfolio est un site de contenu : les pages doivent être générées au build, indexées par Google, et s'afficher instantanément. Un SaaS derrière un login n'a absolument aucun besoin de SEO, mais demande une grosse gestion d'état côté client. Ce sont deux problèmes radicalement différents.

Là où Next excelle

Le rendu statique par défaut. Chaque page de ce site qui peut être générée au build l'est, y compris les articles, dans les deux langues.

export function generateStaticParams() {
  return routing.locales.flatMap((locale) =>
    getPosts(locale).map((post) => ({ locale, slug: post.slug })),
  )
}

On ne parle pas de performance brute ici, mais de prévisibilité. Une page statique ne tombe pas en panne à trois heures du matin parce que la base de données tousse. Le SEO d'un site de contenu se gagne précisément là.

Le bon framework est celui dont vous connaissez déjà les pièges. L'expérience se transfère mal d'un écosystème à l'autre, et c'est cette expérience qui vous fait coder vite.

Là où TanStack excelle

Prospect Tracker est une vraie web app : des listes qui se filtrent, des statuts de prospection qui changent, des données qui doivent rester synchronisées entre plusieurs vues en temps réel. Le routing typé de bout en bout et la gestion chirurgicale du cache serveur y valent beaucoup plus que n'importe quel gain au build.

Le SEO ? Inexistant. Personne n'indexe un tableau de bord privé. Toute l'énergie que Next met dans le rendu statique serait ici totalement gaspillée.

Construire pour les users

Aujourd'hui, coder un SaaS, c'est presque la partie facile. Le vrai nerf de la guerre, ce qui tue 90% des projets, c'est l'acquisition.

C'est pour ça que je bâtis Prospect Tracker en public. Je refuse d'attendre que le produit soit "parfait" pour le montrer. Mon objectif est de le construire en fonction des feedbacks réels des utilisateurs.

D'ailleurs, avant même de taper ma première commande npm create sous TanStack, j'ai validé le besoin du marché. Comment ? Avec un simple formulaire Tally partagé sur mes réseaux.

Formulaire Tally pour valider le besoin de Prospect Tracker

L'instant promo : Si vous êtes freelance, que vous gérez votre prospection sur un vieux Notion bancal et que vous voulez ajouter votre pierre à l'édifice (et tester l'outil gratuitement en avant-première), le formulaire est toujours ouvert : Donner son avis sur Tally.

En pratique

Les deux projets sont en production. C'est le seul critère qui résiste à l'épreuve du temps : Ship d'abord.

Un projet livré avec un framework « moyen » vous apprendra infiniment plus qu'un projet parfait qui reste sur votre localhost. Le retour utilisateur, les cas limites, les vrais problèmes de perf : ça n'apparaît qu'une fois en prod. Et n'oubliez pas : le choix de la stack est réversible. L'essentiel de votre logique métier ne dépend pas du framework.

Si vous hésitez entre deux technos pour votre prochain side-project, posez-vous les bonnes questions :

  • Lequel je connais déjà assez pour livrer ce mois-ci ?
  • Est-ce que mon projet a besoin de SEO, ou est-il caché derrière un login ?
  • Est-ce que je saurai déboguer un problème de prod à 22h avec cet outil ?

Les réponses désignent presque toujours la même stack. Et spoil : ce n'est presque jamais celle dont tout le monde parle aujourd'hui.

RM
Rabie MenadDéveloppeur freelance

Je conçois et livre des produits web performants en React & Next.js. Parlons de votre projet.

Plus d'articles