This is a simple and easy-to-use visual interface design tool, developed in Go language using the Wails framework, supporting systems like Windows, MacOS, Linux, etc.
Main Repository: https://github.com/duolabmeng6/GoEasyDesigner
Mirror Repository: https://gitee.com/duolabmeng666/go-easy-designer
Project Progress:
The project is in active development. Front-end experts are welcome to contribute PRs.
Completed tasks:
- Cross-platform compatibility: Supports Windows, MacOS, and Linux systems.
- Interface design and functionality development: Completed overall layout design, functional process design, interface drawing, property modification, component dragging, double-clicking components to jump to corresponding event functions, and other core features.
- Intelligent code editor: Implemented the Chinese character initial letter input reminder function for the code editing box, enhancing coding efficiency.
- goefun library Chinese function library support: Developing using Chinese functions in Golang.
- Component library: Completed development of components like buttons, text boxes, labels, switches, radio buttons, checkboxes, common layouts, flex layouts, tree boxes, menus, tables, progress bars, file selectors, and more.
- Custom component support: Allows the creation of custom components, such as login boxes, for rapid application development.
- Integrated development environment: Provided a one-click environment setup package, simplifying the construction of the development environment.
- Multilingual support: The application supports multiple languages including Chinese and English.
Tasks to be completed:
- jsefun library support: Planned and awaiting development.
- Component library enhancement: Ongoing, further improvement of element-plus components.
- Support for ElectronJS: Planned, will support ElectronJS as backend technology.
- Custom cloud components: Users will be able to upload their templates for others to use.
Thanks to a friend's server, you can now enjoy an online experience.
International address: https://go-easy-designer.vercel.app
Download Window Running Project, during online experience, design the interface in the browser and save. Two files will be downloaded: design.json
, __aux_code.js
. Make sure your browser allows downloading multiple files, and place the design files in the specified location.
Video Tutorial: 10 Minutes to Get Started
Video Tutorial: 3 Minutes to Learn Custom Component Packaging
Node.js Download Page Version 18 or above
Domestic mirror: npm install -g cnpm --registry=http://registry.npmmirror.com
Install Vite: npm install vite@latest
Go Language Download Page Any version
Install Wails Wails Framework Documentation
Domestic mirror execution: go env -w GOPROXY=https://goproxy.cn,direct
go install github.com/wailsapp/wails/v2/cmd/wails@latest
After successful installation, run the Wails command. If there is content output, it means successful installation.
Xiaofeiji Cloud Disk Download Address, No Login Required
Download GoEasyDesigner.2023.12.6.Including Running Environment.zip
and unzip.
`env_soft.
7zRunning environment package includes
goand
node. Unzip and find
One-Click Environment Configuration.exe`, run as administrator.
If installation is successful, you can directly open GoEasyDesigner.exe
.
If not configured successfully, add environment variables to the system's PATH
. After adding, run One-Click Environment Configuration.exe
.
C:\GoEasyDesigner\env_soft\go1.21.4\bin
C:\GoEasyDesigner\env_soft\go1.21.4\AppData\bin
C:\GoEasyDesigner\env_soft\node-v20.9.0-win-x64
go-easy-demo
folder is a sample project.
Open go-easy-demo\frontend\src\win\design.json
with Window Designer to design the interface or run and compile the project.
Open the go-easy-demo
folder with Goland IDE to start coding.
This project is for window running, your code will also be written here.
Create a project:
wails init -n "go-easy-demo" -t https://github.com/duolabmeng6/wails-template-vue-go-easy
Run window:
cd go-easy-demo
wails dev
Compile into executable file:
cd go-easy-demo
wails build
Front-end only debugging:
cd go-easy-demo/frontend
npm run dev
Download the latest version: https://github.com/duolabmeng6/GoEasyDesigner/releases
Interface design file location:
go-easy-demo/frontend/src/win/design.json
To experience double-clicking components in the IDE to automatically jump to the corresponding function, install the QtEasyDesigner plugin in Webstorm. In this project's files,
After installation, right-click in the IDE editor and select Configure QtEasyDesigner
.
macOS path:
/Applications/GoEasyDesigner.app/Contents/MacOS/GoEasyDesigner
Windows path:
C:\GoEasyDesigner\GoEasyDesigner.exe
For subsequent use, open design.json
in the editor, right-click and select Open QtEasyDesigner
. The interface will appear.
JS code uses Webstorm IDE. Most coding should be done in JS. Use Go code only if JS cannot achieve the desired functionality. Go code is written in Goland IDE, typically in app.go.
For debugging in the IDE, you need the following configuration:
Build package changeme
.
Working directory /Users/ll/Documents/GitHub/GoEasyDesigner/GoEasyDesigner
change to your path.
Environment variable CGO_LDFLAGS=-framework UniformTypeIdentifiers
is needed for macOS, not for Windows.
Go tool arguments -tags dev -gcflags "all=-N -l"
.
Program arguments (optional) File Path=/Users/ll/Documents/GitHub/GoEasyDesigner/go-easy-demo/frontend/src/win/design.json port=8080
This is to work with the IDE plugin, where port is the plugin's port.
Now you can debug with breakpoints in app.go.
Interface data location:
go-easy-demo/frontend/src/win/design.json
Run to see the effects:
cd go-easy-demo
wails dev
Duoduo Projection Screen Easily project video files from MacOS and Windows to TV, similar to mobile phone screen projection, no need for NAS or other cumbersome operations. Direct file projection.
The contributor list is too large for the README file! All the outstanding individuals who have contributed to this project can be found here Contributor List. We will create a page later.
This project is licensed under the GNU Lesser General Public License (LGPL) Version 3. For detailed information, please refer to the license file.
QQ Group: 927427009
If this project has been helpful to you, you can buy the author a coffee