Logo

dev-resources.site

for different kinds of informations.

Building cross platform desktop applications using JavaScript, HTML, and CSS in GO

Published at
6/8/2023
Categories
go
gogui
cef
energy
Author
yanghy
Categories
4 categories in total
go
open
gogui
open
cef
open
energy
open
Author
6 person written this
yanghy
open
Building cross platform desktop applications using JavaScript, HTML, and CSS in GO

Energy is the framework for Go to build desktop applications based on CEF

Github

Gitee

Project Introduction

  • Energy is a framework developed by Golang based on CEF(Chromium Embedded Framework), embedded with CEF binary

  • Use Go and Web technology (HTML+CSS+JavaScript) to build cross-platform desktop applications that support Windows, Linux and MacOS

  • Knowledge of the front-end technology stack and some knowledge of the Go language is required

Characteristic

  • development environment is simple and the compilation speed is fast. Only the Go development environment and the CEF binary framework that Energy depends on are needed
  • cross-platform: A set of code can be packaged into Windows, domestic UOS, Deepin, Kylin, MacOS, Linux
  • Language responsibilities

  • Go: Go is responsible for window creation, CEF configuration and function implementation, creation of various UI components, low-level system calls, and functions that JS cannot handle, such as file stream, security encryption, high-performance processing, etc., which can be developed as a pure backend

  • Web: HTML + CSS + JavaScript responsible for the function of the client interface, make any interface you want, can be used as a pure front-end development

  • front-end technology: Support mainstream front-end frameworks, such as Vue, React, Angular or pure HTML+CSS

  • event driven: High performance event driven, IPC based communication, Go and Web side is very convenient function call and data interaction

Go interacts with the Web

  • The Go and Web technologies are based on IPC communication. Data and event triggering can be exchanged between Go and Web without using the http interface, which is as simple as calling the functions of the language itself

  • Define JS binding type variables in Go and provide them to JS on the Web side to realize data synchronization of Go variables or structural objects

  • Listen for events in JS and trigger JS events in Go to achieve Go calling JS functions and passing parameter

  • Listen for events in Go and trigger Go events in JS to achieve JS calling Go functions and passing parameters

Built-in dependency&integration

  • Golcl
  • CEF

Development environment

  • Install automatically using the energy command line tool

Basic needs

golang >= 1.18

energy development environment

Use the energy command line tool to automatically install the development environment

Get energy project, or use the precompiled command line tool directly Download address

go get github.com/energye/energy
Enter the energy command line directory

cd energy/cmd/energy
Install command line tools

go install
Execute the installation command

energy install .
Enter fullscreen mode Exit fullscreen mode

example/simple Code

package main

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

func main() {
    //Global initialization must be called by every application
    cef.GlobalInit(nil, nil)
    //Create application
    cefApp := cef.NewApplication()
    //Set URL
    cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
    //Run App
    cef.Run(cefApp)
}
Enter fullscreen mode Exit fullscreen mode

System support

  • windows - 32, 64
  • linux, linux-arm - 64
  • mac 64

Exchange QQ Group

  • 541258627

email

Public License

Apache-LICENSE-2.0

energy Article's
30 articles in total
Favicon
Expanded literacy and the current state of software
Favicon
Building Your Own Smart Meter: A DIY Guide
Favicon
AI in Energy Management: Transforming the Future of Energy Efficiency
Favicon
Solar Battery Generator Market to Develop New Trend and Growth Story
Favicon
RENEWABLE ENERGY ZONES APPENDIX 3: AN IN-DEPTH LOOK
Favicon
CPEC Energy Projects In Pakistan: Impact And Future Prospects
Favicon
Solar Energy for Your Home and Business
Favicon
Cordycep Gum Energizing and Invigorating with a Healthy Mouth Biome Boost
Favicon
The Magic of Wireless Power Transmission Unleashing Teslas Vision
Favicon
Top Solar Companies in the USA
Favicon
Jacketed Liposome Extruder||Nanotechnology
Favicon
Advancing Energy Efficiency with Kinto Power Electric Co., Ltd
Favicon
How to Choose the Right Wind Generator for Your Needs
Favicon
Innovative Uses for Foldable Solar Panels in Outdoor Activities
Favicon
Powering Progress: The Role of Wind Turbines in Clean Energy
Favicon
The Best NAD Supplements for Boosting Your Energy and Staying Active
Favicon
Constant Micro Power Energy System
Favicon
Live Average Carbon Intensity rating with Octopus Home Mini in Home Assistant
Favicon
The Importance of Maintaining Energy Levels
Favicon
Distributed Energy Resource Management System Market Size
Favicon
Shaping the Future of Energy: Aluminum Air Batteries Market Trends
Favicon
Unleashing the Power of 48 Volt Solar Panels: A Gateway to Clean and Efficient Home Energy
Favicon
Decoding Capacitor Trends: A Deep Dive into the High-Voltage Market
Favicon
The Role Of Government Policies In Encouraging Businesses To Transition To Green Energy
Favicon
5G Technology and Lithium-ion Batteries: A Symbiotic Relationship
Favicon
Top Companies Reinventing the Energy Sector Via Blockchains
Favicon
Performative performance
Favicon
Sustainable Software Engineering for a greener digital world
Favicon
Creating desktop applications in Golang
Favicon
Building cross platform desktop applications using JavaScript, HTML, and CSS in GO

Featured ones: