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

2020/10/19 10:01 · javascript ·  · 0评论

首先,我对专业从事这项工作不感兴趣。我是一名Web开发人员,我的一个同事最近离开了Spotify,他说他将主要在JavaScript中使用Spotify Desktop应用程序。他说,它使用“ Chrome框架”,并且内部的所有内容都像网络应用程序(HTML / JS / CSS)一样完成。

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

我知道我没有提到任何有关数据库的信息,但是即使是具有Web技术的简单的hello world桌面应用程序也很不错。

那么如何去做呢?我到底需要/需要知道什么?

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

它是用C ++编写的,因此您可以在容器应用程序中执行所需的所有低级OS东西(咆哮,托盘图标,本地文件访问,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您会发疯在其之上开发了许多流行的桌面应用程序。

注意:AppJS已过时,不建议再使用。

看看NW.js代替。

似乎HTML / JS / CSS桌面应用程序的解决方案并不短缺。

我刚遇到的一种解决方案是TideSDK:http://www.tidesdk.org/ ,在查看文档时似乎很有希望。

您可以使用Python,PHP或Ruby进行开发,并将其打包为Mac,Windows或Linux。

对不起,爆你的泡沫,但Spotify的桌面客户端只是一个基于Webkit的浏览器当然,它公开了特定的附加功能,但是它只能运行JS并呈现HTML / CSS,因为它具有JS引擎和Chromium呈现引擎。这无助于编码客户端Web应用程序并将其部署到多个平台。

您要寻找的内容类似于Sencha Touch,即一个框架,该框架允许将HTML5应用程序本机部署到iOS,Android和Blackberry设备。它基本上是某些API调用和可用的特定于设备的功能之间的中介。

我没有使用appcelerator的经验,但似乎完全是在这样做-并在网上获得了非常好评。您应该尝试一下(除非您想回​​到1999年并使用MS HTA进行滚动;)

我知道其中有FluidPrism(还有其他一些,这是我以前使用的),可以让您将网站加载到看起来像独立应用程序的网站中。

在Chrome中,您可以为网站创建桌面快捷方式。(您可以在Chrome中执行此操作,不能/不应该将其与应用打包在一起)Chrome浏览器内嵌框架与众不同:

Google Chrome浏览器内嵌框架是基于开源Chromium项目为Internet Explorer设计的插件;它将Google Chrome的开放式网络技术引入Internet Explorer。

您需要为Web应用程序提供某种包装,然后剩下的就是您习惯的Web技术。您可以在应用离线时使用HTML5本地存储来存储数据。我认为您甚至可以使用SQLite。

不过,我不知道您将如何使用特定于操作系统的功能。我上面描述的内容与任何“常规”网站都具有相同的局限性。希望这可以为您提供从何处开始的指导。

您可以使用Adobe AIR构建Javascript应用程序…… http://www.adobe.com/products/air.html

CEF为定制提供了很多灵活性和选项。但是,如果要快速开发node-webkit也是一个不错的选择。节点Web工具包还提供了直接从DOM调用节点模块的功能。

如果没有集成本机模块的Node-Webkit可以提供更好的服务。使用本机模块C / C ++甚至C#,使用CEF更好。

本文地址:http://javascript.askforanswer.com/ruheshiyonghtml-css-javascriptkaifazhuomianyingyongchengxuguanbi.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!