Skip to content
/ energy Public

Energy is a framework developed by Go language based on CEF (Chromium Embedded Framework) for developing cross-platform desktop applications for Windows, Mac OS X, and Linux

License

Notifications You must be signed in to change notification settings

energye/energy

Repository files navigation

Energy is a GUI framework developed by Go, based on LCL and CEF

中文 | English


go-version github release Build Status repo Go Report Go Reference Discord codecov contributors license

  • Energy is a GUI framework developed in Go, based on LCL and CEF(Chromium Embedded Framework), which is used to develop cross-platform desktop applications for Windows, MacOS, and Linux.
  • LCL alone can create lightweight native applications, or can be combined with CEF to create more feature-complete applications.
  • Construct cross-platform desktop applications that support Windows, Linux, and MacOS using Go and web technologies (HTML + CSS + JavaScript).

Characteristic

  • Rich CEF API and LCL system native widgets
  • Development environment is simple and the compilation speed is fast. Only need Go and Energy.
  • Cross-Platform: You can package your code as Windows, domestic UOS, Deepin, Kylin, MacOS and Linux
  • Responsibilities
    • Go: Go is responsible for creating Windows, configuring CEF and implementing functions, creating various UI components, calling the low level of the system and some functions that JS cannot handle, such as: file flow, security encryption, high-performance processing, etc.
    • Web: HTML + CSS + JavaScript is responsible for the function of the client interface, you can make any interface you want.
  • Front-end technology: Support mainstream frameworks, such as Vue, React, Angular or pure HTML+CSS+JS.
  • Event driven: High performance event driven communication based on IPC allowing intercommunication between Go and Web.
  • Resource loading: You can either read local resources or resources built into execution files either with or without HTTP services.

Built-in dependency&integration

  • LCL
  • CEF-CEF4Delphi

Basic needs

  • Golang >= 1.18
  • Energy (CEF, liblcl)

Environmental installation

Automatic installation development environment using the energy command-line tool

Guide to Start - Link

Quick Start

Run a simple application by three steps

  1. Install development environment: energy install
  2. Initiate an Application: energy init
  3. Run the Application: go run main.go

sample code

main.go

package main

import (
    "github.com/energye/energy/v2/cef"
)

func main() {
     //Global initialization
     cef.GlobalInit(nil, nil)
     //Create an application
     app := cef.NewApplication()
     //Specify a URL address or local HTML file directory
     cef.BrowserWindow.Config.Url = "https://energye.github.io"
     //Run Application
     cef.Run(app)
}

Build

  1. Build:energy build
  2. Package:energy package
  3. Package Type:
    • windows: Using nsis create exe installation package
    • linux: Using dpkg create deb installation package
    • macos: Generate xxx.app

Windows MacOS Linux

OS 32-bit 64-bit
Windows ️✔️ ️✔️
MacOSX (Intel) ️✔️
MacOS (Apple Silicon) ️✔️
Linux ️✔️ ️✔️
Linux ARM ️✔️ ️✔️

v3.0 Related Projects

Other Projects


ENERGY QQ Group & WeChat

Innovative functions break through difficulties. Light up the star and strive forward together!


QQ Group: 541258627 WeChat: sniawmdf


Thanks Jetbrains

JetBrains Logo (Main) logo.


Project screenshot

Windows-10

Windows-7 32 & 64

Windows-XP-SP3

Linux - Deepin

Linux - Kylin ARM

Linux - Ubuntu

MacOSX


Public License

license

Contributors