3

私は現在、アプリの開発に 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 でいくつかの実際の例があると完璧です)
  • 優れた展望と将来性を持っている(頻繁に使用し、頻繁に再構成する必要のないものを学びたいと思っています)

これについてのあなたの考えとあらゆる種類の助けに感謝します(最近更新されたいくつかの良い読書へのリンクは大歓迎です:)

4

1 に答える 1

1

Socket.IOを介して Django で websocket を使用するために必要な機能を提供する Django アプリであるdjango-socketioプロジェクトを確認する必要があります。

socket.ioとともにgeventライブラリを使用します

于 2013-01-20T20:40:19.083 に答える