Redwoodjs: un framework Jamstack complet
Redwoodjs est un framework complet puissant et opiniâtre conçu pour des applications complexes, étendant l'architecture JAMSTACK avec des fonctions React, GraphQL et sans serveur. Il offre une expérience de développeur rationalisée et semblable à des rails grâce à un développement axé sur les échafaudages.
Caractéristiques de clé:
Imaginez ceci: une application React, déployée via CDN, interrogeant un backend de Lambdas AWS distribué à l'échelle mondiale - tous gérés avec un simple git push
. C'est le pouvoir du séquoia.
Le séquoia répond à un besoin de longue date dans la communauté JavaScript: une solution complète simple qui combine l'échafaudage adapté aux développeurs de rails avec la vitesse et la sécurité de Jamstack. Il vise à rompre le dégagement de ses limites statiques, permettant la création d'applications beaucoup plus complexes.
L'analogie de séquoias: Comme les majestueux arbres de séquoias, le cadre est robuste et évolutif, mais son noyau reste étonnamment simple et facile à naviguer.
Ce tutoriel vous guidera à travers la création d'une application CRUD de base, présentant la facilité d'utilisation de Redwood. (exemple de code disponible sur github).
PRENDRE:
Prérequis:
npm install -g yarn
) Configuration du projet:
yarn create redwood-app my-redwood-app
cd my-redwood-app
yarn redwood dev
(cela s'ouvre http://localhost:8910
dans votre navigateur) git init
, git add .
, git commit -m "Initial commit"
Structure du projet:
Redwood organise votre projet dans les répertoires web
(frontend) et api
(backend), simplifiant le processus de développement. Le répertoire api
comprend la définition du schéma de base de données (schema.prisma
), les données de graines (seed.js
), les fonctions, le schéma GraphQL et les services. Le répertoire web
contient des composants REACT, des dispositions, des pages et des actifs statiques.
Création d'une base de données:
Cet exemple montre la création d'un tableau Author
avec id
, name
, email
, topic
et createdAt
champs. Modifier api/db/schema.prisma
en conséquence, alors:
yarn redwood db save create authors
yarn rw db up
Échafaudage d'une application crud:
générer une application crud de base pour le modèle Author
en utilisant:
yarn rw g scaffold author
Cela génère des composants, des services et du schéma GraphQL nécessaires. Réglez le composant AuthorForm
au besoin pour gérer les champs en option.
Comprendre la gestion des données de Redwood:
Redwood utilise GraphQL pour l'interaction des données. Le frontend utilise le client Apollo pour envoyer des demandes aux fonctions sans serveur du backend. Le fichier généré authors.sdl.js
définit le schéma GraphQL, et authors.js
gère les interactions de la base de données à l'aide de PRISMA. Les "cellules" de Redwood simplifient la récupération des données et la gestion des erreurs.
Test:
Redwood intègre la plaisanterie pour les tests unitaires. Créer et exécuter des tests dans le fichier généré authors.test.js
en utilisant node_modules/.bin/jest
.
Conclusion:
Redwoodjs offre une approche convaincante du développement de Jamstack complet. Son flux de travail rationalisé, ses fonctionnalités robustes et sa concentration sur l'expérience des développeurs en font un cadre prometteur pour créer des applications complexes et évolutives. Bien qu'il ne soit pas encore prêt pour la production, son potentiel est significatif.
Questions fréquemment posées (reformatées pour la clarté et la concision):
Qu'est-ce qui différencie le bois rouge des autres frameworks Jamstack? Le bois rouge est un framework complet, contrairement à beaucoup d'autres qui se concentrent uniquement sur le frontend. Ses caractéristiques uniques incluent l'intégration de PRISMA, les fonctions sans serveur et le concept de cellules pour la gestion simplifiée des données.
Comment le séquoia gére les données qui obtiennent la récupération des données? Le bois rouge utilise les cellules, qui encapsulent les données qui obtiennent la logique et la gestion des états de chargement, de succès et d'erreur.
Prise en charge sans serveur? Oui, le séquoia est conçu pour les architectures sans serveur, prenant en charge directement les fonctions sans serveur.
La comparaison avec React Static? React Static est un générateur de sites statique; Le séquoia est un cadre complet avec des capacités backend.
meilleures pratiques? Maintenir la séparation des préoccupations (données et interface utilisateur), utiliser efficacement les fonctions sans serveur, tirer parti des cellules pour la gestion des données et utiliser le prisma pour les interactions de base de données.
Gestion des erreurs? Les cellules gèrent les états d'erreur, fournissant un mécanisme clair pour la gestion des erreurs et les commentaires des utilisateurs.
Prise en charge de la base de données au-delà de PRISMA? Bien que PRISMA soit étroitement intégrée, d'autres bases de données sont possibles mais peuvent nécessiter une configuration supplémentaire.
Authentification? Redwood prend en charge divers fournisseurs d'authentification (Netlify Identity, Auth0, Firebase).
Évolutivité pour les grandes applications? Oui, son architecture sans serveur et ses mécanismes efficaces de traitement des données prennent en charge l'évolutivité.
Pour commencer? Reportez-vous à la documentation et aux tutoriels officiels.
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!