haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.45k stars 3.26k forks source link

[Electron] 说说你对Electron的理解 #2876

Open haizhilin2013 opened 4 years ago

haizhilin2013 commented 4 years ago

说说你对Electron的理解

3+1官网

我也要出题

Athony1225 commented 11 months ago

Electron是一个开源库,由GitHub开发,用于构建跨平台的桌面应用程序,它使用Node.js(后端)和Chromium(前端)作为核心技术。这意味着你可以使用纯JavaScript来编写运行在Windows、Mac、Linux系统上的桌面应用程序。同时,你还可以使用Web前端技术,如HTML,CSS,JavaScript,以及现代前端框架和库,如React,Vue等。

Electron的工作原理主要基于两种类型的进程:Main进程和Renderer进程。Main进程负责控制应用程序的整体生命周期,管理所有的Renderer进程,以及执行与系统相关的操作。Renderer进程则负责渲染具体的Web页面,每一个Electron应用窗口都对应一个Renderer进程。

Electron的优点之一是它使得Web开发者能够使用熟悉的Web技术栈来开发桌面应用程序,无需学习新的语言或技术。同时,Electron还提供了丰富的原生API,使得开发者可以直接访问操作系统的底层功能,比如文件系统,网络,操作系统等。

然而,Electron的一些缺点也很明显。例如,Electron应用程序的内存和CPU使用量通常较高,这主要是因为每个Electron应用都包含了一个完整的Chromium实例。另一个常见的批评是Electron应用程序的打包体积通常较大。

总的来说,Electron是一个强大的工具,它极大地简化了跨平台桌面应用程序的开发过程,但开发者在选择时也需要考虑其潜在的性能和资源占用问题。