Django DDP は、 Django (Python) モデル用の Meteor 互換のリアルタイムのレイテンシー補正バックエンド フレームワークを提供します。また、Meteor フロントエンド コード (HTML/JS/CSS/...) を提供することもでき、サーバー上で Meteor (および node.js) を使用することを回避しながら、同時に通常の Django ビューを提供することもできます。
Django は、強力なオブジェクト リレーショナル マッパー (ORM) を備えた評判の高い Web フレームワークであり、スキーマの移行がデフォルトでサポートされています。Django DDP は効率的で安全です。geventを使用して HTTP リクエストを処理し、プロセス レベルで同時実行を管理し、複数のプロセス (複数のホストにわたる) を使用してスケールアウトして多くのクライアントに同時にサービスを提供できます。WebSocket はgevent-websocketを使用して処理されます。これらの側面を Meteor のリアルタイムでレイテンシーを補正した利点と組み合わせることで、実際に両方の利点が得られます (バックエンド サーバーで node.js を実行する場合を除きます) 。
Django DDP を使用して Meteor アプリを提供する場合、クライアント (ブラウザー) は Django DDP に自動的に接続します。それ以外の場合は、Meteor アプリを Django DDP に接続し、次のように Django DDP 接続を使用できます。
if(Meteor.isClient) {
Django = DDP.connect('http://ddp.example.com/');
Tasks = new Mongo.Collection('myapp.Tasks', {connection: Django});
Django.subscribe('Tasks', {
onReady: function(error, result) {
// Log each matching Task to the browser console in a table
console.table(Tasks.find().fetch());
}
});
}
Django DDP から Meteor アプリを提供している場合は、DDP.connect
行をドロップして 2 番目のパラメーターを省略しますnew Mongo.Collection
。
Todos サンプル アプリは、開始するのに便利な場所であることがわかるかもしれません。これには、Meteor クライアント アプリと Django DDP サーバー アプリの両方を作成する方法の完全に機能する例が含まれています。
免責事項: 私は Django DDP の作成者です。回答の一部がマーケティングのガフのように聞こえる場合は申し訳ありませんが、質問の最初の部分に回答しようとしています。