[解決済み] node.jsとTornadoの違い【終了しました
質問
node.jsはJSで、TornadoはPythonで書かれているという事実以外に、この2つの違いは何でしょうか? どちらもノンブロッキングの非同期ウェブサーバーですよね? 言語以外でどちらかを選ぶ理由は何ですか?
どのように解決するのですか?
node.jsの主な利点は、以下の通りです。 すべてのライブラリが非同期であること で、ブロックをあまり気にする必要がありません。mysql、postgres、redisなどの非同期ライブラリがあります。デフォルトで全て非同期です。
Pythonはあらゆるもののためのライブラリを持っています - しかし、これらのライブラリのほとんどは非同期ではありません。トルネードを利用する(そして処理をブロックしない)ためには、特別なライブラリが必要です(例えば、単に'pip install redis'で使用することはできません。 ブルックバ のようなものが必要です)、node.jsのライブラリに比べるとtornadoのライブラリはかなり少ないです。例えば、現時点では非同期 mysql 竜巻ドライバはありません (少なくとも私は知りません)。
しかし、多くの python ライブラリが tornado で使用可能であり (i/o を行わないもの)、tornado コミュニティはそのギャップを埋めるべく活動を続けています。
私の経験では、node.js を使ってアプリを書く方が tornado を使うより簡単です。個人的には、node.js から tornado に乗り換えたのは、私の Python プロジェクトの既存のインフラにうまくフィットするからです (html ページを提供する django サイトとリアルタイム機能を提供する tornado サーバーの統合は、非常に苦労がありませんでした)。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] package.jsonのチルダ(~)とキャレット(^)の違いは何ですか?
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] CommonJSとAMDとRequireJSの関係?
-
[解決済み] socket.ioとwebsocketの違いについて
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ