Google App Engine(Python + Jinja2テンプレートエンジン)上に動作するWebサイトを構築しています。Backbone.jsとUnderscore.jsを使用してシングルページアプリケーションになるように再設計を開始したいと思います。目標は、プログレッシブエンハンスメント戦略を使用することです。
サイトは、最初の訪問時にバックエンドを使用して引き続きレンダリングされます。そして、ブラウザがJavaScriptをサポートしている場合、Backbone.jsが引き継ぎます。
私は2つの理由でこの方法でそれを行うことにしました。まず、私がすでに持っているすべてのリンクはそのまま残り、次にGoogleインデックスボットがサイトのコンテンツをクロールできるようになります。
このアプローチには2つの問題があります。
サイトのほぼすべてに2つのテンプレートが必要です。1つはバックエンド(Jinja2)に、もう1つはフロントエンド(Underscore.js)にあります。このような場合のベストプラクティスは何でしょうか。すべてに2つのテンプレートを使用しないようにするために提案できることはありますか?
フロントエンドのテンプレートをロードしてBackbone.js+Underscore.jsを使用するにはどうすればよいですか?それらすべてを最初のリクエストでロードすることも、必要なときに非同期でリクエストすることもできます。
私はどんな考えにも感謝します!ありがとう。
いくつかのリソース:
http://ricostacruz.com/backbone-patterns/
これは、Backbone.jsを既存のHTMLにバインドする方法を説明しています:http: //lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushstate-part-2-progressive-enhancement-with -backbone-js /