上下文
我目前正在使用React
(以及其他node
库)开发单页Web应用程序。我已经相对深入这个项目了。该应用程序旨在取代公司的物流平台(交易,库存管理等)。
他们目前的系统是基于Windows
的应用程序,因此直觉感觉Electron
桌面应用程序可能更多地满足他们的需求。我正在开发一个基于Web的应用程序,因为这些是我熟悉的技术。
我知道的
不是很多,因此问题。据我所知,您可以构建基本相同的Web应用程序,但使用Electron
包装桌面功能。此外,Electron可以脱机工作,而Web应用程序则不能。
我研究了什么
我已经做了一些研究,但是没有什么比我正在寻找的东西更好。其他人则将Electron与Extentions,Chrome Apps(折旧)和PWA进行比较。似乎没有人将Electron与Web App进行比较。
我想知道什么
很难准确地说,因为这是一个相当开放的问题。尽管如此,我正在努力寻找答案:
总而言之,我希望有人能够指出我所遗漏的任何可能是决定走哪条道路的重要因素。
我会尽力给你一个简短的答案:
电子基本上做的是将浏览器引擎(在这种情况下为铬)与您的应用捆绑在一起。浏览器引擎负责呈现您的应用。
使用本机功能的方法是在主进程和呈现器进程之间进行通信。基本上,您希望在本机桌面端执行的所有操作都将在主进程内部进行。因此,在您的情况下,您仍然需要做一些额外的工作来使您的Web应用程序在内部或使用电子工作。
本机桌面功能的好处取决于您的Web应用程序的用例。从我个人的经验中我可以看出,以下内容非常有用:
部署方面,最常见的事情是构建并生成应用程序的可安装.exe文件。有很多图书馆允许你建立你的电子申请的.exe,例如“电子建设者”。使用电子更新程序api或某些第三方库存构建,还有很多方法可以为用户提供更新。
安全方面我必须承认我不是那么多,但电子开发人员正在非常频繁地保持框架,所以安全问题应该不是问题。
希望这至少回答你的一些问题,如果不只是问更多:)