如何使用HTML / CSS / JavaScript开发桌面应用程序?

首先,我不想专业做这件事。 我是一名Web开发人员,最近离开了Spotify的同事,并表示他将主要为Spotify桌面应用程序开发JavaScript。 他说,它使用“Chrome框架”,里面的一切都像一个网络应用程序(HTML / JS / CSS)完成。

作为一个从未为桌面创建任何东西的Web开发人员,这是一个好消息。 如果我可以使用我已经知道的技术并在某种“框架”中实现它们,并且仍然能够构建一个Windows或更好的跨平台应用程序。

我知道我没有提到有关数据库的任何内容,但即使是一个简单的Hello World桌面应用程序,使用Web技术也会很棒。

那么,人们如何去做呢? 究竟我需要/需要知道什么?


您可以从Titanium开始进行桌面开发。 你也可以看看Chromium Embedded Framework 。 它基本上是一个基于铬的网页浏览器控件。

它是用C ++编写的,所以你可以在你的容器应用程序中完成你想要的所有底层操作系统的东西(低吼,托盘图标,本地文件访问,COM端口等),然后在html / javascript中使用所有的应用程序逻辑和GUI。 它允许你拦截任何http请求来提供本地资源或执行一些自定义操作。 例如,对于http://localapp.com/SetTrayIconState?state=active的请求可能被容器拦截,然后调用C ++函数更新托盘图标。

它也允许你创建可以直接从JavaScript调用的函数。

在CEF中直接调试JavaScript非常困难。 没有像Firebug这样的支持。

您也可以尝试AppJS.com (有助于使用HTML,CSS和JavaScript为Linux,Windows和Mac构建桌面应用程序)

另外,正如@Clint所指出的, brackets.io (Adobe)的团队使用Chromium Embedded Framework创建了一个非常棒的shell,使它更容易上手。 它被称为括号外壳:github.com/adobe/brackets-shell在这里了解更多关于它的信息:clintberry.com/2013/html5-desktop-apps-with-brackets-shell


NW.js

(以前称为node-webkit)

如果您熟悉Node或者使用JavaScript,我会建议使用NW.js。

NW.js是基于Chromium和node.js的应用运行时。

特征

  • 以现代HTML5,CSS3,JS和WebGL编写的应用程序
  • 完全支持Node.js API及其所有第三方模块。
  • 良好的性能:Node和WebKit运行在同一个线程中:函数调用很简单; 对象在相同的堆中,并且可以相互引用
  • 易于打包和分发应用程序
  • 可在Linux,Mac OS X和Windows上使用
  • 您可以在这里找到NW.js回购,并在此处介绍NW.js。 如果你喜欢学习Node.js,我会推荐这个SO帖子,里面有很多很好的链接。


    Awesomium使您可以轻松地在您的C ++或.NET应用程序中使用HTML UI

    更新

    我以前的回答现在已经过时了。 这些日子里,你会发现不使用Electron来做这件事。 许多流行的桌面应用程序已经开发出来。

    链接地址: http://www.djcxy.com/p/52667.html

    上一篇: How to develop Desktop Apps using HTML/CSS/JavaScript?

    下一篇: How do I get started with Node.js?