87,994
社区成员




前言:
Electron是一个基于Chromium和Node.js,可以使用HTML、CSS和JavaScript构建跨平台应用的技术框架,兼容Mac、Windows和 Linux。虽然B/S是目前开发的主流,但是C/S仍然有很大的市场需求。受限于浏览器的沙盒限制,网页应用无法满足某些场景下的使用需求,而桌面应用可以方便地读写本地文件、发起跨域请求、调用更多系统资源,再加上Web开发低成本、高效率的优势,这种方式越来越受到开发者的喜爱。
综合考虑多方面因素,最终选择electron-vite作为本教程的主角。electron-vite现已推出1.x正式版,虽然没有被Electron和Vite官方提到,但经过实战,体验还是不错的。在省去了手动融合Electron和Vite繁琐过程的同时,还实现了V8字节码、主进程和预加载脚本热更新等非常实用的功能,要比自己从头搭建容易得多。
一、electron的进程
electron有个很重要的概念就是进程和进程间通信,科学详细的描述请查阅官网,这里说下简单的理解:
electron分为主进程和渲染进程,主进程负责和系统级数据交互,所以需要借助nodejs或者jdk等环境,渲染进程主要负责渲染页面展示,所以需要借助浏览器环境。
正常情况下,出于安全考虑,浏览器是不可以直接操控系统底层数据的,否则咱们随便浏览个网页,就被人家植入木马或者读取电脑的关键数据了。而electron的进程通信,就是提供一种安全的通道,让浏览器环境中的渲染进程可以访问node环境中的主进程。这个通道,在electorn中被称为IPC通道。
==其实我们不用特别地深究进程通信的概念==,进程通信听着很麻烦,也只能说明它的实现源码可能会不太简单,但是作为一个成熟的框架,==进程通信在我们的代码中使用,却极为简单。==