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

Creating Desktop applications that run on web browser

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

我也在尝试进入它,我正在尝试了解我应该如何开始这种开发。

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

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

不知从何下手,一头雾水...

当开发人员说他们在 Javascript 或 运行 网络浏览器上开发桌面应用程序时 - 他们可能是指使用 node-webkit 吗?或者他们是否执行我上面描述的复杂结构(本地主机上的 JSP/PHP 服务器)?

存在许多使用 Web 技术的开发模型,但它们有不同的目的,这完全取决于您想要做什么。

您似乎混合了 3 个模型

经典网站

服务器(PHP、Java 或其他)生成 HTML.

用户使用浏览器访问。

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

单页应用程序

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

SPA 是所有模板都在客户端完成的网站(您可以在 URL 访问它们),网络服务器仅公开 HTTP API.

大多数时候,人们使用框架来制作像这样的东西:

  • AngularJS
  • 反应
  • Backbone

采用网络技术的桌面应用程序

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

没有服务器。

使程序员能够做到这一点的工具是

  • Node webkit(用于桌面)
  • 科尔多瓦(phones)
  • 许多其他人

大多数时候,程序员还结合使用 SPA 工具来帮助他们进行开发

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

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

桌面应用程序 运行 在您的本地计算机上运行,​​它们独立于您的浏览器。但是 node webkit 允许您使用 HTML 设计应用程序并使用 node.js 使它们动态化。最终结果是一个独立的应用程序,运行 作为能够呈现的浏览器仿真和 运行 基于 HTML 和 javascript 的软件。 (在这种情况下,nodejs 在本地为应用程序提供服务,而独立的网络应用程序是客户端)。

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

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

试试这个-

https://electronjs.org/

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

等公司用于创建应用程序