3

http://nodejs.org/#aboutには、次のように書かれています。

「ノードは、RubyのイベントマシンやPythonのツイストなどのシステムと設計が似ており、影響を受けます。ノードは、イベントモデルをもう少し進めます。つまり、イベントループを、ライブラリではなく言語構造として提示します。」

同様にイベントループを公開する他のフレームワークまたは言語はありますか?

4

3 に答える 3

6

Tclはずっと(過去20年間)この機能を持っていました。http://www.tcl.tk/about/netserver.htmlを参照してください

これは、TclがJavascriptやnode.jsが行うすべてのことを実行する(または実行する必要がある)と言っているわけではありません。しかし、「他のフレームワークや言語...同様にイベントループを公開するのか」という質問に対する有効な答えです。

于 2010-12-12T19:28:52.770 に答える
3

正直なところ、現時点ではNode.jsに匹敵するものはないと思います。

なんで?基本的に、JavaScriptは最初からシングルスレッドであったため、Node.jsのように、非同期プログラミングに完全に適合する言語である現在の言語に進化しました。

ノードのようなエクスペリエンスが必要な場合は、関数がファーストクラスのオブジェクトであり、クロージャを持つことが必須です。たとえば、イベントlibの周りにプレーンCをラップして、それを使用することもできます。しかし、それはどれほど楽しいでしょうか?ねじれたとしても、Node.jsエクスペリエンスに近づくことはできません。

2つ目のポイントは、Node.jsには(モジュールの同期関数を除いて)fsブロッキング関数がないため、Pythonでこのスタイルのプログラミングを確実に実行できますが、そのライブラリ呼び出しがブロックされないかどうかはわかりません。プログラム全体。そして、サーバーのスループットを停止します。

また、ノードは本当に高速のように高速です。V8は間違いなくPythonとRubyよりもはるかに進んでいます。もちろん、両方のC-Extensionsを作成できますが、Node.jsでも同様に作成できます。V8を使用するもう1つのプラスのポイントは、Googleがそのエンジンに大量の時間/お金を投資していることです。クランクシャフトではさらに最大2倍の改善がすでに進んでいます。

Node.jsにはさらに多くのプラスポイントがあり、完全なフレームワークであり(Twistedは主に非同期ネットワークです)、JavaScriptです。

後者はばかげているように聞こえるかもしれませんが、コードを再利用する機能とコンテキストスイッチングを行う必要がないこと、およびDOM操作に成熟したフレームワークを使用できること(つまり、jsomがより安定した状態になるとすぐに) )はもう1つのキラー機能です。

まだ行っていない場合は、TagWikiにリストされているいくつかの講演をご覧になることをお勧めします
特にYUIのものは、近い将来にどのような可能性が私たちを待っているかを示しています。

まとめると
、イベントループを持つフレームワークはかなりありますが、ループ自体を持っているだけではNode.jsと同じエクスペリエンスが得られないため、何かを行うときに同等のエクスペリエンスを期待するべきではありません。たとえば、CまたはJavaで。

于 2010-12-11T15:48:03.797 に答える
0

Javaプラットフォームの場合、 nettyをnode.jsと比較できると思います

于 2010-12-11T21:23:04.820 に答える