Maison >interface Web >js tutoriel >Libérer la simplicité du backend : créer des applications évolutives avec Convex
Créer des applications évolutives et efficaces peut être un défi, n'est-ce pas ? Surtout, vous avez moins de temps ou participez à un hackathon. Et si je vous disais qu'il existe une solution backend qui peut simplifier ce processus ?
Récemment, je travaillais sur un projet dans lequel j'utilisais le backend Convex pour la première fois et devinez quoi, c'est tout simplement génial.
Convex est plus qu'une simple base de données ; il s'agit d'une solution backend complète conçue pour les développeurs modernes. Il offre tout, des fonctions cloud dans TypeScript à la synchronisation des données en temps réel, vous permettant de vous concentrer entièrement sur votre code front-end. Cela a contribué à sa popularité croissante.
Ce sont les fonctionnalités que j'ai personnellement utilisées et il existe bien d'autres fonctionnalités telles que Transactions ACID, Support TypeScript, Sécurité et contrôle d'accès, Automatique Mise en cache et optimisation, vous pouvez certainement essayer.
Voyons maintenant quelle est l'approche dans un backend normal et dans un backend convexe par une simple fonction getGroupMembers.
const identity = await verifyToken(req.headers.authorization); if (!identity) { res.status(401).send("Unauthorized"); return; }
const conversation = await db.collection("conversations").findOne({ _id: conversationId }); if (!conversation) { res.status(404).send("Conversation not found"); return; }
const users = await db.collection("users").find().toArray(); const groupMembers = users.filter(user => conversation.participants.includes(user._id));
res.status(200).send(groupMembers);
Voici le schéma représentable de l'extrait de code ci-dessus
const identity = await ctx.auth.getUserIdentity(); if (!identity) { throw new ConvexError("Unauthorized"); }
const conversation = await ctx.db.query("conversations") .filter((q) => q.eq(q.field("_id"), args.conversationId)) .first(); if (!conversation) { throw new ConvexError("Conversation not found"); }
const users = await ctx.db.query("users").collect(); const groupMembers = users.filter((user) => conversation.participants.includes(user._id));
return groupMembers;
Et voici le diagramme d'explication simplifié global de la façon dont le processus convexe du backend -
Je viens de recréer le projet de librairie freeCodeCamp MERN stack en utilisant Next.js, TypeScript et, surtout, le backend Convex.
Donc, si vous voulez une bonne idée de la façon d'utiliser le backend Convex, vous pouvez suivre mes projets github dans lesquels j'ai déplacé ma pile technologique de la pile MERN vers NEXT.js TS Convex.
????-?????? (???? ?????) - Découvrez-le ici
????-???????_?????? (????.??? ?? ??????) - Découvrez-le ici
si vous le souhaitez, vous pouvez également visiter ma publication LinkedIn à ce sujet ??.
En bref, dans une configuration backend traditionnelle, vous gérez manuellement l'authentification, les connexions à la base de données, les requêtes et les erreurs, ce qui conduit à un code plus complexe et verbeux. Dans Convex, ces tâches sont abstraites, simplifiant l'authentification, les requêtes dans la base de données et la gestion des erreurs avec un minimum de code, permettant un développement plus rapide et un code plus propre.
Bon apprentissage ☺☺ !!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!