Самый простой способ писать программы в javascript на рабочем столе?

Я ищу способ написать Javascript-программы/скрипты на рабочем столе, а не внутри браузера. Я хочу, чтобы он работал как Python - из командной строки, чтобы читать файлы, записывать файлы и т.д. Все решения, о которых я упоминал (Rhino, spidermonkey, V8), предназначены для встраивания. Кто-нибудь сделал простую реализацию для простого написания автономных программ с полными возможностями доступа к ОС и т.д.?

Для окон желательно, или, возможно, Linux

Ответ 1

Существует Node.js, который позволяет вам писать JavaScript на стороне сервера. Node.js работает на Linux, Mac и Windows. У него также есть действительно хороший REPL, поэтому вы можете запустить его с вашего терминала, чтобы писать JavaScript и посмотреть, как он работает.

Ответ 2

Ганс уже упомянул Windows Script Host, но есть классный компилятор для JScript, и вы, вероятно, уже установили его (он поставляется с .NET). Вы можете написать свой JavaScript, используя любую из библиотек .NET, и скомпилировать его в файл Windows.exe. См. эту ссылку для ознакомления с компиляцией с jsc. Вы должны быть в состоянии найти больше оттуда.

Это не позволяет запускать из командной строки, как Script, без компиляции сначала, но вы можете быть заинтересованы в этом, так как это дает вам доступ ко многим библиотекам.

Здесь находится тестовая программа. jsc уже на моем пути, введите jsc в командной строке, чтобы увидеть, если он на вашем.

test.js:

import System.io;
import System;

function test()
{
   Console.WriteLine("test");
};

function test2(arg)
{
   Console.WriteLine(arg);
};

test();
test2("argtest");

Компиляция и запуск:

C:\test>jsc test.js
Microsoft (R) JScript Compiler version 8.00.50727
for Microsoft (R) .NET Framework version 2.0.50727
Copyright (C) Microsoft Corporation 1996-2005. All rights reserved.


C:\test>dir
 Volume in drive C has no label.

 Directory of C:\test

03/05/2010  09:19 AM    <DIR>          .
03/05/2010  09:19 AM    <DIR>          ..
03/05/2010  09:26 AM             5,120 test.exe
03/05/2010  09:23 AM               178 test.js
               2 File(s)              - bytes
               3 Dir(s)               - bytes free

C:\test>test.exe
test
argtest

C:\test>

Кажется, существуют некоторые серьезные ограничения, с которыми я столкнулся сразу в создании этой тестовой программы. Например, функции выглядят более строго типизированными, чем в среде браузера. Я не мог назвать test() и передать аргумент, если я не определил этот параметр как часть определения функции. Если вы знакомы с JavaScript-браузером, вы знаете, что вы можете определить функцию с любым количеством параметров и вызвать ее с любым количеством аргументов.

Таким образом, кажется, что писать приложения в JavaScript на рабочем столе будет совершенно другим опытом, если есть намного больше различий в том, как вы привыкли его использовать.

Ответ 4

Простым способом разработки настольных приложений является использование Node Webkit - https://github.com/rogerwang/node-webkit

Удачи!