Présentation de Primate
Primate est un framework web conçu pour offrir une approche intégrée du développement web, en prenant en charge l'ensemble de la pile, de la routage à la validation, en passant par les données et les sessions. Son objectif est de fournir une solution globale, permettant aux développeurs de créer des applications web sans avoir à gérer les complexités liées à l'intégration de multiples outils et technologies.
Problématique actuelle
Dans le paysage actuel du développement web, les frameworks JavaScript préfèrent la composition à la cohésion, ce qui signifie que les développeurs doivent choisir un framework de serveur, un client de base de données, une bibliothèque de validation, etc., et les intégrer manuellement. Cette approche peut conduire à des problèmes de compatibilité et de cohérence, notamment lors de la gestion des interactions entre les différents composants.
Fonctionnement de Primate
Primate se différencie des autres frameworks en offrant une approche plus intégrée. Il permet aux développeurs de créer des applications web en utilisant différents frontends (comme React ou Svelte) et des langages de backend (comme TypeScript, Go, Ruby ou Python), tout en conservant un modèle d'application cohérent. De plus, Primate prend en charge plusieurs runtime (Node, Deno, Bun), ce qui signifie que les applications peuvent être exécutées sur différents environnements sans nécessiter de modifications significatives.
Exemple pratique
Un exemple simple démontre la flexibilité de Primate. En créant une application avec des routes utilisant à la fois React et Svelte, on peut voir comment Primate gère les frontends différents tout en maintenant un modèle de backend uniforme. Cela se fait via la configuration des modules frontend et la définition des routes, comme illustré dans les extraits de code suivants :
// config/app.ts
import react from "@primate/react";
import svelte from "@primate/svelte";
import config from "primate/config";
export default config({
modules: [
react(),
svelte(),
],
});
Cet exemple montre comment Primate permet de combiner différents frontends dans une même application, sans exiger de changer le modèle de backend ou de basculer entre des frameworks différents.