使用JavaScript开发Windows应用程序

使用JavaScript开发Windows应用程序,javascript,windows,Javascript,Windows,我目前需要开发一个Windows应用程序。我想保持事情简单(本着uTorrent的精神),我希望结果程序是一个包含所有需要的.exe文件 程序很简单。它只需要一些用户界面。它需要运行很长一段时间(作为托盘图标放置在那里)。它需要执行一些常规任务,比如简单的I/O。它还需要访问internet,特别是一些web服务器 除了这些小要求之外,我还想用JavaScript编写所有这些内容,因为我觉得它比任何其他语言都更适合 我知道有像Windows脚本主机这样的东西可以让你运行JavaScript程序并

我目前需要开发一个Windows应用程序。我想保持事情简单(本着uTorrent的精神),我希望结果程序是一个包含所有需要的.exe文件

程序很简单。它只需要一些用户界面。它需要运行很长一段时间(作为托盘图标放置在那里)。它需要执行一些常规任务,比如简单的I/O。它还需要访问internet,特别是一些web服务器

除了这些小要求之外,我还想用JavaScript编写所有这些内容,因为我觉得它比任何其他语言都更适合

我知道有像Windows脚本主机这样的东西可以让你运行JavaScript程序并与一些Win32 API交互,但是我能用Windows脚本主机做我需要的一切吗?我可以将所有Windows脚本主机打包到一个.exe中吗


如果不是,我有什么JavaScript替代方案?

我不是100%,但我相信WSH使用的是JScript或WScript,而不是JavaScript。

除了Windows脚本主机之外,还有

  • (仅限Vista和Windows 7)

它们都是用标准的web技术、HTML、JavaScript、Flash等编写的。它们还可以用COM对象/ActiveX控件(如FileSystemObject、WMI、WScript,甚至是您自己编写的控件)进行扩展。Windows桌面小工具可以使用各种Win32风格的属性和方法访问单独的API/命名空间。

Internet Explorer在IE 5中引入了API的概念。它从未取得重大突破,因此资源和文档都很匮乏

不过,由Mozilla支持的竞争对手似乎还活着,而且状况良好,绝对值得一看

Prism是一个允许用户拆分web应用程序的应用程序 并直接在桌面上运行


我想你在找我

Adobe®AIR®2运行时使开发人员能够使用HTML、JavaScript、Adobe Flash®软件和ActionScript®构建web应用程序,这些应用程序可以作为独立的客户端应用程序运行,而不受浏览器的限制航空网站


我相信最好的方式是谷歌提供的


“强> V8<强”可以独立运行,也可以嵌入任何C++应用程序中。“-我相信这对您的需求是完美的,因为您可以在JavaScript中完成大部分的工作,并使用提供的接口与系统进行通信。

使我疯狂,但它只是JavaScript到java或C语言的一小步。我建议C#as,在windows机器上,库已经存在了。你可以直接复制粘贴你的.exe,然后让它撕开。

为什么不在JVM上使用--JavaScript?您甚至可以将脚本编译成.class文件,并将它们与Rhino一起打包到一个JAR中,以便于分发…

如果您想要一个.EXE,如果它们是必需的先决条件,您可以选择什么运行时


如果您同意要求预安装.NET运行时,那么您可以在JScript.NET中完成所有工作

我发现.NET框架中实际上有一个名为
jsc.exe
的JavaScript编译器

有关更多信息:


我猜它不是真正的JavaScript,因为它引入了额外的东西,比如
import
,甚至一些
class
语法,这对我来说很奇怪。但这对我来说非常有效,因为我将按照我在web上习惯的方式做事情。

Chromium Embedded Framework(CEF)可能会给你一些帮助。我还不清楚如何使用这个框架,但我确实发现很多应用程序都使用这个框架

基金的简介如下: Chromium Embedded Framework(CEF)是Marshall Greenblatt于2008年创建的一个开源项目,旨在开发基于Google Chromium项目的Web浏览器控件。CEF目前支持一系列编程语言和操作系统,可以轻松地集成到新的和现有的应用程序中。它的设计从一开始就考虑到了性能和易用性。基础框架包括通过本地库公开的C和C++编程接口,它们将宿主应用程序与铬和WebKIT实现细节隔离。它提供了浏览器控件和主机应用程序之间的紧密集成,包括对自定义插件、协议、JavaScript对象和JavaScript扩展的支持。宿主应用程序可以选择控制资源加载、导航、上下文菜单、打印等,同时利用Google Chrome Web浏览器中可用的相同性能和HTML5技术


许多个人和组织为支持CEF的发展贡献了时间和资源,但始终欢迎社区的更多参与。这包括对核心CEF项目和将CEF与其他编程语言和框架集成的外部项目的支持(参见下面的“外部项目”部分)。

似乎没有人提到

JSDB提供了一个可以执行任意javascript代码的命令行环境。通过使用命令
copy/bjsdb.exe+program.zip program.exe

重要的是要知道,必须在标准zip文件中调用主js文件main.js。不确定是否需要名称program.zip

我还没有尝试过用它来制作GUI应用程序,尽管它似乎支持各种API,比如ActiveX


通过使用上面提到的copy/b命令,您可以从wscript.exe文件编译一个脚本,但我尝试了,但无法让它工作。如果有人尝试并取得了成功,请告诉我。

您知道HTAs吗?这将是一种使GUI部分完全使用HTML/CSS/JS的方法,至少是这样。@Andreas:是的,我认为它的工作原理类似于Windows脚本主机(可能使用cscript.exe等)。所以我仍然不确定是否足够做我需要的事情