当前位置: 首页 > 知识库问答 >
问题:

电子vs Web应用(特别是React)

赵骏奇
2023-03-14

语境

我目前正在使用React(和其他节点库)开发一个单页web应用程序。我对这个项目已经比较深入了。此应用程序用于替换公司的物流平台(交易、库存管理等)。

他们目前的系统是一个基于Windows的应用程序,因此直觉上认为电子桌面应用程序可能更适合他们的需求。我正在开发一个基于网络的应用程序,因为这些是我熟悉的技术。

我所知道的

不是很多,这就是问题所在。据我所知,您可以使用Electron构建基本相同的web应用程序,但附带桌面功能。此外,Electron可以脱机工作,而web应用不能。

我所研究的

我做了一些研究,但没有什么能切中我要找的东西。其他人将电子与扩展、Chrome应用(贬值)和PWA进行比较。似乎没有人将电子与网络应用进行比较。

  • 什么是电子,我们为什么要使用它
  • Chrome应用程序与Electron的对比
  • PWA vs Electron vs浏览器扩展
  • 从反应到电子

我想知道的是

很难说清楚,因为这是一个相当开放的问题。尽管如此,我仍在努力寻找答案:

  • 将单页Web应用程序与Electron进行直接比较(安全性、本机桌面功能的好处、部署等)
  • 易于从纯Reactjs过渡到电子/Reactjs

总之,我希望有人能指出我遗漏的任何东西,这些东西可能是决定走哪条路的一个重要因素。

共有1个答案

劳彦
2023-03-14

我将尽量简短地回答你的问题:

电子基本上所做的就是将浏览器引擎(在这种情况下是铬)与你的应用程序捆绑在一起。浏览器引擎负责呈现你的应用。

使用本机特性的方法是在主进程和渲染器进程之间进行通信。因此,基本上,您希望在本机桌面端执行的所有操作都将在主进程中进行。因此,在您的情况下,您仍然需要做一些额外的工作,使您的web应用程序在内部或与electron一起工作。

原生桌面html" target="_blank">功能的优势取决于Web应用的用例。从我个人的经验来看,以下这些东西是非常有用的:

  • 访问文件系统(写入,读取,编辑,删除本地文件)
  • 全局快捷方式(例如,无论用户正在使用什么其他应用程序,按下alt o都会打开您的应用程序或特定页面)
  • 就像你说的,如果你没有互联网连接,你的应用程序至少还会渲染。

在部署方面,最常见的方法是构建和生成应用程序的可安装. exe文件。有很多图书馆允许您构建电子应用程序的. exe,例如“电子构建器”。还有许多方法可以通过内置的电子更新api或一些第三方库向用户交付更新。

安全方面,我必须承认我不太喜欢这一部分,但electron开发人员经常更新框架,所以安全问题不应该成为问题。

希望这至少能回答您的一些问题,如果不只是问更多的话:)

 类似资料:
  • 问题内容: 在最新版本(v0.31.0)中,电子附带了静态链接的FFMpeg库(不是命令行工具,请参见#2588) 我知道很多用于ffmpeg的nodejs模块,但是它们看起来都像是命令行工具的api,那么理想情况下我该如何访问与电子捆绑在一起的ffmpeg库并编码流? 问题答案: 当前这是不可能的,因为没有针对Node.js的不错的库。意思是,只有这样抽象了CLI。但是,可以将其编译和链接为节点

  • 所以我决定为我的Woocommerce商店提供两个不同的模板。 我发现了一个很好的小片段,它基本上告诉我编辑taxonomy-product_cat。php 我的所有店铺页面都是分类/归档页面。我父母的分类中,每只有50只猫。 因此,我的代码在taxonomy-product_cat中如下所示。php: 问题是archive-product.php只适用于“户外家具”类别,而不是其子类别。 我知道

  • 经过无数次尝试和大约50篇文章,我得出结论,这是不可能的,除非有一个巫师愿意从他们的咒语书中撕下一页。 在产品页面上,我希望获取当前产品ID并将其传递给get_the_terms()函数,该函数还提供分类“product_cat”,并最终指定父类别。 在我们传递的父类别中,只选择了一个子类别。所以这应该只返回一个术语。 我想这样做: 然而,这返回了大量的结果,我尝试了一系列其他类似的查询,但这将很

  • 我正试图通过WoodPress主题中的一个函数从woocommerce获取产品类别,我已经做到了: 这将按层次列出所有顶级类别及其下的子类别,但我有子类别(子类别)的子类别,因此如何列出这些子类别。

  • IM工作在一个小部件,显示未读电子邮件计数的Gmail和其他电子邮件帐户设置在智能手机。我使用谷歌邮件API为Gmail和它的作品查找,但我没有得到如何与正常的电子邮件应用程序的工作。 我尝试使用帐户管理器获取登录凭据并自己检索信息,但它没有运行,因为我无法获取任何密码。只需验证令牌。我在谷歌上找不到任何关于如何使用普通电子邮件帐户的解决方案,这些帐户不是来自谷歌邮件。 更新:我试图获得密码与此功