react-engine
とテンプレートエンジンの主な違いはあります。それにもかかわらず、マシンが個々のデータにどのようにアクセスするかが重要です。
単純なWebページを実行するとします。スクロールして開いているテキスト情報。 Handlebars.jsのようなテンプレートエンジンを使用すると、通常、ブラウザーの要求がサーバーにヒットしたときに、応答と実行方法を把握しようとします。つまり、テンプレートエンジンは、ローカルでアクセス可能なソースに格納されたファイルから既存のフェッチされたデータを参照することがあります。それらは不完全HTML文字列の描画と、サイトテンプレートファイル(すなわちhead
、meta
、title
、など)について定義されたすべてのデータをロードしています。このHTMLは、ブラウザに送り返され、レンダリングされます。
react-engine
は、同じ側で同じレンダリングメカニズムを使用します。しかし、テンプレートエンジンの意味の代わりにJSX
を使用するか、または必要ならばJavaScript
を使用することもできます。したがって、JSX
はテンプレートエンジンよりも広いです。 Hajime Yamasaki Vukelicによる偉大な記事は、JSX and HTML templatesの間の異なる角度からの懸念の分離を遵守しています。
は、テンプレートエンジンを使用すると、その後、ある文字列(通常はありません 必ずしもHTML)は、実行時に仮想DOM構造を生成するJavaScript コードの一部に変換ライブラリを養います。デザイン ではテンプレートは文字列なので、周囲のコード に直接アクセスすることはできません。たとえば、ヘルパー関数 をインポートしたり、メソッドを呼び出すことはできません。これらのことは、ディレクティブ(および がどこに由来するかによるかもしれない他の名前)と呼ばれる抽象度 によってのみ可能です。ディレクティブは、HTMLとJavaScriptの との間の接着剤です。
これまでのところ、どちらのソリューションにも相違はありません。次のまたは前の簡単なウェブページへのリンクは、単純な<a href="/webpage>Next</a>
要素です。
現時点では、いくつかのやりとりを実装することを決定すると、react-engine
が優勝者になります。 react-engine
レンダリングではクライアント側でJavaScript
を実行する必要はありませんが、SEOを検索することができます。
テンプレートエンジンにもこのような影響がありますが、SEOがサポートされています。私たちはここにすべてJavaScript
レンダリングすることはできませんレンダリングする。 jQuery
のようなライブラリであっても、ブラウザウィンドウオブジェクトにライブアクセスする必要があります。これはサーバ側で簡単に嘲笑することはできません。テンプレートエンジンの生産性が低下します。
結論として、テンプレートエンジンはreact-engine
レンダリングと同じことができます。同じくらい容易にも同等に速くもないかもしれませんが、どちらのツールも資格があります。また、このトピックの別の偉大なthreadを読むことができます。