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

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

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

我知道我没有提到任何关于数据库的内容,但即使是一个简单的带有网络技术的 hello world 桌面应用程序也很适合。

那么怎么做呢?我到底需要/需要知道什么?

最佳答案

您可以从 Titanium for desktop dev 开始。你也可以看看 Chromium Embedded Framework 。它基本上是一个基于 chromium 的网络浏览器控件。

它是用 C++ 编写的,因此您可以在容器应用程序中执行所有您想要的低级操作系统内容(Growl、托盘图标、本地文件访问、com 端口等),然后在 html/中执行所有应用程序逻辑和 gui javascript。它允许您拦截任何 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

https://stackoverflow.com/questions/12232784/

相关文章:

html - 如何让 HTML 5 输入类型 ="date"在 Firefox 和/或 IE 10

html - 表格固定标题和可滚动正文

html - 将居中文本添加到水平线的中间

html - 绝对与相对 URL

java - 如何使用 Java 有效地解析 HTML?

html - 如何更改 Canvas 元素中元素的不透明度(alpha、透明度)?

html - 如何仅在表格内应用边框?

html - 有必要写 HEAD、BODY 和 HTML 标签吗?

jquery - 使用 JQuery 播放/暂停 HTML 5 视频

html - 为什么类型为 "number"的 html 输入允许在字段中输入字母 'e'?