创建在Web浏览器上运行的桌面应用程序

时间:2015-02-23 14:13:38

标签: javascript node.js node-webkit

在去年,我了解到许多开发人员开始开发在Web浏览器上运行的桌面应用程序。

我也想尝试进入它,我试图理解如何从这种发展开始。

我首先想到我应该创建一个常规的客户端 - 服务器应用程序,即使用Apache Tomcat或PHP,以及每次启动应用程序,在localhost上启动新服务器并打开将加载应用程序的浏览器。

我最近了解到有些服务器客户端可以为您工作,例如node-webkit。

我不知道从哪里开始,我很困惑......

当开发人员说他们使用Javascript开发桌面应用程序或在Web浏览器上运行时 - 他们是否可能意味着使用node-webkit?或者他们是否执行我上面描述的复杂结构(localhost上的JSP / PHP服务器)?

3 个答案:

答案 0 :(得分:4)

构建应用程序的技术选择取决于您的应用程序的使用以及您希望它运行的平台。

与桌面应用程序形成对比的Web应用程序由服务器(如Tomcat)托管和提供,然后由浏览器请求并呈现给您。

桌面应用程序正在您的本地计算机上运行,​​并且它们独立于您的浏览器。但是,node webkit允许您使用HTML设计应用程序并使用节点使其动态化。最终结果是一个独立的应用程序,作为浏览器模拟运行,能够基于HTML和JavaScript呈现和运行软件。 (在这种情况下,nodejs在本地为应用程序提供服务,而独立的web-app则是客户端)。

Long story short node-webkit模拟用于经典Web应用程序的客户端 - 服务器模型,以构建桌面应用程序。

这是一种非正统的做事恕我直言的方式,但它可能是进入应用程序开发的良好开端。

答案 1 :(得分:1)

许多具有网络技术的开发模型都存在,但它们有不同的用途,这一切都取决于你想做什么。

你似乎在混合3个模型

经典网站

服务器(使用PHP,Java或其他)生成HTML。

用户使用浏览器访问它。

当用户点击某处时,会再次调用服务器并生成另一个HTML文件。

单页应用

在编写需要大量交互性的网站时,通常会使用此模型。例如,Gmail或Google文档是SPA(或多或少)。

SPA是网站(您可以通过URL访问它们),其中所有模板都在客户端完成,而Web服务器只公开HTTP API。

大多数时候,人们使用框架来制作以下内容:

  • AngularJS
  • 阵营
  • 骨干

使用网络技术的桌面应用

这只是编写一个应用程序,您可以使用网络技术(javascript,css,html)安装在计算机或手机上。

没有服务器。

使程序员能够执行此操作的工具是

  • 节点webkit(用于桌面)
  • Cordova(手机用)
  • 许多其他人

大多数时候,程序员也会使用SPA工具与那些在开发过程中帮助他们的工具

答案 2 :(得分:0)

试试这个-

https://electronjs.org/

使用JavaScript,HTML和CSS构建跨平台的桌面应用程序。使用Electron,可以轻松为您的公司或想法创建桌面应用程序。 Electron最初是为GitHub的Atom编辑器开发的,此后被Microsoft,Facebook,Slack和Docker等公司用来创建应用程序。