客户机中的节点Js应用程序

时间:2018-02-11 07:11:14

标签: javascript node.js express

我想创建一个Node js应用程序,无论使用何种操作系统,它都可以在每台机器上本地运行。例如,如果我在节点js中构建待办事项列表应用程序,当我在浏览器中键入www.todo.app时,应该运行待办事宜应用程序。我尝试使用Electron Js来制作应用程序,但问题是,它需要额外的机器内存。我知道Electron使用内置的chrome浏览器运行。如果我已在机器中安装了Chrome浏览器,为什么Electron会在该机器中安装另一个chrome。

所以,我的问题是,如果我有机会在机器浏览器中运行本地运行的节点js应用程序。

1 个答案:

答案 0 :(得分:0)

这里有太多问题。

  

我尝试使用Electron Js进行应用程序,但问题是,它需要额外的内存。

虽然电子应用程序的内存消耗通常比高度优化的本机应用程序大,但它与运行chrome standalone相当。因此,如果用户使用chrome查看Web应用程序,则从电子切换到基于节点的应用程序(用户需要在本地运行)不会为内存esp节省很多。

  

如果我已在机器中安装了chrome浏览器,为什么Electron会在该机器中安装另一个chrome。

基本上,捆绑运行时可确保您可以控制应用程序中使用的chrome版本,无论用户在其计算机中安装了什么。

这也意味着您测试的浏览器引擎是用户使用的浏览器引擎(在所有平台上)。

electrino这样的一些项目试图通过将已安装的浏览器引擎用于类似桌面应用程序的电子设备来解决这个问题,但据我所知,这些工作都尚未准备就绪。

  

所以,我的问题是,如果我有机会在机器浏览器中运行本地运行的节点js应用程序。

说完上述所有内容后,没有什么能够阻止您构建和分发基于节点的Web应用程序。

对于针对技术(或技术倾向)用户的应用程序,人们通常将这些应用程序分发为npm软件包或平台特定的软件包管理器(例如,用于Windows的scoop,用于mac的自制程序,用于linux的快照等)。

您还可以使用像Zeit的pkg这样的解决方案将您的应用程序作为独立的二进制文件分发。

据我所知,桌面操作系统的任何应用程序商店都不允许分发Web应用程序。