在桌面上用javascript编写程序的最简单方法?

时间:2010-03-05 13:35:30

标签: javascript

我正在寻找在桌面上而不是在浏览器内编写Javascript程序/脚本的方法。我希望它像Python一样运行 - 从命令行,能够读取文件,写入文件等。我发现提到的所有解决方案(Rhino,spidermonkey,V8)都用于嵌入。有没有人做过简单的实现,只是编写具有OS访问权限等全部功能的独立程序?

对于Windows最好,或者Linux

5 个答案:

答案 0 :(得分:6)

如果您有Windows,那么您已经拥有Windows脚本宿主。您可以使用它在Windows中执行JavaScript程序。

http://msdn.microsoft.com/en-us/library/9bbdkx3k(VS.85).aspx

答案 1 :(得分:6)

Hans已经提到了Windows脚本宿主,但是有一个很酷的JScript编译器,你可能已经安装了它(它附带了.NET)。您可以使用任何.NET库编写JavaScript并将其编译为Windows .exe文件。有关使用jsc进行编译的介绍,请参阅this link。你应该可以从那里找到更多。

这不允许你像脚本一样从命令行运行而不先编译,但你可能对它感兴趣,因为它可以让你访问这么多的库。

这是一个准系统测试程序。 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编写应用程序似乎会有相当不同的体验。

答案 2 :(得分:4)

Node.js允许您编写服务器端JavaScript。 Node.js适用于Linux,Mac和Windows。它还有一个非常好的REPL,所以你可以从你的终端启动它来编写JavaScript,看看它是如何工作的。

答案 3 :(得分:2)

开发桌面应用程序的简单方法是使用Node Webkit - https://github.com/rogerwang/node-webkit

祝你好运!

答案 4 :(得分:0)

Seed适用于GNOME平台。 Adobe AIR将是另一种方法。请参阅此问题:Can you do Desktop Development using JavaScript?