2013-06-16 12 views
7

Volevo sapere se qualcuno ha utilizzato AirBnB Rendr ed è stabile e utilizzabile in progetti commerciali o cambia ancora molto?quanto è stabile il rendering di AirBnB node.js?

Sto sviluppando un sito Web in grado di eseguire sia client che server, ciò significa che devo essere in grado di eseguire il rendering di pagine e widget basati su server e client.

Il server esegue Node.js, dust.js e dispone di codice personalizzato basato su server per il rendering di pagine e widget sul lato server. Devo scegliere come gestirlo sul lato client. Naturalmente voglio provare e non ripetere il codice, ma ovviamente il cliente è diverso che posso:

  1. Mi tengo il mio attuale di rendering del server pagina basata e sviluppare personalizzato cliente codice lato.
  2. Utilizzare backbone.js sul lato client e mantenere il codice basato sul server lo stesso.
  3. Utilizzare il rendering di AirBnB basato su Node.js e backbone per utilizzare lo stesso codice sul client e sul server. AirBnB Rendr Library

Mi piace molto la terza idea, ma sto cercando qualche input da voi ragazzi. Qualcuno l'ha usato? qualche esperienza con esso in termini di stabilità e/o con quale frequenza cambia la propria api, ecc?

risposta

7

Ho appena iniziato a giocare con Rendr. Se ignoro la curva di apprendimento e l'attrito dell'boarding, mi piace molto e ho intenzione di scrivere la mia prossima grande app di produzione usando Rendr.

Sfortunatamente, come descritto sopra, la documentazione richiede molto lavoro. C'è una spiegazione di come Rendr funziona nel suo README e nel README dell'app di esempio, ma oltre a questo dovrai effettuare l'immersione per capire come stanno andando le cose.Attualmente, non ci sono forum per domande (oltre allo stack overflow: D) e ho avuto difficoltà a capire da solo i suoi idiomi.

Nonostante tutte le difficoltà, finalmente vedo la luce e sto iniziando a capire perché Rendr è così potente.

tl; dr - Se desideri effettuare l'immersione e calcolare il tuo flusso di lavoro, ti suggerisco di utilizzare Rendr. Altrimenti, consiglierei di andare a scuola vecchia scrivendo un'app client tradizionale con una libreria più matura. (è troppo presto per dirlo? = X)

6

Bene dato AirBnb è un'impresa commerciale di successo, c'è qualche convalida che la biblioteca funzioni abbastanza bene per loro. Probabilmente si risponde meglio a questa domanda osservando il loro log di commit github per interrompere le modifiche. Dato che il backbone è 1.0 e sostanzialmente stabile a questo punto, il rendering sarà probabilmente rapidamente stabilizzato, ma onestamente la tua paura dell'instabilità è probabilmente ingiustificata. Penso che l'aspetto rendr sia interessante e sebbene il mio progetto attuale stia utilizzando una soluzione molto simile, prenderei in considerazione l'utilizzo di rendr in un progetto futuro o persino il porting del nostro codice su rendr. "Stabilità" per dire è molto meno importante per la comunità di sviluppo web rispetto ad altre situazioni come il software pacchettizzato o incorporato.

+0

Ottima risposta, amico. Mostra come capire cosa l'OP vuole sapere piuttosto che darlo a loro. Inoltre, una cosa che sto notando w/le librerie JS in ritardo (e forse soprattutto nel nodo?) È la loro brevità. È possibile leggere tutto il backbone e il carattere di sottolineatura per determinare la fattibilità del progetto senza ingenti investimenti iniziali. – Montagist

3

Ho usato (provato a utilizzare) e Rendr su un progetto e mi sono arreso. Ci sono solo molti limiti (al momento) e la mancanza di documentazione non aiuta. Alla fine ho dovuto riscrivere il codice sorgente per realizzare alcune cose che considererei banali con altri framework, come il passaggio di più raccolte a una vista. Semplicemente non era possibile (al momento in cui l'ho usato) e quello era un patto. Non essere in grado di passare una raccolta di categorie e risultati a una pagina era un limite.

Non ho dubbi che alla fine sarà pronto per l'uso in produzione, ma in questo momento direi a meno che tu non sia un ingegnere di AirBnb e sappia come hackerare la fonte, quindi no, non è pronto.

Se vuoi davvero sapere se funzionerà per le tue esigenze, dai un'occhiata allo issue list su github. Questo ti darà una buona idea di dove sono i progetti.

+2

Non sono sicuro di cosa sia cambiato esattamente dal tuo commento, ma sono abbastanza sicuro che puoi passare il maggior numero di collezioni o modelli alle tue visualizzazioni (sto usando 0.4.10). Ecco un collegamento a un esempio di esempio: https://gist.github.com/muffs/6241532. L'app fetcher recupera asincronamente i modelli e le raccolte elencati nella specifica se non sono memorizzati nella cache o se mancano le chiavi necessarie definite nell'array assicurKeys. – muffs

+1

Non chiamare i modelli 'modello' o le collezioni' collezioni' quando li preleva; altrimenti la funzione predefinita 'getTemplateData' le gestirà in un modo speciale e non esporterà gli altri modelli/collezioni alla vista: https://github.com/airbnb/rendr/blob/55e4854080e1424f0ddb9952c7361001d03690cd/shared/base/view.js # L112-L124 – Benjie