5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 18:00:02 +08:00
wails/website/docs/about.mdx
Misitebao cd13a05270
feat(website): optimize and sync websites and documents (#1110)
* feat(website): update dependencies and optimize some terms

* docs: optimize english documents

* docs: sync documents

* chore(website): the website project adds the recommended configuration of the vscode plugin

* ensure data doesn't get garbage collected too soon (#1113)

* ensure data doesn't get garbage collected too soon

* Update v2/internal/frontend/desktop/linux/frontend.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* revert: undo lock-file changes

* Feature/v2 linux menus (#1114)

* Render menubar + text menu items

* Support disabled menuitems + callbacks

* Support checkboxes

* Support reusing checkboxes

* Support submenus

* Support Radio menuitems

* Support Menu Accelerators

* Support MenuUpdateApplicationMenu

* Fixes #1108 (#1115)

* chore(action): add auto sync script (#1109)

* Support RGBA, fix compilation error

* Fix fullscreen drag

* Ignore setenv error

* ensure data doesn't get garbage collected too soon (#1113)

* ensure data doesn't get garbage collected too soon

* Update v2/internal/frontend/desktop/linux/frontend.go

Co-authored-by: stffabi <stffabi@users.noreply.github.com>

Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>

* Feature/v2 linux menus (#1114)

* Render menubar + text menu items

* Support disabled menuitems + callbacks

* Support checkboxes

* Support reusing checkboxes

* Support submenus

* Support Radio menuitems

* Support Menu Accelerators

* Support MenuUpdateApplicationMenu

* Fixes #1108 (#1115)

* chore(action): add auto sync script (#1109)

* Support RGBA, fix compilation error

* Fix fullscreen drag

* Ignore setenv error

* feat(website): update dependencies and optimize some terms

* docs: optimize english documents

* docs: sync documents

* chore(website): the website project adds the recommended configuration of the vscode plugin

* revert: undo lock-file changes

* [linux] better error handling

* [linux] Better Go 1.16 support

* [linux] Remove Go based dispatcher

* feat(website): update dependencies and optimize some terms

Co-authored-by: Travis McLane <tmclane@gmail.com>
Co-authored-by: Lea Anthony <lea.anthony@gmail.com>
Co-authored-by: stffabi <stffabi@users.noreply.github.com>
2022-02-01 19:43:03 +11:00

73 lines
3.1 KiB
Plaintext

---
sidebar_position: 1
---
# About
## Overview
Wails is a project that enables you to write desktop apps using Go and web technologies.
Consider it a lightweight and fast Electron alternative for Go. You can easily build applications with the flexibility
and power of Go, combined with a rich, modern frontend.
Wails doesn't hold back with the eye candy either! This is [xbar](https://xbarapp.com) - a desktop application for MacOS
written using Wails. It has menus, supports light and dark desktop themes, and the main window uses translucency that
gives it that 'frosty' effect of a native app.
<p class="text--center">
<a href="https://xbarapp.com">
<img src="/img/xbar-app-preview-2.png" width="75%" />
</a>
</p>
## Native Elements
Wails uses a purpose built library for handling native elements such as Window, Menus, Dialogs, etc, so you can build
good-looking, feature rich desktop applications.
**It does not embed a browser**, so it is resource efficient. Instead, it uses the native rendering engine for the
platform. On Windows, this is the new Microsoft Webview2 library, built on Chromium.
## Go & Javascript Interoperability
Wails automatically makes your Go methods available to Javascript, so you can call them by name from your frontend!
It even generates Typescript versions of the structs used by your Go methods, so you can pass the same data structures
between Go and Javascript.
## Runtime Library
Wails provides a runtime library, for both Go and Javascript, that handles a lot of the things modern applications need,
like Eventing, Logging, Dialogs, etc.
## Live Development Experience
### Automatic Rebuilds
When you run your application in "dev" mode, Wails will build your application as a native desktop application, but will
read your assets from disk. It will detect any changes to your Go code and automatically rebuild and relaunch your
application.
### Automatic Reloads
When changes to your application assets are detected, your running application will "reload", reflecting your changes
almost immediately.
### Develop your application in a Browser
If you prefer to debug and develop in a browser then Wails has you covered. The running application also has a webserver
that will run your application in any browser that connects to it. It will even refresh when your assets change on disk.
## Production-ready Native Binaries
When you're ready to do the final build of your application, the CLI will compile it down to a single executable, with
all the assets bundled into it. On Windows and MacOS, it is possible to create a native package for distribution. The
assets used in packaging (icon, info.plist, manifest file, etc) are part of your project and may be customised, giving
you total control over how your applications are built.
## Tooling
The Wails CLI provides a hassle-free way to generate, build and bundle your applications. It will do the heavy lifting
of creating icons, compiling your application with optimal settings and delivering a distributable, production ready
binary. Choose from a number of starter templates to get up and running quickly!