我的第一个Electron windows GUI 程序

Electron+Vue3+Express构建本地AI编程助手GUI 桌面端智能编程辅助工具是面向开发者的一类关键生产力应用,其核心在于突破浏览器沙箱限制,实现本地文件系统访问、系统命令调用与大模型流式推理。技术原理上依赖Electron提供Node.js运行时与跨平台GUI能力,Vue 3通过Composition API和Devtools实现高效响应式交互,Express则承担轻量HTTP服务以支持SSE流式响应、大文件下载等关键能力。该架构具备高隐私性、低延迟和离线可用等技术价值,广泛应用于金融/政企私有代码环境、全栈工程师本地开发提效及开源大模型(如DeepSeek- 阅读详情

起步,helloworld(仿官网示例)

  1. 目标目录结构

        |--demo01
                   | ---- package.json     程序依赖和运行脚本文件
                   | ---- main.js          程序入口文件
                   | ---- index.html       程序界面入口文件
    
  2. 创建package.json文件

        # 全局安装electron,方便后续运行
        npm install electron -g
        # 创建项目目录
        mkdir demo01 && cd demo01
        yarn init
        # 一路回车,直到成功生成package.json
        mkdir main.js
        mkdir index.html
  3. 编辑package.json

        // 指定程序入口文件
        "main": "main.js",
        // 添加项目启动脚本
        "scripts": {
            "start": "electron ."
        },
        // 添加程序依赖
        "dependencies": {
            "electron": "^1.8.4"
        }
  4. 编辑main.js

        var electron = require('electron');
        var app = electron.app; // 鬼应用实例
        var BrowserWindow = electron.BrowserWindow; // gui窗口
    
        // 上面三行可简写为
        // var { app, BrowserWindow } = require('electron);
    
        // 保持一个对于 window 对象的全局引用,不然,当 JavaScript 被 GC,window 会被自动地关闭
        var mainWindow = null;
    
        // 当所有窗口被关闭了,退出。
        app.on('window-all-closed', function () {
            // 在 OS X 上,通常用户在明确地按下 Cmd + Q 之前
            // 应用会保持活动状态
            if (process.platform != 'darwin') {
                app.quit();
            }
        });
    
        // 当 Electron 完成了初始化并且准备创建浏览器窗口的时候,这个方法就被调用
        app.on('ready', function () {
            // 创建浏览器窗口。
            mainWindow = new BrowserWindow({ width: 800, height: 600 });
    
            // 加载应用的 index.html
            mainWindow.loadURL('file://' + __dirname + '/index.html');
    
            // 打开开发工具
            mainWindow.openDevTools();
    
            // 当 window 被关闭,这个事件会被发出
            mainWindow.on('closed', function () {
                // 取消引用 window 对象,如果你的应用支持多窗口的话,
                // 通常会把多个 window 对象存放在一个数组里面,
                // 但这次不是。
                mainWindow = null;
            });
        });
  5. 编辑index.html

        <!DOCTYPE html>
        <html>
        <head>
            <title>Hello World!</title>
        </head>
        <body>
            <h1>Hello World!</h1>
            We are using io.js <script>document.write(process.version)</script>
            and Electron <script>document.write(process.versions['electron'])</script>.
        </body>
        </html>
  6. 安装依赖,启动程序

        # 安装依赖,也可以使用npm install
        yarn install
    
        # 启动程序
        npm start

至此,我的第一个electron桌面GUI程序成功完成!Let’s cheers and look forward to my next blog.

YOLO26-seg分割优化:轻量化卷积魔改 | 新的partial convolution(PConv)结合C3k2 | CVPR2023 ​​​​​摘要:本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其关键架构改进及其在实时边缘目标检测中的性能基准测试。YOLO26于2025年9月发布,是YOLO系列最新、最先进的成员,专为在边缘及低功耗设备上实现高效、精确且易于部署的目标而构建。本文依次详述了YOLO26的架构创新,包括:移除了分布焦点损失(DFL);采用端到端的无NMS推理;集成了渐进损失(ProgLoss)与小目标感知标签分配(STAL);以及引入了用于稳定收敛的MuSGD优化器。 阅读详情

相关推荐

Nordic BLE芯片RF测试

BLE设备在过蓝牙BQB,FCC,ETSI等各种认证时实验室一般都需要做RF各项指标的测试。Nordic公司的SDK包中提供了两种RF测试程序,一种是DTM,另一种是Radio test。这两种都可以做RF指标测试但各自又有区别。DTM是按照蓝牙规范中Direct test mode所要求数据格式测试(数据格式定义参看:Bluetooth Core Specification v5.0->...

5640

2023 最新前端 Electron Gui 实现桌面应用开发详细教程(基础篇)

如果拖拽区域不同,这种情况下,在新的页面中设置上拖拽区域即可。在某些平台上,可拖拽区域不被视为窗口的实际内容,而是作为窗口边框处理,因此在右键单击时会弹出系统菜单。打开 cmd 窗口,在命令窗口输入命令:node -v,如果出现版本号,即表示安装成功。

唤醒手腕 1万+

雷达信号处理——恒虚警检测(CFAR)

上图展示的是同时在距离维和多普勒维进行恒虚警检测的原理,如果只是在距离维或多普勒维做CFAR,检测单元的左右两侧均有设定好数量的保护单元和参考单元。不同的CFAR检测器适用于不同的场景,CA-CFAR算法适用于均匀环境中的单目标或彼此相距较远的多目标环境,在邻近多目标环境会发生目标的遮蔽效应,在杂波边缘会发生杂波边缘效应。从图中也可以看到,根据阈值的选择不同,有不同的检测器,其中CA-CFAR是取的参考单元的均值,SO-CFAR取的是参考单元的最小值,而GO-CFAR是取的参考单元的最大值。

诚朴勇毅 3万+

唤醒手腕前端 Electron Gui 桌面应用开发详细教程(概念篇)

实用程序进程可用于托管,例如:不受信任的服务, CPU 密集型任务或以前容易崩溃的组件 托管在主进程或使用Node.jschild_process.fork API 生成的进程中。由于主进程和渲染器进程在 Electron 的进程模型具有不同的职责,因此 IPC 是执行许多常见任务的唯一方法,例如从 UI 调用原生 API 或从原生菜单触发 Web 内容的更改。为了解决这个问题,Chrome 团队决定让每个标签页在自己的进程中渲染, 从而限制了一个网页上的有误或恶意代码可能导致的对整个应用程序造成的伤害。

唤醒手腕 2357

新手入门:从零开始学习PCB飞针测试全流程(附常见问题解答)

本文详细介绍了PCB飞针测试的全流程,从核心原理、设备解析到实操步骤和常见问题解答,帮助新手快速掌握这一电子制造领域的关键质检技术。内容涵盖测试资料准备、参数设置、设备操作技巧以及故障排查方法,特别适合小批量PCB生产的质量检测需求。

weixin_29295541的博客 392

手把手教你新建一个winform项目(史上最全)

本文介绍如何利用visual studio新建一个winform程序

qq_34059233的博客 4万+

打包Electron工程(前端的GUI)

为了让别人双击运行项目不用对方安装node的麻烦,即可以打包成可执行文件。 为了简化Electron程序运行环境,可以把工程编译成EXE可执行程序(windows)或者编译成DMG文件(macos)。 安装打包工具: 先安装electron-packager工具: cnpm install -g electron-packager 查看Electron版本号: 编译Electron项...

手写我对你的温柔 850

【Proteus仿真】基于74LS148+74LS279+74LS48的四路抢答器

【Proteus仿真】基于74LS148+74LS279+74LS48的四路抢答器

perseverance51博客 8834

用JS开发跨平台桌面应用,从原理到实践

导读 使用Electron开发客户端程序已经有一段时间了,整体感觉还是非常不错的,其中也遇到了一些坑点,本文是从【运行原理】到【实际应用】对Electron进行一次系统性的总结。【多图,长文预警~】 本文所有实例代码均在我的github electron-react上,结合代码阅读文章效果更佳。另外electron-react还可作为使用Electron + React + Mobx + Webp...

weixin_34309543的博客 1802

128、点云配准与ICP:经典配准算法与深度学习配准

上周调试一台双臂协作机器人,左手持结构光相机扫描桌面上的随机堆叠工件,右手准备执行抓取。问题出在“对齐”这一步——相机扫描得到的点云和CAD模型点云之间差了大约15度的旋转,导致抓取姿态计算出来直接怼到桌面上。我第一反应是“ICP跑一下不就行了”,结果跑了三分钟,误差纹丝不动,甚至越迭代越发散。后来查了日志才发现,初始位姿给得太离谱,ICP直接掉进了局部最优。这个场景太典型了——很多人以为点云配准就是调个ICP库函数,实际工程里坑比想象中多得多。今天这篇笔记,咱们把点云配准这件事从头捋一遍。

sundong_81的博客 49

C#实现Socket通信同时监听多客户端(附完整源码)

C#实现Socket通信同时监听多客户端(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 428

Electron开发桌面应用

由Bazzzinga威同学翻译自 Medium。https://medium.com/developers-writing/building-a-desktop-application-with-electron-204203eeb658 什么是JavaScript桌面应用 在我心中,桌面应用一直占据着一个特殊的地位。随着浏览器,移动设备变得越来越强大,被移动和web应用取代的桌面应用...

ejinxian的专栏 1978

RK3588上使用PCIE接口的国产千兆网卡YT6801

YT6801是裕太微电子开发的一款国产千兆PCIE以太网控制器芯片,可作为RK3588的PCIE外扩网口使用。

荻夜的博客 8229

Node.js Electron windows下安装与打包成 exe

Electron作为一种用javascript写桌面程序的开发方式,现在已经被大众接受。下面就介绍如何在windows(>win7)下快速搭建Electron开发环境。 介绍 nodejs 的安装,初学和打包

oiKen的博客 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RStudio Electron桌面应用:跨平台GUI的实现机制

RStudio作为R语言的集成开发环境,通过Electron框架实现了真正的跨平台桌面应用体验。本文将深入解析RStudio Electron桌面应用的实现原理、架构设计和技术细节,帮助用户理解这一强大的开发工具如何在Windows、macOS和Linux系统上提供一致的用户界面。 ## 什么是RStudio Electron桌面应用? RStudio Electron桌面应用是基于Elect

gitblog_00903的博客 1039

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

95后码农——用electron打包--Node.js Electron windows下安装与打包成 exe

一 安装 转载:http://www.cnblogs.com/phpCHAIN/p/6347044.html Electron作为一种用javascript写桌面程序的开发方式,现在已经被大众接受。下面就介绍如何在windows(>win7)下快速搭建Electron开发环境。 1. nodejs 的安装 从nodejs 下载最新版本的windows安装程序进行安装,我下载的是v6.9.1,安装时一路默认即可,这个安装会把nodejs和npm配置到系统PATH中,这样在命令行的任何位置都可以直接用

PrinceMe1的博客 2325

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

“Windows 下的 GUI 开发,真的太难了!”

近日,开发者 Samuel Tulach 在个人博客上感叹道,“在 Windows 上编写 GUI 应用程序真是太难了!”在文中,Samuel Tulach讨论了使用 C++ 编写 GUI 应用的各种困难。他详细列举了几种流行的库,但这些库通常会面临诸如依赖项管理、应用程序大小以及样式定制等问题,并没有完全契合的解决方案。万万没想到,这个小吐槽引起了不少开发者的共鸣,甚至登上了 HN 热榜。接...

优快云资讯 1万+

uivonim打包发布指南:用electron-builder构建macOS、Linux与Windows安装包

想把自己编译的 uivonim(一款基于 Electron 的跨平台 Neovim GUI)分享给更多人使用?本文就是一份完整的 uivonim打包发布指南,手把手教你用 electron-builder 构建 macOS、Linux 与 Windows 三大平台的安装包,从环境准备到产出 `dist` 目录中的最终产物,一步到位。 ## uivonim 是什么?先认识这款 Neovim GUI

gitblog_00491的博客 258

Electron 简介

本教程我们来学习 Electron 的基础知识,下面我们先来学习一下什么是 Electron。 Electron是什么 Electron 是是 GitHub 开发的一个开源框架。它允许使用 Node.js(作为后端)和 Chromium(作为前端)完成桌面 GUI 应用程序的开发。 Electron 可以用于构建具有 HTML、CSS、JavaScript 的跨平台桌面应用程序,它通过将 Chromium 和 node.js 合同一个运行的环境中来实现这一点,应用程序可以打包到 Mac、Windows 和

天空之外 1万+

Electron + Vue 简单实现窗口程序(Windows)从零到一

Electron + Vue 简单实现窗口程序(Windows)从零到一。

一zhi小白的博客 3696

如何使用Electron为Python模块构建GUI

如何使用Electron为Python模块构建GUI 1. 项目基础介绍 本项目名为“python-example”,是一个开源项目,旨在展示如何将Python模块的输出在Electron GUI中显示。主要使用的编程语言为JavaScript和Python,其中JavaScript用于Electron框架的开发,Python则用于后端逻辑的处理。 2. 项目的核心功能 检测Python 3+是...

gitblog_00304的博客 561

BeeWare vs Tkinter、Kivy、Electron:Python跨平台GUI框架5大维度选型指南

如果你正在寻找 **Python 跨平台 GUI 框架**,大概率会在 BeeWare、Tkinter、Kivy、Electron 之间犹豫。本文通过 **5 大维度**(平台覆盖、原生体验、学习成本、性能体积、生态成熟度)对四者做横向对比,帮你在 1 分钟内找到最适合自己项目的方案。 [![BeeWare Python 跨平台 GUI 框架社区横幅](https://raw.gitcode.c

gitblog_00084的博客 309

如何快速上手 Electron Toolkit:图形化打包工具完全解析

Electron Toolkit 是一个终极的图形化工具套件,专门为 Electron 应用开发者设计,让应用打包、图标生成、截图制作和网站发布变得简单快速。这个免费工具通过直观的图形界面,彻底改变了传统的命令行打包方式,让即使是新手开发者也能轻松上手。 ## 🚀 为什么选择 Electron Toolkit? 开发 Electron 应用时,最繁琐的部分往往是打包和发布。传统的 elect

gitblog_00966的博客 705

使用Electron打包JavaSpringboot项目为exe文件(含electron-builder下载出错解决方案)

文章目录1、问题背景2、electron入门,使用electron打包静态页面或URL3、electron-builder下载出错4、使用electron打包springboot 1、问题背景 问题如下: 现在我们有一个springboot的项目,启动后可以在localhost:8080访问网站并使用网站提供的服务。 我们想要打包为windows下的可执行文件exe,即 exe会自动打开一个窗口访问到该网站。 使用说明: 请先将项目打包为jar,并确保可以通过java -jar即可启动该web服务 使

小哈里的博客 6103

Electron.NET 打包与分发:使用electron-builder创建安装程序

Electron.NET 集成了 Visual Studio 的发布系统,通过 electron-builder 创建可分发的 Electron 软件包。该过程利用 .NET 的构建系统,同时自动生成必要的 Electron 配置文件。ASP.NET 应用和控制台应用的发布过程略有不同:ASP.NET 应用使用 SelfContained=true 进行文件夹发布,控制台应用使用 SelfCont...

gitblog_00203的博客 1092

Electron GUI

Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。 Electron于2013年作为构建Github上可编程的文本编辑器Atom的框架而被开发出来。这两个项目在2014春季开源...

sinat_41292836的博客 521
上一篇: java实践攻关一JDBC事务处理
下一篇: Vue+Element ui开发中碰到的IE问题
EricLua
博客等级 码龄9年 34粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值