Meteorのバックエンドを作成する際のベストプラクティスについてお聞きしたいと思います。
私はフロントエンドとしてMeteorjsを使用しており、バックエンド(管理パネル)として別のポートでapache / php/yiiフレームワーク/YiiMongoDbSuiteの束を使用することを計画しています。
たぶん誰かが私に流星アプリケーションの管理部分を簡単に作成するための最良の実践をアドバイスしますか?
PHP / Railsなどでバックエンドをすでに構築している場合は、DDPクライアントまたはRESTを使用して、meteorとバックエンドの間でメッセージを中継することを検討できます。DDPにはRESTに比べていくつかの利点があります
そのオープンな接続では、ライブアップデートを取得することもできます。
PHP用のDDPクライアントはまだわかりません。一握りがあります:
RESTを使用して通信することもできますが、多くの機能が失われます。DDPを使用するMeteor.methods
と、非常に簡単にアクセスしてサブスクリプションを作成できます。
最後に、mongodbに直接接続して、変更を加えることができます。Meteorは10秒以内にそれらを処理します。
しかし、Meteor自体をバックエンドとして使用してみませんか?別のMeteorインスタンスを使用すると、管理領域がより安全になる可能性があります。Meteorをバックエンドとして使用すると、保守がはるかに簡単になり、互換性のあるコードを2つで共有できます。Meteor.connectを使用してクライアントインスタンスにアクセスできます。
あなたの動機がセキュリティであるならば、あなたはただこれをすることができます。Meteorがすでにそれを非常に簡単にしている場合、別の言語とスタックを使用する利点はほとんどありません。
更新:Meteor 0.7.0ではoplogテーリングが導入されたため、更新が表示されるまで10秒待つ必要はありません。それらは、まるで隕石自体からのものであるかのように瞬時になります。
MeteorはMongoDBデータベースを直接リッスンするため、そこで変更を加えるとアプリケーションが自動的に更新されます。これは、PHPからMongoDBに書き込みたい場合は、それが可能であることを意味します。そうすれば、meteorは自動的に変更を検出し、フォントの終わりを更新します。
これは、numtelのmeteormysqlパッケージでも機能すると思います。これにより、リアルタイムで更新する必要があるコンポーネントや、プロジェクトをゆっくりと移行する必要があるコンポーネントにmeteorの使用を開始する場合に、非常に簡単になります。
現在、リアルタイム通知システムでこれを試しています。DDPの使い方を学ぶ必要があると思いましたが、実際には、両方のシステムで同じDBをリッスンするのと同じくらい簡単です。