首先,我对专业从事这项工作不感兴趣。我是一名Web开发人员,我的一个同事最近离开了Spotify,他说他将主要在JavaScript中使用SpotifyDesktop应用程序。他说,它使用“ Chrome框架”,并且内部的所有内容都像网络应用程序(HTML / JS / CSS)一样完成。
作为一个从未为Desktop构建任何东西的Web开发人员,这是个好消息。如果我可以使用我已经知道的技术,并且可以在某种“框架”内实施这些技术,并且仍然能够构建Windows或更好的跨平台应用程序。
我知道我没有提到任何有关数据库的信息,但是即使是具有Web技术的简单的hello world桌面应用程序也很不错。
那么如何去做呢?我到底需要/需要知道什么?
您可以从Titanium桌面开发开始。您也可以看看 Chromium Embedded Framework 。它基本上是一个基于铬的Web浏览器控件。
它是用C 编写的,因此您可以在容器应用中执行所需的所有低级OS东西(Growl,任务栏图标,本地文件访问,COM端口等),然后执行html / javascript中的所有应用逻辑和gui。它允许您拦截任何http请求以服务本地资源或执行某些自定义操作。例如,对的请求可能会被容器拦截,然后调用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]