前沿资讯/GitCode 光引计划投稿 | energy:便捷构建功能丰富的跨平台应用
GitCode 光引计划投稿 | energy:便捷构建功能丰富的跨平台应用
GitCode 光引计划投稿 | energy:便捷构建功能丰富的跨平台应用

2025-01-13发布

0f07b8e7564c1fae74a4ede0ff6e5d41.png

energy 是 Go 基于 LCL 和 CEF(Chromium Embedded Framework)开发的 GUI 框架,用于开发Windows、MacOS 和 Linux 跨平台桌面应用。

  • LCL: 丰富的跨平台系统原生GUI控件库
  • CEF: 基于 Chromium 项目的开源浏览框架

项目地址:https://gitcode.com/energye/energy

核心优势

  • 简易丰富:energy 目标是简易使用且功能丰富的 GUI 框架,现2.0版本支持 LCL 和 CEF 外,在将来的3.0版本支持 Webview2、Webkit2,以提供更多的选择性;
  • UI Designer:在将来还支持UI设计器, 以更快速的设计出原生控件布局;
  • Rust:对Rust支持。

功能特色

  • 学习成本低;
  • cli: eneryg cli,提供了常用的命令工具,从开发环境安装/项目初始化/构建/到安装包制作;

8010522b5766cca730e8115d340398a3.jpg

  • 除了基于 Go 语言的特性, 和具有使用 LCL 和  CEF 构建应用外,同时还简化复杂的 LCL 与 CEF API 使用;
  • 丰富的跨平台原生控件,当前大约有200左右系统原生控件,以及丰富的 CEF API 对浏览器操作性更全面;
  • 可仅使用 LCL 构建体积小巧应用,或结合 CEF 构建内容更丰富的应用或工具;
  • 事件驱动,基于 IPC 通信,实现 Go 和 Web(JS) 端迅捷调用及数据交互;

14a3211dbb4bcfab76d9e5e8f371b609.jpg

  • 可无需 http 服务支撑, 直接读取本地资源或内置到执行文件的资源, 也支持 http 服务加载资源, 更安全。 b6764294df859861f1529d788282d59e.jpg

关键里程碑

自2.0版本发布以来,当前在研发 3.0 版本,重构 LCL 控件库和 CEF, 以及增加 Webview2, Webkit2 的支持。

目的是为了给用户更多的选择,除了现有 CEF 丰富浏览器控制 API 以外,对 Webview2 提供完整的 API, Webkit2提供常用应用开发API。

社区化程度

目前 energy 社区不完善,主要由我个人开发,总共参与人数 4+, 当前 energy 提供了大量的示例程序(70左右)。

基于以上,这不影响解决各种问题的速度,energy 提供了WX/QQ交流群。

  • Issue:平均不超过24小时回复和解决;
  • WX/QQ交流群:平均不超过1小时回复/6小时解决。

GitCode平台体验感受

现在关注的是 ci/cd,因为 energy 框架需要对各种平台进行测试和构建,需要常用的不同系统平台镜像. 但我目前好像没找到它在哪。

  • GitCode网站:页面设计简单明了,也挺漂亮,各种功能使用起来还是很方便的,功能比较齐全;
  • 仓库项目首页:加载有些慢,有时感觉就像是打不开了似的,网页白一会;
  • 仓库项目:还未发现使用有什么明显问题. 从创建导入(新建)到拉取;
  • Issues:编辑 -> 保存,出现404,但内容保存成功了。

项目期望

energy 不仅仅做出常规项目产品,也可基于浏览器功能去开发可控性更强的工具。

希望在平台吸引更多的用户,为用户提供便捷易用的的框架。当前还仅仅是开始, energy 还有很多事情要做, 除了主线任务, 还有非常多的周边功能需要完善。

GitCode产品体验

92660696e37a527e73ee74b1c521f03d.jpg 5c436f404105c47b6263fd85a33cd4fa.jpg

energy 技术架构

cb7bbdb63b3e2b0d37569ae8740bf13c.png

在这里插入图片描述