2013-06-16 6 views
7

誰かがAirBnB Rendrを使用していて、それが安定していて、商用プロジェクトで使用するのが大丈夫か、それともまだ変わっているのかを知りたいのですが?AirBnB node.js rendrはどれくらい安定していますか?

私はクライアントとサーバーの両方を実行できるWebサイトを開発しています。つまり、ページとウィジェットをサーバーとクライアントに基づいてレンダリングできる必要があります。

サーバーでNode.js、dust.jsが実行されており、サーバー側のページとウィジェットをレンダリングするカスタムサーバーベースのコードがあります。私はクライアント側でそれを処理する方法を選択する必要があります。 は、当然のことながら、私はコードを繰り返して試してみていないしたいが、明らかにクライアントは、私ができる異なります。

  1. 私の現在のページベースのサーバーレンダリングを維持し、カスタム クライアント側のコードを開発します。
  2. クライアント側でbackbone.jsを使用し、サーバベースのコードを と同じにしてください。
  3. Node.jsとバックボーンに基づくAirBnB rendrを使用して、クライアントとサーバーで同じコード を使用します。 AirBnB Rendr Library

私は3番目のアイデアが大好きですが、私はあなたからの意見を探しています。 誰もそれを使いましたか?安定性やAPiの変更頻度などの経験がありますか?

答えて

7

私はRendrを使い始めました。学習曲線を無視して摩擦を無視すると、私はそれが大好きで、次の大規模な制作アプリをRendrを使って書くつもりです。

上記のバババのように、ドキュメントには多くの作業が必要です。 RendrがREADMEとサンプルのREADMEにどのように働いているのか説明していますが、ギアがどのように回転しているかを理解するためには、ダイビングを開始する必要があります。現在、質問のフォーラムはありません(スタックオーバーフロー:D以外)、私は自分のイディオムを理解するのに苦労しました。

すべての苦労にもかかわらず、私は最終的に光を見て、なぜRendrがとても強力であるのか理解し始めています。

tl; dr - ソースダイビングをして自分のワークフローを把握したい場合は、Rendrを使用することをおすすめします。それ以外の場合は、より成熟したライブラリを使用して従来のクライアントアプリケーションを作成して、古い学校に進んでください。 (それはあまりにも早いですか?= X)

6

よく与えられたAirBnbは商業的に成功した企業であり、ライブラリが十分に機能することを確認しています。この質問はおそらく、変更を壊すためにgithubコミットログを見ることで最もよく答えられます。バックボーンが1.0で本質的に安定していると、レンダリングはおそらく迅速に安定しますが、正直なところ不安定性の恐怖はおそらく不当です。私はrendrが魅力的だと思っています。私の現在のプロジェクトは非常に似た自家製ソリューションを使用していますが、私はrendrを将来のプロジェクトで使うことを考えたり、コードをrendrに移植することも考えています。言うまでもなく、「安定性」は、パッケージ化されたソフトウェアや組み込みソフトウェアのような他の状況と比較して、Web開発コミュニティにとって重要ではありません。

+0

偉大な答え、男。 OPが何を知ってほしいかを理解する方法を示します。また、私はJSライブラリに遅れていることに気づいています(そして、特にNodeでは?)は簡潔です。バックボーンとアンダースコアのすべてを読んで、プロジェクトでの可能性を判断することができます。 – Montagist

3

私はプロジェクトで使用した(使用しようとした)とRendrを放棄し、あきらめました。多くの制限がありますが(現在)、文書化が不十分では役に立ちません。私は、複数のコレクションをビューに渡すなど、他のフレームワークでは思っていないことを達成するために、ソースコードを書き直す必要がありました。それはできませんでした(私はそれを使用した時点で)、それは契約の遮断器だった。カテゴリと結果のコレクションをページに渡すことができないということは、多くの制限がありました。

最終的にはプロダクション用に準備が整いますが、今はAirBnbのエンジニアであり、ソースをハックする方法を理解していない限り、準備はできていません。

本当に必要かどうかを知りたい場合は、issue listをgithubでご覧ください。それはあなたのプロジェクトのどこに良いアイデアを与えるでしょう。

+2

あなたのコメントから正確に何が変わったのかは分かりませんが、あなたのビューにコレクションやモデルを渡すことができます(私は0.4.10を使用しています)。ここに例の要点へのリンクがあります:https://gist.github.com/muffs/6241532。アプリフェッチャーは、キャッシュされていないか、またはensureKeys配列で定義されている必要なキーが見つからない場合、仕様にリストされているモデルとコレクションを非同期にフェッチします。 – muffs

+1

モデルを呼び出すときは 'model'やコレクション' collection'を呼び出さないでください。それ以外の場合、デフォルトの 'getTemplateData'関数は特別な方法でそれらを処理し、他のモデル/コレクションをビューにエクスポートしません:https://github.com/airbnb/rendr/blob/55e4854080e1424f0ddb9952c7361001d03690cd/shared/base/view.js #L112-L124 – Benjie

関連する問題