Les cadres JavaScript isomorphes gagnent en popularité, permettant la création d'applications JavaScript qui s'exécutent de manière transparente sur le client et le serveur. Cette approche "Écrire une fois, exécuter n'importe où" exploite le rendu côté serveur pour les charges de page initiales plus rapides et l'interactivité côté client amélioré. Cet article explore Rendr, une bibliothèque open source d'Airbnb, initialement conçue pour leurs applications mobiles de dorsale.js et node.js.
Caractéristiques clés de Rendr:
Comprendre la fonctionnalité de Rendr:
Le principe principal de Rendr est d'activer le rendu des applications Backbone.js sur le serveur et le client en utilisant un code identique. Ce pré-rendu sur le serveur accélère considérablement les temps de chargement de page initiaux. Une fois que le cadre côté client se charge, Backbone.js gère le routage ultérieur. Rendr n'est pas un cadre à part entière; Sa conception se concentre sur:
if (server) { ... } else { ... }
blocs). Une application Rendr simple (exemple du navigateur GitHub):
L'article utilise un exemple d'application de navigateur GitHub pour illustrer la fonctionnalité de Rendr. Cette application, disponible dans l'exemple de référentiel de Rendr, comprend:
Configuration d'une application Rendr:
npm install -g grunt-cli
. npm install
pour installer Rendr et ses dépendances. grunt server
pour lancer le serveur de développement. L'application sera accessible à localhost:3030
. Structure d'application:
La structure de l'application de l'échantillon reflète une application standard. Il comprend des dossiers pour les modèles, les vues, les contrôleurs, les collections et les modèles. Chaque dossier contient des fichiers pour chacune des vues de l'application (page d'accueil, vue utilisateur, etc.).
Composants clés:
routes.js
: définit la configuration de routage, le mappage des URL vers les contrôleurs et les actions (par exemple, match('', 'home#index')
). index.js
ou server.js
: Initialise les configurations (par exemple, dataAdapterConfig
, apiPath
), démarre le serveur et configure le mécanisme de récupération des données. users_index.js
. users/index.hbs
. users_controller.js
avec une méthode index
. user.js
). users.js
RENDR fournit un moyen puissant de créer des applications JavaScript isomorphes. Bien que cet article couvre les bases, l'exploration plus approfondie de son référentiel GitHub et des exemples avancés révélera son plein potentiel. La combinaison de rendu côté serveur et d'interactivité côté client offre des performances et des avantages SEO significatifs.
(Remarque: Les URL de l'image n'ont pas été incluses dans l'entrée d'origine et sont supposées être présentes et correctement liées dans le fichier de démarrage réel. J'ai maintenu des références d'image d'image dans la sortie.)
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!