当前位置: 首页 > news >正文

Electron基本介绍

 Electron基本介绍

Electron 官方网站:https://www.electronjs.org/zh/

Electron安装方法:npm install electron -g 全局安装+

Electron简介:Electron提供了丰富的本地(操作系统)API,使你能够使用纯JavaScript来创建桌面应用程序。Electron通过集成浏览器内核,使用Web技术来实现不同平台下的渲染,并结合了 Chromium 、Node.js 和用于调用系统本地功能的Native API 三大板块。

Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用;

Chromium 为 Electron 提供强大的 UI 渲染能力,由于 Chromium 本身跨平台,因此无需考虑代码的兼容性。

Chromium 并不具备原生 GUI(图形用户界面(Graphical User Interface)) 的操作能力,因此 Electron 内部集成 Node.js,编写 UI 的同时也能够调用操作系统的底层 API,例如 path、fs、crypto 等模块。

Native API 为 Electron 提供原生系统的 GUI 支持,借此 Electron 可以调用原生应用程序接口。

总结起来,Chromium 负责页面 UI 渲染,Node.js 负责业务逻辑,Native API 则提供原生能力和跨平台。

发展历史

2013年4月 Atom Shell 项目启动 。(Electron于2013年作为构建 Github上可编程的文本编辑器Atom的框架而被开发出来。)

2014年5月 Atom Shell 被开源 。

2015年4月 Atom Shell 被重命名为 Electron 。

2016年5月 Electron 发布了 v1.0.0 版本 。

2016年5月 Electron 构建的应用程序可上架 Mac App Store 。

2016年8月 Windows Store 支持 Electron 构建的应用程序 。

electron优缺点

优点:

原生的接口(菜单、消息提醒、系统托盘等)

上手难度低。能够使用react、vue等前端框架,能方便地迁移前端组件,构建出漂亮的桌面应用

方便热更新

调试和测试方便

Electron 开发文档齐全

缺点:

因为Electron捆绑了浏览器chromium内核和Node.js,所以它更倾向于创建大型应用,一个简单的Electron应用程序在没有压缩的情况下通常体积约120MB,不太适合开发轻量级的应用

相比c++开发的桌面应用,性能不如后者

每个窗口都是一个新的进程,占据大量内存

启动速度较慢

Electron允许用户通过开发者工具和ASAR源文件轻松访问源代码,不太安全

不支持手机端


http://www.lryc.cn/news/296675.html

相关文章:

  • 使用网关过滤器,根据业务规则实现微服务动态路由
  • PKI - 03 密钥管理(如何进行安全的公钥交换)
  • Bee+SpringBoot稳定的Sharding、Mongodb ORM功能(同步 Maven)
  • HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用
  • IT行业有哪些证书含金量高呢?
  • zlib交叉编译(rv1126)
  • 数字孪生与智慧园区的融合:打造未来产业生态的新篇章
  • nodejs将console.log保存到log.txt文档中(electron工具)
  • 微服务的幂等性
  • Redis之基础篇
  • 靶机实战bwapp亲测xxe漏洞攻击及自动化XXE注射工具分析利用
  • openGauss学习笔记-216 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-CPU
  • 【教程】Linux使用git自动备份和使用支持文件恢复的rm命令
  • 记录使用M1 Mac开发LVGL嵌入式项目
  • 【SpringBoot】JWT令牌
  • Python爬虫 Beautiful Soup库详解#4
  • Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件
  • Django中的SQL注入攻击防御策略
  • ORM模型类
  • Java强训day14(选择题编程题)
  • Redis核心技术与实战【学习笔记】 - 31.番外篇:Redis客户端如何与服务器端交换命令和数据
  • 电缆线的阻抗50Ω,真正含义是什么?
  • 校园团餐SAAS系统源码
  • 图数据库neo4j入门
  • Multisim14.0仿真(五十五)汽车转向灯设计
  • 2402C++,C++的反向代理
  • [职场] 服务行业个人简历 #笔记#笔记
  • 代码随想录算法训练营|day30
  • PHPExcel导出excel
  • ubuntu系统下c++ cmakelist vscode debug(带传参的debug)的详细示例