私は現在、アプリの開発に Apache (mod_wsgi) で提供される Django を使用しています。私のお気に入りの 1 つは、JavaScript のsetInterval()
関数と AJAX を使用して非同期要求を「偽装」し、データベースから新しいデータを取得することです。例えば:
// javascript
function someFunction() {
// do some stuff
setInterval(function() { fetchNewStuff() }, 1000); // run fetchNewStuff() every second
}
function fetchNewStuff() {
Dajaxice.main.fetch_new_stuff(fetch_new_stuff_callback, {'id':$(this).attr('user_id')});
}
function fetch_new_stuff_callback(data){
// append new stuff to my table, list or whatever in HTML page
}
私の知る限り、これは私のニーズにはまったく問題ありません。しかし、私のアプリがより大きく複雑になるにつれて、転送されるデータを最小限に抑えようとしても、最終的にはサーバーとクライアントの両方にとって非常に面倒なものになります。また、今日の世界ではまだこれを「偽造」しているということに満足することはできません:)したがって、現在および将来のプロジェクトのプッシュ機能を備えた「実際の」ソリューションを見つけたいと思います。
私は自分の問題をググってみましたが、多くの興味深いもの (Tornado、Nginx、Node.js、Twisted など) を見つけましたが、ほとんどのチュートリアル/記事/ブログは少なくとも 6 か月前のものであり、多くのことが変わったと思いますその時。これまでのところ、Tornado をテストしようとしましたが、テストは成功しましたが、実稼働サーバーでのセットアップに問題がありました。また、JavaScript が非常に優れていることを知っているため、非常に単純な Node.js も試しましたが、これが適切なソリューションであるかどうかはわかりません。
ここでの私の質問は、この条件に応じて、現在および将来のアプリに実装するのに最適なもの (サーバー、プラットフォーム、フレームワークなど) は次のとおりです。
- 使いやすい(例: Node.js がここに収まる)
- サードパーティのものを可能な限り排除します(いくつかのすぐに使えるソリューション、たとえばDjango + Websocketsとそれだけです[これは本当にばかげた例でした])
- Django で使用されている優れたドキュメント(私は Web サーバーと関連するものにはほとんど興味がないので、私の新しいテクノロジと Django でいくつかの実際の例があると完璧です)
- 優れた展望と将来性を持っている(頻繁に使用し、頻繁に再構成する必要のないものを学びたいと思っています)
これについてのあなたの考えとあらゆる種類の助けに感謝します(最近更新されたいくつかの良い読書へのリンクは大歓迎です:)