首先,我对专业地做这件事不感兴趣。我是一名网络开发人员,我的一个同事最近离开了 Spotify,他说他将主要使用 JavaScript 为 Spotify 桌面应用程序工作。他说它使用“Chrome 框架”,里面的一切都像网络应用程序(HTML/JS/CSS)一样完成。
作为一个从未为桌面构建过任何东西的 Web 开发人员,这是个好消息。如果我可以使用我已经知道的技术并在某种“框架”中实现它们,并且仍然能够构建 Windows 或更好的跨平台应用程序。
我知道我没有提到任何关于数据库的内容,但即使是一个简单的带有 Web 技术的 hello world 桌面应用程序也可以很好地开始。
那么怎么做呢?我到底需要/需要知道什么?
您可以从 Titanium for desktop dev 开始。你也可以看看 Chromium Embedded Framework 。它基本上是一个基于 chromium 的网络浏览器控件。
它是用 C 编写的,因此您可以在容器应用程序中执行所有您想要的低级操作系统内容(咆哮、托盘图标、本地文件访问、com 端口等),然后在 html/javascript 中执行所有应用程序逻辑和 gui。它允许您拦截任何 http 请求以提供本地资源或执行一些自定义操作。例如,对http://localapp.com/SetTrayIconState?state=active的请求可能会被容器拦截,然后调用 C 函数来更新托盘图标。
它还允许您创建可以直接从 JavaScript 调用的函数。
直接在 CEF 中调试 JavaScript 非常困难。不支持像 Firebug 这样的东西。
你也可以试试 AppJS.com (帮助构建桌面应用程序。适用于 Linux、Windows 和 Mac,使用 HTML、CSS 和 JavaScript)
此外,正如@Clint 所指出的, brackets.io (Adobe) 的团队使用 Chromium Embedded Framework 创建了一个很棒的 shell,这使得上手变得更加容易。它被称为括号外壳:github.com/adobe/brackets- shell在此处了解更多信息:clintberry.com/2013/html5-desktop-apps-with-brackets- shell