7
votes

Airbnb Node.js Render?

Je voulais savoir si quelqu'un utilise Airbnb Rendr et est-il stable et correct d'utiliser dans des projets commerciaux ou change-t-il toujours beaucoup?

Je développe un site Web qui peut exécuter à la fois client et serveur, cela signifie que je dois être capable de rappeler des pages et des widgets serveur et client basé sur le client.

Le serveur exécute Node.js, Dust.js et dispose de code basé sur le serveur personnalisé pour rendre les pages et les widgets du côté serveur. J'ai besoin de choisir comment gérer le côté du client. Naturellement, je veux essayer de ne pas répéter le code, mais évidemment, le client est différent, je peux:

  1. Gardez mon rendu de serveur basé sur la page en cours et mon développement personnalisé code côté client.
  2. Utilisez sackbone.js sur le côté client et gardez le code basé sur mon serveur le même.
  3. Utilisez Airbnb Rendr qui est basé sur Node.js et Sackbone pour utiliser le Même code sur le serveur client et O. Bibliothèque Airbnb Rendr

    J'aime beaucoup la 3ème idée, mais je cherche des commentaires de vos gars. Quelqu'un l'a-t-il utilisé? toute expérience avec elle en termes de stabilité et / ou à quelle fréquence leur API change, etc.


0 commentaires

3 Réponses :


6
votes

Bien que Airbnb est une entreprise commerciale réussie, il y a une certaine validation que la bibliothèque fonctionne assez bien pour eux. Cette question est probablement mieux répondue à la surveillance de leur journal de validation de Github pour briser des changements. La colonne vertébrale donnée est de 1,0 et essentiellement stable à ce stade, Rendr sera probablement rapidement stabilisée, mais honnêtement, votre peur de l'instabilité est probablement injustifiée. Je pense que Rendr est convaincant et bien que mon projet actuel utilise une solution de culture maison très similaire, je envisagerais d'utiliser rendu dans un futur projet ou même de porter notre code à < Code> Rendr . La "stabilité" par disence est beaucoup moins importante pour la communauté de développement Web par rapport aux autres situations telles que les logiciels emballés ou embarqués.


1 commentaires

Grande réponse, homme. Montre comment comprendre ce que l'OP veut savoir plutôt que de simplement leur donner. En outre, une chose que je remarque avec js libs à la fin (et peut-être surtout dans le nœud?) Est-ce leur brièveté. Vous pouvez lire tout le colonne vertébrale et le soulignement pour déterminer leur faisabilité dans votre projet avec une grande partie des investissements frontales.



3
votes

J'ai utilisé (essayé d'utiliser) et rendu sur un projet et abandonné. Il y a juste à de nombreuses limitations (actuellement) et le manque de documentation n'aide pas. J'ai fini par réécrire le code source pour accomplir certaines choses que je considérerais trivial avec d'autres cadres, tels que la transmission de plusieurs collections à une vue. Ce n'était tout simplement pas possible (à l'époque où je l'ai utilisé) et c'était un casser. Ne pas pouvoir transmettre une collection de catégories et des résultats à une page consistait à une grande partie de la limitation.

Je n'ai aucun doute qu'il sera éventuellement prêt à être utilisé pour la production, mais je dirais maintenant que si vous êtes un ingénieur à Airbnb et savoir comment pirater la source alors non, ce n'est pas prêt.

Si vous voulez vraiment savoir si cela fonctionnera pour vos besoins, jetez un coup d'œil au liste d'émission < / a> sur github. Cela vous donnera une bonne idée où les projets à.


2 commentaires

Je ne suis pas sûr de ce qui a changé exactement depuis votre commentaire, mais je suis assez certain que vous pouvez transmettre autant de collections ou de modèles à votre point de vue (j'utilise 0.4.10). Voici un lien vers un exemple de gist: gist.github.com/muffs/6241532 . L'APP Fetcher va chercher les modèles et les collections répertoriés dans la spécification s'ils ne sont pas mis en cache ou s'ils manquent les touches nécessaires définies dans la matrice Assurancekeys.


Il suffit d'appeler vos modèles modèle ou votre collection lorsque vous les récupérer; Sinon, la fonction par défaut gettemplaxata les traitera de manière particulière et n'exportera pas les autres modèles / collections vers la vue: Github.com/airbnb/rendr/blob/...



7
votes

Je viens de commencer à jouer avec Rendr. Si j'ignore la courbe d'apprentissage et sur le frottement obôtable, j'aime beaucoup et je prévois d'écrire ma prochaine grande application de production à l'aide de Rendr.

Malheureusement, comme Bababa énumérés ci-dessus, la documentation nécessite beaucoup de travail. Il y a une explication sur la manière dont Rendr travaille dans son README et l'exemple de README de l'application, mais au-delà de cela, vous devrez chercher de la plongée afin de déterminer comment les engrenages tournent. Actuellement, il n'y a pas de forum pour les questions (autre que le débordement de la pile: D) et j'ai eu du mal à comprendre ses idiomes.

Malgré toutes les difficultés, je vois enfin la lumière et je commence à comprendre pourquoi Rendr est si puissant.

TL; DR - Si vous êtes prêt à créer de la plongée et à déterminer votre propre flux de travail, je suggérerais d'utiliser Rendr. Sinon, je recommanderais d'aller de la vieille école en écrivant une application client traditionnelle avec une bibliothèque plus mature. (Est-ce trop tôt pour dire ça? = x)


0 commentaires