私は、EmberとBackboneの両方をDrupalとともに使用しましたが、あなたが考える方法では使用しませんでした。
EmberとBackboneはどちらもWebアプリケーションを作成するための優れたツールですが、Drupalは実際にそれらと一緒に使用するのに適したツールではありません。Webアプリを構築するときに望むのは、軽くて速いものです。即座に応答する場合、ユーザーに感覚を与えることができるように高速にしたいです。あなたはそれをより良くするためにそれが軽いことを望みます。Drupalは高速ではありません-WebアプリにREST APIを提供するだけであれば、Drupalの完全なブートストラップは(他の多くのオプションと比較して)長い時間がかかります。DrupalはPHPであり、同時にRAMを大量に消費するため、同時ユーザーの数が制限されます。
だから、Drupalがこれに対して非常に悪い場合、なぜそれを使うのでしょうか?
Drupalが得意とするもの、つまりCMSにはDrupalを実際に使用する必要があります。Webアプリが必要なプロジェクトで過去に行ったことは、Drupalを使用してWebアプリの周りにCMSを作成することです。ブログ、コンテンツリストなどを作成する。また、スキーマ定義やDrupalを使用するのが理にかなっているその他のものなど、いくつかのバックエンドのものを定義するモジュールも作成しました。
Drupalを使用してwebappが必要とするREST APIを作成する代わりに、Node.jsを使用して実際のREST APIと、webappが行う必要のある他のAJAX呼び出しを作成しました。Node.jsはまさにこれを行うのに優れています。非常に高速です(オブジェクトのリストの応答時間は30ミリ秒)。また、サーバー上のJavaScriptは非同期アクションを使用するため、非常に軽量です。Node.jsサーバーは通常、PHPが100を処理できる数千の同時ユーザーを処理できます。さらに、Node.jsはJavaScriptであるため、多くの再利用が可能ですコードサーバーとクライアント側の。JavaScriptでクライアント側とPHPでサーバー側の両方を実装する代わりに、文字通り同じ検証コードを書くことができます。数週間後にミュンヘンのDrupal conに行く場合は、node.jsのプレゼンテーションを見ることを検討してください。。
あなたが開発者であれば、同様のセットアップを行うことを強くお勧めします。Drupalは本当に得意なものにのみ使用してください。単純なWebアプリケーションを作成したいが、多くのユーザーを期待していない場合、開発時間を短縮するのであれば、Drupalをバックエンドとして使用することも選択肢の1つです。
Drupal 8を更新する
そのため、Drupal 8のリリースでは、上記のいくつかはまだ当てはまりますが、以前と同じ拡張ではありません。Drupal 8は、Node.js、Rails、Djangoなどの軽量ツールではなく、Drupal 7のようなものです。JavaScriptアプリは主にさまざまなサービスを消費するため、Drupalが最適なツールであるかどうかを検討する必要があります。
Drupal 8では、多くのことが改善されました。サービスははるかにネイティブで、Symphonyが要求/応答を駆動します。Drupal 8には、高度なキャッシングとすべての優れた機能により、多くの興味深い可能性があります。しかし、Drupal 8の優れた機能をすべて備えているにもかかわらず、軽量アプリケーションよりもはるかに重いです。Drupal 8が高速Webサービスプロバイダーとしてどのように使用できるかを知るのは困難です。
だから、すべてが言われ、行われたとしても、私の一般的な推奨事項は変わりません。Drupalの開発者であるため、Drupalを使い慣れているので、すべてにDrupalを使用するのは簡単です。それは安全だと感じており、Drupal はほぼすべての用途に使用できます。Drupalを何にでも使用することは可能ですが、それがすべてに最適なツールであることを意味するわけではありません。健全な分析を行い、ITプロジェクトで使用するツールの長所と短所を理解することは、常に大きな助けになり、期待に応えられない結果をもたらすデッドロック状態に陥ることを避けるのに役立ちます。 。