# wailsapp/wails

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wailsapp-wails).**

32,787 stars · 1,596 forks · Go · mit

## Links

- GitHub: https://github.com/wailsapp/wails
- Homepage: https://wails.io
- awesome-repositories: https://awesome-repositories.com/repository/wailsapp-wails.md

## Topics

`angular` `desktop-application` `go` `golang` `javascript` `linux` `macos` `react` `svelte` `vuejs` `windows`

## Description

Wails is a cross-platform framework for building native desktop applications by combining a Go backend with web-based frontend technologies. It enables developers to create lightweight software by utilizing the host operating system's native web rendering engine, eliminating the need to bundle heavy browser dependencies.

The framework distinguishes itself through a robust communication layer that bridges the backend and frontend. It automatically generates type-safe JavaScript bindings and proxies from Go code, allowing for seamless, asynchronous method invocation and data serialization across the language boundary. This integration is supported by a comprehensive command-line interface that manages the entire project lifecycle, from scaffolding and template generation to the final compilation of single, portable native binaries.

Beyond its core communication and build capabilities, the project provides a unified runtime library for accessing system-level features such as window management, menus, and file dialogs. It includes a live development environment that monitors source code changes to trigger incremental builds and automatic interface refreshes, ensuring a responsive development cycle. The framework is designed to be installed via standard package managers, providing tools to verify system dependencies and streamline the distribution of production-ready applications.

## Tags

### Web Development

- [Desktop Application Frameworks](https://awesome-repositories.com/f/web-development/desktop-application-frameworks.md) — Creates native desktop applications using web technologies with native rendering and system integration. ([source](https://wails.io/docs/introduction))
- [Backend-Frontend Bridges](https://awesome-repositories.com/f/web-development/backend-frontend-bridges.md) — Exposes backend methods to frontend code with automatically generated type definitions for safe communication. ([source](https://wails.io/docs/introduction))
- [Backend-to-Frontend Bindings](https://awesome-repositories.com/f/web-development/backend-to-frontend-bindings.md) — Enables direct invocation of backend methods from the frontend using automatically generated bindings. ([source](https://wails.io/docs/howdoesitwork))
- [Backend-to-Frontend Bridges](https://awesome-repositories.com/f/web-development/backend-to-frontend-bridges.md) — A communication layer that exposes backend methods to the frontend through automatically generated type-safe bindings and asynchronous data serialization.
- [Cross-Platform Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-frameworks.md) — Builds cross-platform desktop applications with native UI components for consistent user experiences. ([source](https://wails.io/))
- [Desktop Development](https://awesome-repositories.com/f/web-development/desktop-development.md) — Enables building native desktop applications using web technologies for the user interface.
- [Runtime Interfaces](https://awesome-repositories.com/f/web-development/runtime-interfaces.md) — Provides a global interface for executing runtime operations like event emission and logging. ([source](https://wails.io/docs/howdoesitwork))

### User Interface & Experience

- [Native Webview Embedders](https://awesome-repositories.com/f/user-interface-experience/native-webview-embedders.md) — Uses the host operating system native web rendering engine to display the user interface.

### Development Tools & Productivity

- [Cross-Platform Desktop Frameworks](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-desktop-frameworks.md) — A development environment that builds native desktop applications by combining a backend language with web-based frontend technologies.
- [Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/command-line-interfaces.md) — Provides a command line tool to initialize, build, and manage projects across different architectures. ([source](https://wails.io/docs/gettingstarted/installation))
- [Hot-Reloading Servers](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-servers.md) — Monitors source code changes to trigger incremental builds and refresh the application interface.
- [Type-Safe Binding Generators](https://awesome-repositories.com/f/development-tools-productivity/type-safe-binding-generators.md) — Automatically generates type-safe proxies to ensure reliable communication across the language boundary.
- [Live Development Environments](https://awesome-repositories.com/f/development-tools-productivity/live-development-environments.md) — Streamlines development with automatic rebuilds, instant asset reloading, and browser-based debugging. ([source](https://wails.io/docs/introduction))
- [Build Automation](https://awesome-repositories.com/f/development-tools-productivity/build-automation.md) — Automates project scaffolding, compilation, and asset bundling for final distribution. ([source](https://wails.io/docs/introduction))
- [Development Lifecycle Management](https://awesome-repositories.com/f/development-tools-productivity/development-lifecycle-management.md) — Streamlines the development lifecycle from initial setup to final distribution via CLI. ([source](https://wails.io/))
- [Project Scaffolding Tools](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-tools.md) — Creates a standard project structure containing necessary configuration and source files. ([source](https://wails.io/docs/tutorials/helloworld))

### DevOps & Infrastructure

- [Application Builders](https://awesome-repositories.com/f/devops-infrastructure/application-builders.md) — Transforms project source code and frontend assets into a standalone executable file. ([source](https://wails.io/docs/tutorials/helloworld))
- [Binary Packaging Tools](https://awesome-repositories.com/f/devops-infrastructure/binary-packaging-tools.md) — Compiles projects into single, production-ready native executables with bundled assets. ([source](https://wails.io/docs/introduction))
- [Asset Bundlers](https://awesome-repositories.com/f/devops-infrastructure/asset-bundlers.md) — Embeds frontend web assets directly into the compiled executable for portable distribution.
- [Cross-Platform Abstractions](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-abstractions.md) — Provides a unified interface for native system tasks like window management and file dialogs.
- [Native Application Bundlers](https://awesome-repositories.com/f/devops-infrastructure/native-application-bundlers.md) — A build tool that compiles source code and web assets into a single, standalone executable file for specific operating systems.
- [Distribution Utilities](https://awesome-repositories.com/f/devops-infrastructure/distribution-utilities.md) — Packages web-based applications into small, standalone executable files for native distribution.

### Mobile Development

- [Desktop Application Launchers](https://awesome-repositories.com/f/mobile-development/desktop-application-launchers.md) — Configures and launches desktop applications by binding backend logic to web interfaces. ([source](https://wails.io/docs/howdoesitwork))

### Software Engineering & Architecture

- [Type-Safe Integration](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-integration.md) — Ensures reliable data communication between backend and frontend using generated type definitions.

### Networking & Communication

- [Message Bridges](https://awesome-repositories.com/f/networking-communication/message-bridges.md) — Facilitates asynchronous data exchange between frontend and backend using JSON-RPC.

### Programming Languages & Runtimes

- [Runtime Integration Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-integration-libraries.md) — Provides a unified interface for system-level tasks like logging and event management. ([source](https://wails.io/docs/introduction))
