2013-10-31 3 views
6

私の考えは、iOSとAndroid用の簡単なチャットアプリケーションを構築することです。いずれにせよ、私の質問はサーバー側に関連しています。私が読んだことから、チャットアプリケーションを行う最良の方法は、ソケットを作ることです。データベースを参照して、私の意図は、可能性の1つを選択するために考慮に入れることが重要かもしれないMySQLを使用することです。Socket.IO vs. Twisted

スケーラビリティ、スピード、およびセキュリティの点で、私の質問は、TwistedまたはSocket.IOを使用してNodeJSを使用してPythonでソケットを構築することです。

効率的なソケットを構築するには他にも可能性があると思いますが、今はこれを検討しています。もしあなたが私に助言を与えることができたら、本当に感謝しています。

+2

多くの良い質問は、専門家の経験に基づいてある程度の意見を生成しますが、この質問に対する回答は、事実、参考文献、または特定の専門知識ではなく、概ね意見に基づいている傾向があります。 「ベスト」オプションは、この形式で回答するにはあまりにも多くのパラメータに依存します。 – Lix

+0

しかし、例えば、速度の点で、客観的な答え確かにあります。いずれにしても、これらの図書館で働いている人々の意見を聞くことは悪いことではありません。もっぱらの意見に基づいて回答はスタックオーバーフローに有用であると考えていないので、 –

+0

それは悪いだろう。それはあなたのワークロードと何をするつもりに大きく依存することができますよう – Lix

答えて

9

TwistedとSocket.ioを比較すると、リンゴを運ぶトラックとリンゴを比較しています。 Twistedは、Pythonにイベント指向のプログラミング機能を提供するライブラリです。 javascriptでは単にjavascript自体(node.jsやWebブラウザ、あるいはrhinoでもかまいません)です。

さらに比較すると、node.jsのSocket.ioとPythonのSocket.ioを比較することです。ノード上のsocket.ioサーバの一方の主実装があるがPythonのためのいくつかがあります

(から取らsocket.ioウィキ:https://github.com/learnboost/socket.io/wiki

は、あなたも、あなたがしたい場合はツイストを使用してPythonで独自のsocket.ioを実装することができます。 socket.ioプロトコルについては、https://github.com/LearnBoost/socket.io-specに記載されています。しかし、それはsocket.ioの目的を台無しにしてしまう - それは離れて、リアルタイムのWebコミュニケーションの低レベルの詳細を抽象化し、あなたのビジネス・ロジックを書くことに集中することができます。

あなたは関係なく、あなたがサーバを書くことにしたどのような言語のブラウザに同じsocket.ioスクリプトを展開したいクライアント側で

選択する言語に関して:親指の私のルールがありますあなたが最も快適な言語を選択してください。あなたはビジネスロジックをデバッグするのに十分な問題があるでしょう。よく知られていない言語を使って複雑にしないでください。

どちらの言語もバトル強化されています(はい、node.jsという若さを考えると意外です)。例えば、Pythonは、Dropboxのような高トラフィックのサービスで本番環境で使用されています。ノードは現在、LinkedInモバイルなどの高トラフィックサービスで使用されています。

+0

ありがとう@slebetman!あなたの答えは私に多くのことを明らかにしました。 –