12
votes

Comment la flamme de Meteor et Famo.us jouent-elles ensemble?

2 Technologies:

  • Meteor avec le moteur de modèles Blaze
  • FAMO.US avec leur génial framework interface graphique

    Je viens du côté météor, j'aime personnellement utiliser {{Moustache}} (guidon) pour piloter l'interface graphique à partir de données, la session réactive / base de données rend cela vraiment efficace et intuitive.

    est venu famo.us et tous ses avantages, mais l'inconvénient d'une interface graphique basée sur le code est qu'il n'ya plus de place pour le guidon ...

    • Quelle est la pratique actuelle pour mélanger les deux technologies ensemble?
    • sont-ils complètement dissociatifs?
    • utilise le mécanisme "respectez" / "DEPS.AUTORUN" une pratique courante partout un élément FAMO.US à mettre à jour par un élément réactif de météore?

2 commentaires

@GADICC Je viens de voir votre message sur le Météor Digest, il semble qu'il soit encore tôt pour une réponse définitive, en attente de plus de contributeurs.


supprimé mon commentaire. Depuis que le code est public maintenant, j'ai posté comme réponse. heureux de voir ce que les autres approches rencontrent les gens.


5 Réponses :


3
votes

Voici une présentation de la Février 2014 Devshop à propos de l'intégration Meteor avec célèbre . Je ne l'ai pas vu dans deux mois, mais je me souviens distinctement d'eux en mentionnant que Oui, vous tirez parti de la collection.Observe Modèle.

En bref, tout comme utiliser réact ou trois.js , célèbre est obtus au moteur de modèles Blaze. Il l'empêche complètement et rend tous les éléments comme plat plat. Lire La réponse de Mark à propos de ce .

Un paquet qui exploite l'API requis.js a été soumis à l'atmosphère quelques-uns il y a quelques jours. Ça s'appelle Famono .

J'ai utilisé avec succès pour préparer un minimaliste Preuve de concept, avec Observez . Vous pouvez trouver le code source sur github , et j'ai aussi déployé avec le météore Déployer .

Le code lui-même est vraiment simple. Une collection: xxx

un petit luminaire sur le serveur pour ajouter un élément: xxx

et l'index .js fichier: xxx


0 commentaires

16
votes

Je viens de publier un aperçu de composants célèbres , qui est une tentative d'intégration serrée entre flambée et célèbre. Toutes les autres approches que j'ai constatées jusqu'à présent sur la majeure partie de la flamme et exigent d'écrire de grandes quantités de code dans JavaScript, qui se sentait très peu naturelle pour moi à Meteor. Le code météore doit être petit, concis et facile avec des résultats puissants. Voici quelques exemples de ce à quoi il ressemble: (chaque modèle forme un Rendernode, tout HTML est mis sur une surface. Les modificateurs / vues / options sont spécifiés en tant qu'attributs de composant)

Template.blockSpring.events({
  'click': function(event, tpl) {
    var fview = FView.fromTemplate(tpl);
    fview.modifier.setTransform(
      Transform.translate(Math.random()*500,Math.random()*300),
      springTransition
    );
  }
});


0 commentaires

1
votes

Il est important de noter que les surfaces de Famo.us ne sont que des divs et vous pouvez brancher des modèles de blaze directement dans des surfaces.

ZOL sur GitHub a un code pour un classement célèbre-météore


1 commentaires

Bien sûr, je viens de poster une réponse avec le code correspondant pour y parvenir facilement.



1
votes

En plus de la réponse "Namal GOEL": Voici un exemple sur la manière de rendre un modèle de météore dans une surface célèbre:

dans un fichier .html p> xxx pré>

Ajout du modèle à un contexte: P>

var MeteorSurface = require('library/meteor/core/Surface');

var meteorTest = new MeteorSurface({
    template: Template.test,
    size: [200, 200]
})

aContext.add(meteorTest);


2 commentaires

Qu'est-ce que météororsurface? Est-ce quelque chose de Gadi ou de Famono CodeBase?


@Dcsan c'est de Famono



0
votes

Voici une mise en œuvre de la vanille sans avoir à utiliser une bibliothèque.

Créer et vide DIV pour la flambée pour rendre et transmettre cela comme contenu à votre célèbre surface. Vous avez maintenant une teneur réactive dans la célèbre. P>

mainContext = famous.core.Engine.createContext();

  div = document.createElement('div');
  Blaze.render(Template.moo,div)

  surface = new famous.core.Surface(  
    content: div,
    size: [200, 200],
    properties: {
      backgroundColor: 'rgb(240, 238, 233)',
      textAlign: 'center',
      padding: '5px',
      border: '2px solid rgb(210, 208, 203)',
      marginTop: '50px',
      marginLeft: '50px'
    }
  )

  mainContext.add(surface)


0 commentaires