目前最火的桌面应用开发框架为什么是electron
mini云码 发布日期: 2025-11-02 21:59
目前最火的桌面应用开发框架为什么是electron?而不是.net等旧框架呢?
还是因为electron支持前端界面使用html开发,而html又可以使用炙手可热的vue2、vue3来开发,而electron的原生部分底层又使用nodejs开发,因此,在web界面js和nodejs传递信息方面,又是等于统一语言。
而且前端使用html+css做渲染,已经非常成熟了,支持html+css来渲染,vue程序员们也更加支持使用electron来开发桌面端。
举一个代码的例子,electron想暴露一个原生的函数给js调用,很简单就可以实现了,如下面的代码:
在preload.js里定义一个js函数,接收到js调用后,使用ipcRenderer.sendSync发送一个消息给原生函数。
const {contextBridge,ipcRenderer} = require('electron')
// 暴露数据给渲染进程
contextBridge.exposeInMainWorld('jsApi', {
xxxExec:(config)=>{
let ret=ipcRenderer.sendSync('xxxExec', config);
ret然后再main.js里定义一个接收消息的函数
const { ipcMain } = require('electron');
function xxxExec(event, config){
//todo
event.returnValue = { abc:'返回一个带abc的json字段给js客户端' };
}
ipcMain.on('xxxExec', xxxExec);然后再在web端的使用java调用electron暴露的接口
let responseObj=window.jsApi.xxxExec({xxxx:'xxxxxx'});这样就可以获取原生的返回结果了。比如你让原生的nodejs函数帮你删除本地一个文件也是可以的。
可以看出,界面渲染可以使用完整一套vue来开发,原生部分也是使用熟悉的nodejs来开发。而且兼容多种平台。因此electron出来后,强如windows的亲生子.net,都甘拜下风了。
不过当然,在安全性要求高的场合,还是有使用.net和vc等旧一代框架开发的需求的。
