【go语言】使用Wails开发一款现代化文本编辑器 - 从0到1的实践指南
文章目录
- 使用Wails开发一款现代化文本编辑器 - 从0到1的实践指南
- 前言
- 项目介绍
- 模块组件划分
- 终端支持
- 技术栈选择
- 后端技术栈
- 前端技术栈
- 总结
使用Wails开发一款现代化文本编辑器 - 从0到1的实践指南
前言
VSCode作为一款优秀的编辑器工具,其使用Electron进行开发。而wails作为基于webview2开发桌面应用的框架,其实和Electron在内存占用方面大差不差。亮点可能就是exe就5MB左右。(背后的webview2 400M左右)于是便使用wails开发一款文本编辑器试试。
项目介绍
此项目名为 wails-coder ,目标是打造一款轻量的文本编辑器,采用常见的编辑器设计风格,支持以下核心功能:
- ✅ 文件资源管理器 - 树形结构浏览文件系统
- ✅ 多标签页编辑 - 同时编辑多个文件
- ✅ 集成终端 - 内置命令行工具
- ✅ 深色主题 - 护眼编程体验
- ✅ 快捷键支持 - 提升开发效率
模块组件划分
以界面组件分类,主要包括以下几种:
- toolbar工具栏:包含文件、编辑、终端、帮助等菜单组。
- Activity活动栏:左侧切换展示资源管理器、搜索、git、插件界面等,主要影响左侧布局。
- Editor编辑器界面:主要由文件tabs和编辑器区域组成。
- BottomBar底栏:主要展示当前文件 行列空格编码等信息
- Panel各种面板:此类属于基础+扩展功能,比如终端交互界面、运行日志界面。报错界面、git commits树图展示界面,还应该支持插件注册。
终端支持
技术栈选择
后端技术栈
- Go - 高性能后端语言,负责文件系统操作
- Wails v2 - 跨平台GUI框架,Go + Web技术栈
- Go标准库 - 文件IO、路径处理、命令执行
前端技术栈
- Vue 3 - 渐进式JavaScript框架
- TypeScript - 类型安全的JavaScript超集
- Vite - 快速的构建工具
- monoca-editor:开源的编辑器组件
总结
当然目前只是一个简单的编辑器功能,未来可能也是,毕竟主要是写着玩玩。而且这种文本编辑器就像搭积木一样,在基础框架上附加一个个小功能,所以可以慢慢来。