代码之家  ›  专栏  ›  技术社区  ›  Luca Matteis

用JavaScript开发Windows应用

  •  11
  • Luca Matteis  · 技术社区  · 15 年前

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

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

    除了这些小的需求之外,我想用JavaScript来编写所有的东西,因为我觉得用JavaScript比其他任何语言都舒服。

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

    如果没有,我有什么替代JavaScript的方法?

    11 回复  |  直到 15 年前
        1
  •  9
  •   Luca Matteis    15 年前

    我发现在.NET框架中有一个JavaScript编译器,名为 jsc.exe .

    更多信息:

    http://www.phpied.com/make-your-javascript-a-windows-exe/

    http://msdn.microsoft.com/en-us/library/7435xtz6(VS.80).aspx

    我猜它不是真正的JavaScript,因为它引入了额外的东西,比如 import 甚至有些 class 语法对我来说很奇怪。但这对我来说是完美的,因为我会像以前一样在网上做事。

        2
  •  4
  •   Andy E    15 年前

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

        3
  •  4
  •   Jason Cramer    13 年前

    JSDB .

    JSDB提供了一个可以执行任意javascript代码的命令行环境。您可以使用命令轻松地编译成.exe文件 copy /b jsdb.exe+program.zip program.exe

    重要的是要知道必须调用主js文件主要.js在标准zip文件中。不知道名字程序.zip是必需的。

    通过使用上面提到的copy/b命令,您可以从wscript.exe文件-但我试过了,但没能成功。如果有人尝试并取得了成功,请告诉我。

        4
  •  3
  •   Ryan Kinal    15 年前

    Adobe AIR

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

        5
  •  2
  •   Piotr Rochala    15 年前

    我相信最好的办法是 V8 JavaScript Engine 由谷歌提供。

    " V8发动机

        6
  •  2
  •   gilly3    13 年前

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

    Mozilla支持的竞争对手 Prism 不过,似乎还活着,还不错,绝对值得一看。

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

        7
  •  0
  •   Angelo R.    15 年前

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

        8
  •  0
  •   user1228 user1228    15 年前

    把我搞疯了,但从Javascript到Java或C#只是一小步。我建议C#as,在windows机器上,库已经存在了。你可以复制粘贴你的.exe文件,然后让它撕开。

        9
  •  0
  •   zumalifeguard Arctic    15 年前

    如果你想要一个单独的.EXE,如果运行时是必需的,你可以选择什么运行时?

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

        10
  •  0
  •   bygreencn    13 年前

    Chromium Embedded Framework(CEF)可能会给您一些帮助。我还不清楚怎么做,但我真的发现很多应用程序使用这个框架。

    http://code.google.com/p/chromiumembedded/

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

        11
  •  -1
  •   Weston C    15 年前

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