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被抛弃了,明显是不现实的。

交流

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NetCore部署微服务(一)

目录 前言 什么是微服务 微服务的优势 微服务的原则 创建项目 在Docker中运行服务 客户端调用 简单的集群服务 前言 写这篇文章旨在用最简单的代码阐述一下微服务 什么是微服务 微服务描述了从单独可部署的服务构建分布式应用程序的体系结构流程,同时这些…

Redis 连接 命令

目录 1.Redis Echo 命令 - 打印字符串简介语法可用版本: > 1.0.0返回值: 返回字符串本身。 示例 2.Redis Select 命令 - 切换到指定的数据库简介语法可用版本: > 1.0.0返回值: 总是返回 OK 。 示例 3.Redis Ping 命令 - 查看服务是否运行简介语法可用版本: > 1.0.0返回…

【Proteus仿真】【Arduino单片机】超声波测距系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用动态数码管、按键、HCSR04超声波、蜂鸣器模块等。 主要功能: 系统运行后,数码管显示超声波检测距离,当检…

Apache网页优化

本章主要介绍如何对Apache网页进行优化 Apache 网页压缩Apache 网页缓存Apache 隐藏版本信息Apache 网页防盗链 目录 1、网页压缩与缓存 1.1、网页压缩 (1)gzip介绍 (2)HTTP压缩的过程 (3)Apache的…

Scikit-Learn线性回归(五)

Scikit-Learn线性回归五:岭回归与Lasso回归 1、误差与模型复杂度2、正则化3、Scikit-Learn岭(Ridge)回归4、Scikit-Learn Lasso回归 1、误差与模型复杂度 在第二篇文章 Scikit-Learn线性回归(二) 中,我们已经给出了过拟合与模型泛…

均匀与准均匀 B样条算法

B 样条曲线的定义 p ( t ) ∑ i 0 n P i F i , k ( t ) p(t) \sum_{i0}{n} P_i F_{i, k}(t) p(t)i0∑​nPi​Fi,k​(t) 方程中 n 1 n1 n1 个控制点, P i P_i Pi​, i 0 , 1 , ⋯ n i0, 1, \cdots n i0,1,⋯n 要用到 n 1 n1 n1 个 k k k 次 B 样条基函数 …

手游开发项目经验简单总结

这是我最近一个完整的手游开发项目的总结信息,请大家指点 目录 引擎 语言 编辑器 项目开发模块规划分 主项目工程,UI资源项目工程,模型场景资源项目工程 热更框架 前后端协议 UI 图集 多语言适配 SLG场景和其他场景 战斗 美术模型资源 人物…

微信怎么删除聊天记录?进来Get常用的操作方法!

微信是国内使用最广泛的社交应用程序之一。在我们使用微信的过程中,删除聊天记录是一个常见的操作。人们会删除一些不需要的聊天记录,以此减少存储空间的占用。微信怎么删除聊天记录?本文将介绍删除聊天记录的常用方法,非常简单&a…

Git保姆级安装教程

Git保姆级安装教程 一、去哪下载二、安装2.1 具体安装步骤2.2 设置全局用户签名 一、去哪下载 1、官网(有最新版本):https://git-for-windows.github.io/ 2、本人学习时安装的版本,链接:https://pan.baidu.com/s/1uAo…

被替换的文件怎么找回?3个高效方法分享!

“我在对电脑进行清理时,删除了一些比较重要的文件,为了恢复它们,我重新复制了一些文件,这导致我原先的文件被替换了,这怎么办呢?被替换的文件还能恢复吗?” 在信息化时代,用户的电脑…

Spark四:Spark Streaming和Structured Streaming

简介 Spark Streaming整体流程和DStream介绍 Structured Streaming发展历史和Dataflow模型介绍 Spark Streaming 是一个基于 Spark Core 之上的实时计算框架,从很多数据源消费数据并对数据进行实时的处理,具有高吞吐量和容错能力强等特点。 Spark Stre…

【完整流程】实现STM32+ESP8266+MQTT+阿里云+APP——【第二节-编写STM32程序初步实现ESP8266上云发布订阅消息】

🌟博主领域:嵌入式领域&人工智能&软件开发 前言:本节实现,硬件连接STM32与ESP8266,编写STM32程序通过at命令方式实现STM32ESP8266与阿里云物联网平台发布订阅消息,本节最终实现初步的发布订阅消息…

2024年阿里云服务器按年与按带宽活动价格出炉,最低仅需61元/1年

2024年阿里云服务器活动价格出炉了,新版活动价格表分为按年与按带宽两个价格表,按年最高可选择5年,按带宽可选择按量付费带宽和按固定带宽模式,按年活动价格最低61元/1年,按照带宽模式最低365.33元/1年,不同…

深情回忆VB编程之路

深情回忆VB编程之路 在上世纪90年代末,我与编程世界的初次邂逅始于QBasic这一古老而亲切的语言。那时的编程环境虽然简陋,但却蕴藏着无穷的可能性,每个字符仿佛跳跃着生命,在黑色屏幕中编织出我对编程世界最初的憧憬和梦想。 时光…

计算机网络学习笔记(5)——运输层

本文继续整理计算机网络体系架构知识内容。今日主讲——运输层。 网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。 运输层提供了应用进程间的逻辑通信。运输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看 见的好像在两…

JavaScript基本使用方法

JavaScript 是一种脚本语言,常用于 Web 开发。这里是一些基本的使用方法: 声明变量: 在 JavaScript 中,可以使用 var、let 或 const 关键字来声明变量。例如: var age 25; let name "John"; const PI …

【51单片机】点亮第一个LED灯(含创建文件等基础操作)

51单片机现在不仅是电子信息专业学生的必修课,也是进入嵌入式领域的踏脚石。 本系列将会按照江科大的视频进行,也算是相当于一个笔记,进行巩固 实现第一个LED灯的点亮其实并不复杂,重要的是有一些准备工作比较繁琐,就…

Android RecyleView 使用 Gilde 加载图片引发的卡顿问题

Glide 是一个用于 Android 的图片加载和缓存库。它可以帮助开发者快速、高效地加载网络图片、本地文件和视频帧,并且能够自动缓存图片数据,减少网络请求。Glide 具有良好的性能和易用的 API,支持常见的图片加载需求,例如图片压缩、…

局部与整体的关联特性,如图所示

局部与整体的关联特性是指事物的局部部分与整体之间存在一定的关联关系。它强调整体是由局部构成,局部又反向影响整体。具体包括以下几个方面的特性: 互依性:局部与整体相互依赖,一个的变动会影响另一个的变动。局部的变化会对整体…

bootstrap5实现蛋糕店网页Bakery设计模板

一、需求分析 蛋糕店的网页通常是指蛋糕店的官方网站。这些网页的功能可以因店铺而异,但一般会包含以下内容: 主页:主页通常是网站的起点,展示店铺的品牌形象、特色蛋糕和推广信息。主页通常会设计成吸引人眼球、易于导航的页面。…