Windows / Mac / Linux用のネイティブJavascriptインタープリターがないのはなぜですか?


38

PerlやPythonとほぼ同じ機能を備えているため、一般的なサーバー側のスクリプト作成タスクにJavascriptを使用すると非常に便利だと思います。しかし、知る限りでは、主要なマシンアーキテクチャ用の一般的に利用可能なJavascriptインタプリタはありません。他の問題はライブラリーの不足かもしれませんが、インタープリターがそこにいた場合は確実に来るでしょう。GoogleのV8が出発点かもしれません。すぐにこれが表示されると思いますか?


1
ところで、最近ではほとんど誰もJavaScriptを「解釈」せず、ほとんどすべてのブラウザーがJavaScriptを適切なタイミングでネイティブコードにコンパイルします。
ヨアヒムザウアー

2
ある意味では、Windowsにはインタープリターがあります-Jscriptを参照してください。正確にはJava Scriptではありませんが、近いです。
ヒンクル

1
物事の音は、ネイティブデスクトップ用のJSアプリを構築できるため、Windows 8にはある程度組み込まれていることを示しています。
リグ

回答:


67

Node.jsは、まさにあなたが求めているものです...など。

JavaScriptランタイムであることに加えて、ファイルシステムアクセス(ブラウザーのJavaScriptは実際には必要ありません)やネットワークIOなどの一般的な操作のためのAPIも提供します。

ネットワークアプリケーションを構築するために販売されています(そして、それは素晴らしいです!)が、本当に必要なものを構築するために使用できる汎用JavaScriptランタイムです。また、それがされた V8に基づきます。


1
ええ、私はノードがネットワークアプリとしてのみ考えられていたのは、それがその目的であることがホームページから明らかであるからです。
MebAlone

5
@MebAlone:それが彼らの主な目的です、本当です。しかしnode.exe(またはnodeUnix-yプラットフォーム上で)基本的には単純なJavaScriptランタイムです。node myJavaScript.js実行myJavaScript.jsし、ランタイムシステムからさらに何が必要ですか?(OK、デバッグとライブラリが必要ですが、Node.jsにはそれらも含まれています;-))。これの良い兆候は、多くのプロジェクトがビルドシステムとしてJavaScriptスクリプト(もちろんNode.jsで実行)を使用していることです。
ヨアヒムザウアー

1
NodeJSはGoogleのV8で実行されます。V8を使用して、何でもできます。そのため、NodeJSがあなたに合わない場合でも、V8が適しているかもしれません。
アンドリューTフィンネル

2
@Andrew:私が知っている限りでは、V8はバイナリを出荷せず、ソースのみを出荷します。したがって、自分でビルドする必要があります(またはサードパーティのバイナリを見つける)。ノードを気にしない場合は、ライブラリを無視して、nodeを純粋なJavaScriptランタイムとして使用するのは非常に簡単です。V8で同じように簡単にできることはわかりません。
ヨアヒムザウアー

ノード内の*ネットワーク化されていないアプリケーションの一例は、CoffeeScriptファイルをjavascriptにコンパイルするためにコマンドラインで実行できるCoffeeScriptモジュールです。
スポイケ

76

Joachimが述べたように、node.jsはまさにあなたが求めるものです。

この種のことに関して、Python、特にPerlと比較した場合、あまり知られていないように見えますが、おそらくそれは、JavaScriptがあまり良いと広く考えられていないからでしょう。

ここに画像の説明を入力してください


2
良い部分は、Javascriptが行っている他のすべてのことを補います...それとCoffeeScript。ああCoffeeScript
スポイケ

4
書籍のスタックでKinectに対して+1。モニターの高さを少し上げるために、モニターの下に決定的なガイドがいます。
フィル

3
-1、面白い写真にも関わらず、この答えは基本的に「おかしいので」と言っている派手な方法であり、実際には何も貢献していません。
GrandmasterB

3
いいえ、彼が言っていることはまったくありません。
マイケルB

1
Lol、The Definitive Guide-まったくJavaScriptの本ではなく、WebブラウザーのDOMに関するもので、冒頭に少しjsがあります。
gbjbaanb

28

Windows Script HostにはJScript(javascript)エンジンが含まれており、少なくともWindows 2000はそのままで使用でき、javascriptを使用してsysadminタスクを実行できます。

http://en.wikipedia.org/wiki/Windows_Script_Host

WScript.Shell ActiveX / COMオブジェクトを使用して、これをWindowsアプリケーションに埋め込むこともできます。


ああ、とてもクール!
MebAlone

3
WSHでは、他の多くのスクリプト言語(vbなど)も使用できます。そして、私が間違っていなければ、もっとインストールできます(en.wikipedia.org/wiki/…)。また、メディアプレーヤー、ワードなど、他のWindowsアプリのスクリプトを作成するためにも使用できます。
frozenkoi12年

5

node.jsに加えて、gjsもあります。これは、GNOME、GTK、GLibライブラリなどへのアクセスを提供するGNOME指向のランタイムです。GObjectイントロスペクションをサポートする任意のライブラリを使用できると思います。

GjsはGNOME3デスクトップで広く使用されています。


2

Javaアプリ用に記述されたjavascriptインタープリター(Rhinoと呼ばれます)があり、javascriptでサーバーコードを記述するように設計されているようですが、javaコードとして実行します。

個人的には、node.jsの方がはるかに優れていると思います。簡単な紹介として、(無料の)NodeBeginner本を読むよりもはるかに悪いことができます。


完全を期すために、RhinoはJavascriptをJavaコードとして実行せず、Javascriptインタープリターです。つまり、JVM環境でJavascriptを実行します。注目すべきは、V8のようなより低レベルのインタープリターと比較して、それほど高速ではないことです。
クトゥルフ

良い無料の本。
Andrew_1510
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.