Por que não existem intérpretes Javascript nativos para Windows / Mac / Linux?


38

Parece-me que seria muito útil usar o Javascript para tarefas gerais de script do lado do servidor, pois possui mais ou menos os mesmos recursos que o Perl e o Python. Porém, no AFAIK, geralmente não há intérpretes Javascript disponíveis para as principais arquiteturas de máquinas. Acho que o outro problema pode ser a falta de bibliotecas, mas certamente elas viriam se os intérpretes estivessem lá. O V8 do Google talvez possa ser um ponto de partida. Alguém acha que veremos isso em breve?


1
E, a propósito: quase ninguém "interpreta" o JavaScript atualmente, praticamente todos os navegadores o compilam no código nativo bem a tempo.
Joachim Sauer

2
Em certo sentido, há um intérprete no Windows - consulte Jscript . Não é exatamente Java Script, mas está próximo.
Nhinkle

1
Alguns sons indicam que o Windows 8 terá isso até certo ponto, já que você pode criar aplicativos JS para uso em área de trabalho nativa.
Rig

Respostas:


67

Node.js é exatamente o que você está pedindo ... e muito mais.

Além de ser um tempo de execução JavaScript, ele também fornece APIs para operações comuns, como acesso ao sistema de arquivos (o JavaScript no navegador realmente não precisa disso) e E / S da rede.

Ele é comercializado para a criação de aplicativos de rede (e é ótimo nisso!), Mas é realmente um tempo de execução JavaScript de uso geral que você pode usar para criar o que quiser. Além disso, é baseado no V8.


1
Ah, sim, eu só pensei no nó como para aplicativos de rede, pois eles são claros a partir de sua página inicial, e é para isso que serve.
MebAlone 27/08

5
@MebAlone: ​​esse é o seu principal objetivo, é verdade. Mas node.exe(ou apenas nodenas plataformas Unix-y) é basicamente um tempo de execução JavaScript simples. node myJavaScript.jsé executado myJavaScript.jse o que mais você precisa de um sistema de tempo de execução? (Ok, você precisa de depuração e bibliotecas, mas o Node.js também tem essas cobertas ;-)). Uma boa indicação para isso é que muitos projetos usam scripts JavaScript (executados no Node.js, é claro) como seu sistema de construção.
Joachim Sauer

1
O NodeJS é executado no V8 do Google. Você pode usar a V8 para fazer o que quiser. Portanto, mesmo que o NodeJS não seja adequado para você, o V8 pode ser.
Andrew T Finnell

2
@ Andrew: pelo que sei, o V8 não envia binários, apenas a fonte. Então você teria que construí-lo você mesmo (ou encontrar binários de terceiros). Se você não se importa com o nó, é muito fácil ignorar as bibliotecas e usar o nó como um tempo de execução JavaScript puro. Não vejo como você pode fazer isso com a mesma facilidade com o V8.
Joachim Sauer

Um exemplo de aplicativo * não-em rede no nó seria o módulo CoffeeScript que pode ser executado na linha de comando para compilar seus arquivos de café em javascript.
Spoike

76

Conforme mencionado por Joachim, o node.js é exatamente o que você solicita.

Parece não ser bem conhecido quando comparado com Python e especialmente Perl para esse tipo de coisa, mas talvez seja simplesmente porque o JavaScript não é amplamente considerado muito bom.

insira a descrição da imagem aqui


2
As partes boas compõem todas as outras coisas que o Javascript está acontecendo ... isso e o CoffeeScript. Oh CoffeeScript !
Spoike

4
+1 para o Kinect em uma pilha de livros. Eu tenho o guia definitivo embaixo do meu monitor para aumentar um pouco a altura do monitor.
26412 Phil

3
-1, apesar da foto engraçada, essa resposta é essencialmente uma maneira elegante de dizer 'porque é péssimo' e realmente não contribui com nada.
GrandmasterB

3
Não, não é isso que ele está dizendo.
Michael B

1
Lol, The Definitive Guide - não é um livro sobre javascript, mas sobre os DOMs do navegador da Web, com um pouco de js no início.
Gbjbaanb

28

O Windows Script Host incluiu um mecanismo JScript (javascript) desde pelo menos o Windows 2000 pronto para uso, permitindo executar tarefas sysadmin usando javascript.

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

Também é possível incorporar isso em um aplicativo do Windows usando o objeto WScript.Shell ActiveX / COM.


ah, muito legal!
MebAlone

3
O WSH também permite que você use várias outras linguagens de script (como vb); e se não me engano, mais pode ser instalado ( en.wikipedia.org/wiki/… ). Você também pode usá-lo para o script de outros aplicativos do Windows, como media player, palavra, etc.
frozenkoi

5

Além do node.js, há também o gjs , que é um tempo de execução orientado ao GNOME que dá acesso às bibliotecas GNOME, GTK e GLib, entre outras. Eu acredito que você pode usar com ele qualquer biblioteca que suporte a introspecção GObject.

O Gjs é amplamente utilizado na área de trabalho do GNOME3.


2

Há um intérprete javascript escrito para aplicativos Java (chamado Rhino ) e parece ter sido projetado para escrever código de servidor em javascript, mas executá-lo como código java.

Pessoalmente, acho que você está muito melhor com o node.js, pois isso é incrível. Para uma introdução rápida, você pode fazer muito muito pior do que ler o livro (gratuito) do NodeBeginner .


Por uma questão de completude: o Rhino não faz o Javascript ser executado como código Java, é um intérprete de Javascript, ou seja, executa o Javascript em um ambiente JVM. Digno de nota é que não é muito rápido, comparado a intérpretes de mais baixo nível, como o V8.
Cthulhu #

bom livro grátis.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.