Electron介绍

前言

相信很多的前端小伙伴都想过一个问题,web技术是否可以用于开发桌面应用。答案当然是可以的,Electron框架就是其中的一种解决方案。

Electron介绍

Electron是一个使用 JavaScriptHTMLCSS 构建桌面应用程序的框架。

Electron 并不是一门新的技术,自 2013 年开始至今已有 10 年历史了,由Github团队开发。

根据github网站可以看到一直都在更新,2023年就更新了60+小版本更新,6+大版本的更新。(Electron Releases (electronjs.org))

Electron集成了Chrome浏览器内核、Node.js环境以及系统本地原生API的调用接口。即

在这里插入图片描述

  1. Chrome内核为Electron提供了Web开发能力,可以无缝衔接各种Web开发技术如Vue、React。即内嵌浏览器内核
  2. Node.js为Electron提供了访问操作系统的能力。例如文件系统、网络模块。即内嵌Node.js环境。
  3. Native Api,为Electron提供原生的GUI支持。原生的Api这个概念可能优点抽象,原本就是根本的意思。例如在Window环境下,使用Windows提供的GUI开发接口进行开发(如Windows的Win32 AP))。

Electron的应用

Electron是一个跨平台的桌面GUI开发框架。开发一套应用可以在Windows.Linux,macOs多端运行。

Electron的应用:

  1. QQ桌面版本
  2. Visul Studio Code
  3. PostMan
  4. Apifox
  5. drawio-desktop
  6. Xmind
  7. 幕布(mubu)
  8. Typora

怪不得我16G的内存完全不够用,原来其中之一的原因出在这里。

大家还知道哪些应用是用Electron开发的吗?

Electron的优缺点

优点

  1. 上手简单,效果更好。可以使用Web三件套、Vue、React登前端框架直接实现GUI。
  2. 开发速度快。相比传统的桌面开发(例如QT),使用Web技术开发桌面应用速度更快。
  3. 跨平台。开发的桌面应用可以在Windows、Linux、macOs多个平台运行。
  4. 开发文档齐全,适配多种语言,demo小例子一键运行。
  5. 更新、调试更方便。
  6. 开发好的应用可以自动更新。

缺点

  1. 安装包体积大:打包了Chrome内核和Node.js环境,会让安装包体积增大。
  2. 性能较低:相比传统的桌面开发技术(例如C++、C#开发),性能不如前者。
  3. 每个窗口都是一个进程,占用内存。

Electron的发展前景

目前来看Electron的发展前景是良好的,主要是因为其对跨平台桌面应用开发的强大支持和社区的活跃参与。

从开发者团队我们可以看到一年60+小版本的更替,6+个大版本的更替。

Electron框架的使用在业界已经有了一定的普及,它能够让开发者利用熟悉的Web技术来构建桌面应用程序,大大降低了进入门槛。由于使用JavaScript、HTML和CSS等Web技术,几乎所有具备Web开发技能的开发者都能够轻松上手Electron,这对于人才短缺的小型和中型企业尤其有益。

技术决策应该以业务目标为指导,选择正确的技术而不是盲目跟随趋势。Electron可以大大缩短应用的开发时间,一次开发多端运行。Electron应用程序能够在所有主要的桌面操作系统上运行,包括Windows、macOS和Linux

它有着跨平台支持、上手门槛地、开发速度快、自动更新、等特性,我相信会有越来越多的开发者使用它作为桌面端应用程序的开发框架,特别是哪些对于性能要求不高的的桌面应用程序。、

现如今electron正在如火如荼的发展,有人说Eelectron被抛弃了,明显是不现实的。

交流

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/322290.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

丰田凯美瑞雾灯改双光透镜解决方案

丰田凯美瑞大灯采用CAN总线控制车灯的近光、远光、日行灯、转向灯信号,无法直接从车灯插头上直接获取近光远光信号。传统改灯需要拆开车灯通过光耦线阻取得近远光开光信号,工序繁琐且不美观。 厦门市创宇致诚电子科技推出一款丰田凯美瑞车灯信号解码器&a…

15 Linux 按键

一、Linux 按键驱动原理 其实案件驱动和 LED 驱动很相似,只不过区别在于,一个是读取GPIO高低电平,一个是从GPIO输出高低电平。 在驱动程序中使用一个整形变量来表示按键值,应用程序通过 read 函数来读取按键值,判断按键…

JVM之对象创建

对象创建的流程 1.类加载检查 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。new指令对…

table的最后一行需要加底色

<tr class"font12" v-for"(item, index) in OrderAuditDiscountList.list" :key"index":class"OrderAuditDiscountList.list.length - 1 index ? blodfont : "> 其中&#xff1a; :class"OrderAuditDiscountList.list.le…

tolist()读取Excel列数据,(Excel列数据去重后,重新保存到新的Excel里)

从Excel列数据去重后&#xff0c;重新保存到新的Excel里 import pandas as pd# 读取Excel文件 file r"D:\\pythonXangmu\\quchong\\quchong.xlsx" # 使用原始字符串以避免转义字符 df pd.read_excel(file, sheet_namenameSheet)# 删除重复值 df2 df.drop_duplica…

【Python案例实战】水质安全分析及建模预测

一、引言 1.水资源的重要性 水是生命之源,是人类生存和发展的基础。它是生态系统中不可或缺的组成部分,对于维系地球上的生命、农业、工业、城市发展等方面都具有至关重要的作用。 2.水质安全与人类健康的关系 水质安全直接关系到人类的健康和生存。水中的污染物和有害物…

Stable Diffusion汉化插件

今天为大家介绍Stable Diffusion的两种UI汉化包&#xff0c;一种是汉化包&#xff0c;就中文界面&#xff0c;方便大家对于繁杂的参数的模型的操作&#xff0c;一种是中英文对照界面&#xff0c;在中文提示下&#xff0c;同时显示英文&#xff0c;不但方便设置也同时学习了英文…

【QT demo】基于QT6.2.4实现简易的QT_Snake贪吃蛇小游戏

QT6 贪吃蛇 项目学习链接 :https://zhuanlan.zhihu.com/p/673776531本人环境是QT6 如果是qt5的话需要修改Cmakelist.txt的内容请自己实现 大不了stfwgithub仓库 运行截图

ssm基于WEB的人事档案管理系统的设计与实现论文

摘 要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔阂给消除了&#xff0c;让整个世界都可以即时通话…

Unity3D入门基础知识汇总

1、参考链接 01.游戏引擎是啥玩意&#xff1f;_哔哩哔哩_bilibili 2、unity概念 它是一套具有完善体系与编辑器的跨平台游戏开发工具&#xff0c;也称之为游戏引擎。游戏引擎是指一些编写好的可重复利用的代码与开发游戏所用的各功能编辑器。 3、unity界面 右上边可以切换布局…

智邦国际ERP系统 SQL注入漏洞复现

0x01 产品简介 北京智邦国际软件技术有限公司的ERP系统是一种集成化的企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;简称ERP&#xff09;解决方案&#xff0c;旨在帮助企业实现高效的运营管理和资源优化。 0x02 漏洞概述 智邦国际ERP系统 GetPersonalS…

el-cascader隐藏某一级的勾选框及vue报错Error in callback for watcher “options“的解决办法

今天用到饿了么的级联选择器时出现了这个报错Error in callback for watcher “options“: “TypeError: Cannot read propertie ‘level‘ of null,因为需求是在不同类型 el-cascader多选的时候默认是可以勾选所有级的选项的,如下图: 包含级联cascader的options、select的…