# Wails > Build desktop applications with Wails v3.0.0, Go and modern web technologies. ## Documentation - [Alpha 10 Released - A New Chapter for Wails](https://wails.io/blog/2024-12-03-alpha10-and-new-release-strategy/): Announcing Wails v3 Alpha 10 and our new daily release strategy - [Blog](https://wails.io/blog/): News, releases, and project updates. - [The Road to Wails v3](https://wails.io/blog/the-road-to-wails-v3/): Release notes and announcements for Wails - [Wails v2 Beta for Linux](https://wails.io/blog/wails-v2-beta-for-linux/): Release notes and announcements for Wails - [Wails v2 Beta for MacOS](https://wails.io/blog/wails-v2-beta-for-mac/): Release notes and announcements for Wails - [Wails v2 Beta for Windows](https://wails.io/blog/wails-v2-beta-for-windows/): Release notes and announcements for Wails - [Wails v2 Released](https://wails.io/blog/wails-v2-released/): Release notes and announcements for Wails - [Wails v3 Beta: a new foundation for Go desktop applications](https://wails.io/blog/wails-v3-beta/): Wails v3 Beta introduces a more direct application model, richer bindings, and a clearer foundation for Go desktop applications. - [Wails v3.0.0 Released](https://wails.io/blog/wails-v3-released/): Wails v3.0.0 is here: multiple windows, system tray, native menus, services and generated bindings, an updater, mobile support and a new documentation site. - [Changelog](https://wails.io/changelog/): Version history and release notes for Wails v3 - [Community](https://wails.io/community/) - [Links](https://wails.io/community/links/): Community-curated links and resources for Wails - [Media](https://wails.io/community/media/): Official Wails buttons with previews and HTML and Markdown embeds - [BulletinBoard](https://wails.io/community/showcase/bulletinboard/): A desktop application built with Wails - [CFN Tracker](https://wails.io/community/showcase/cfntracker/): A desktop application built with Wails - [Clave](https://wails.io/community/showcase/clave/): A desktop application built with Wails - [Clipora](https://wails.io/community/showcase/clipora/): Clipboard history and quick paste - [Condui](https://wails.io/community/showcase/condui/): A desktop application built with Wails - [EmailIt](https://wails.io/community/showcase/emailit/): A desktop application built with Wails - [EncryptEasy](https://wails.io/community/showcase/encrypteasy/): A desktop application built with Wails - [ESP Studio](https://wails.io/community/showcase/espstudio/): A desktop application built with Wails - [FileHound Export Utility](https://wails.io/community/showcase/filehound/): A desktop application built with Wails - [HappyTools](https://wails.io/community/showcase/happytools/) - [hiposter](https://wails.io/community/showcase/hiposter/): A desktop application built with Wails - [Overview](https://wails.io/community/showcase/): Discover applications built with Wails - [Kira](https://wails.io/community/showcase/kira/): A native macOS desktop client that brings AWS — ECS, RDS, S3, DynamoDB and more — into one keyboard-driven interface - [lemontea](https://wails.io/community/showcase/lemontea/): A cross-platform AI desktop client built with Wails v3. - [LTools](https://wails.io/community/showcase/ltools/): A plugin-based cross-platform desktop toolbox built with Wails v3 - [Mchat](https://wails.io/community/showcase/mchat/): A desktop application built with Wails - [Minecraft Updater](https://wails.io/community/showcase/minecraftupdater/): A desktop application built with Wails - [Minesweeper XP](https://wails.io/community/showcase/minesweeper-xp/): A desktop application built with Wails - [Modal File Manager](https://wails.io/community/showcase/modalfilemanager/): A desktop application built with Wails - [Molley Wallet](https://wails.io/community/showcase/mollywallet/): A desktop application built with Wails - [MQ Studio](https://wails.io/community/showcase/mqstudio/): Local-first desktop client for RocketMQ, RabbitMQ, Kafka and more - [October](https://wails.io/community/showcase/october/): A desktop application built with Wails - [Optimus](https://wails.io/community/showcase/optimus/): A desktop application built with Wails - [Packsmith](https://wails.io/community/showcase/packsmith/): A desktop application built with Wails - [Peirato's Piano Keyboard](https://wails.io/community/showcase/peirato-s-piano-keyboard/): A lightweight desktop piano keyboard for real-time performance, MIDI playback, follow-along practice, and SoundFont customization. - [Portfall](https://wails.io/community/showcase/portfall/): A desktop application built with Wails - [Redis Viewer](https://wails.io/community/showcase/redisviewer/): A desktop Redis GUI built with Wails - [Resizem](https://wails.io/community/showcase/resizem/): A desktop application built with Wails - [Restic Browser](https://wails.io/community/showcase/restic-browser/): A desktop application built with Wails - [RiftShare](https://wails.io/community/showcase/riftshare/): A desktop application built with Wails - [ScriptBar](https://wails.io/community/showcase/scriptbar/): A desktop application built with Wails - [Snippet Expander](https://wails.io/community/showcase/snippetexpander/): A desktop application built with Wails - [Surge](https://wails.io/community/showcase/surge/): A desktop application built with Wails - [Tiny RDM](https://wails.io/community/showcase/tinyrdm/): A desktop application built with Wails - [WailsTerm](https://wails.io/community/showcase/wailsterm/): A desktop application built with Wails - [Wally](https://wails.io/community/showcase/wally/): A desktop application built with Wails - [Minecraft launcher for WarMine](https://wails.io/community/showcase/warmine/): A desktop application built with Wails - [Wombat](https://wails.io/community/showcase/wombat/): A desktop application built with Wails - [XenSQL](https://wails.io/community/showcase/xensql/): Local-first SQL workbench with multi-database support and advanced query tooling - [Ytd](https://wails.io/community/showcase/ytd/): A desktop application built with Wails - [Templates](https://wails.io/community/templates/): Project templates and starter kits for Wails - [How Wails Works](https://wails.io/concepts/architecture/): Understanding the Wails architecture and how it achieves native performance - [Go-Frontend Bridge](https://wails.io/concepts/bridge/): Deep dive into how Wails enables direct communication between Go and JavaScript - [Build System](https://wails.io/concepts/build-system/): Understanding how Wails builds and packages your application - [Concepts](https://wails.io/concepts/) - [Application Lifecycle](https://wails.io/concepts/lifecycle/): Understanding the Wails application lifecycle from startup to shutdown - [Manager API](https://wails.io/concepts/manager-api/): Organized API structure with focused manager interfaces - [Wails v3 Architecture](https://wails.io/contributing/architecture/): Deep-dive diagrams and explanations of every moving part inside Wails v3 - [Binding System](https://wails.io/contributing/architecture/bindings/): How the binding system collects, processes, and generates JavaScript/TypeScript code - [Asset Server](https://wails.io/contributing/asset-server/): How Wails v3 serves and embeds your web assets in development and production - [Binding System](https://wails.io/contributing/binding-system/): How Wails v3 lets Go and JavaScript call each other with zero boilerplate - [Build & Packaging Pipeline](https://wails.io/contributing/build-packaging/): What happens under the hood when you run `wails3 build`, how cross-platform binaries are produced, and how installers are generated for each OS. - [Codebase Layout](https://wails.io/contributing/codebase-layout/): How the Wails v3 repository is organised and how the pieces fit together - [Write documentation with M-Press](https://wails.io/contributing/documentation/): Download and install M-Press, preview the Wails docs, and submit a documentation contribution. - [Extending Wails](https://wails.io/contributing/extending-wails/): Practical guide to adding new features and platforms to Wails v3 - [Getting Started](https://wails.io/contributing/getting-started/): How to start contributing to Wails v3 - [Contributing](https://wails.io/contributing/): Contribute to Wails - [Maintainer Triage](https://wails.io/contributing/maintainer-triage/): Triage bugs, documentation reports, and WEPs consistently - [Technical Overview](https://wails.io/contributing/overview/): High-level architecture and roadmap to the Wails v3 codebase - [Release Policy](https://wails.io/contributing/release-policy/): How Wails v3 versions its nightly and weekly releases, how maintainers cut them, and why users should pin versions. - [Runtime Internals](https://wails.io/contributing/runtime-internals/): Deep-dive into how Wails v3 boots, runs, and talks to the OS - [Development Setup](https://wails.io/contributing/setup/): Set up your development environment for Wails v3 development - [Coding Standards](https://wails.io/contributing/standards/): Code style, conventions, and best practices for Wails v3 - [Template System](https://wails.io/contributing/template-system/): How Wails v3 scaffolds new projects, how templates are organised, and how to build your own. - [Testing & Continuous Integration](https://wails.io/contributing/testing-ci/): How Wails v3 ensures quality with unit tests, integration suites, race detection, and GitHub Actions CI. - [Credits](https://wails.io/credits/): Acknowledge the contributors and projects behind Wails - [Experimental Features](https://wails.io/experimental/): A home for in-progress experiments in Wails v3 — what they are, why they exist, and how to give feedback. - [Wake](https://wails.io/experimental/wake/): An experimental, Wails-aware build runner that runs your existing Taskfiles with faster incremental builds, structured output and parallel execution by default. - [Frequently Asked Questions](https://wails.io/faq/): Answers to the most common questions about building applications with Wails v3 - [Autostart](https://wails.io/features/autostart/basics/): Register your application to launch at user login on macOS, Windows, and Linux - [Advanced Binding](https://wails.io/features/bindings/advanced/): Advanced binding techniques including directives, code injection, and custom IDs - [Bindings Best Practices](https://wails.io/features/bindings/best-practices/): Design patterns and best practices for Go-JavaScript bindings - [Enums](https://wails.io/features/bindings/enums/): Automatic enum generation from Go constants - [Call Go from JavaScript](https://wails.io/features/bindings/methods/): Call Go methods from JavaScript with type safety - [Data Models](https://wails.io/features/bindings/models/): Bind complex data structures between Go and JavaScript - [Services](https://wails.io/features/bindings/services/): Build modular, reusable application components with services - [Browser Integration](https://wails.io/features/browser/integration/): Open URLs and files in the user's default web browser - [Clipboard Operations](https://wails.io/features/clipboard/basics/): Copy and paste text with the system clipboard - [Custom dialogs](https://wails.io/features/dialogs/custom/): Create custom dialogs in your Wails applications - [File dialogs](https://wails.io/features/dialogs/file/): Open, save, and folder selection dialogs - [Message dialogs](https://wails.io/features/dialogs/message/): Display information, warnings, errors, and questions - [dialogs Overview](https://wails.io/features/dialogs/overview/): Display native system dialogs in your application - [File Drop](https://wails.io/features/drag-and-drop/files/): Accept files dragged from the operating system into your application - [HTML Drag & Drop](https://wails.io/features/drag-and-drop/html/): Drag and drop elements within your application - [Environment](https://wails.io/features/environment/info/): Access system environment information in your Wails application - [Application Events](https://wails.io/features/events/application/): Application-level events emitted by Wails v3 - [Custom Events](https://wails.io/features/events/custom/): Emitting and listening to your own events in Wails v3 - [Event System](https://wails.io/features/events/system/): Communicate between components with the event system - [Window Events](https://wails.io/features/events/window/): Window-level events emitted by Wails v3 - [Features](https://wails.io/features/) - [Global Shortcuts](https://wails.io/features/keyboard/global-shortcuts/): Register system-wide keyboard shortcuts that fire even when your application is not focused - [Keyboard Shortcuts](https://wails.io/features/keyboard/shortcuts/): Register global keyboard shortcuts for quick access to functionality - [Application Menus](https://wails.io/features/menus/application/): Create native menu bars for your desktop application - [Context Menus](https://wails.io/features/menus/context/): Create right-click context menus for your application - [Menu Reference](https://wails.io/features/menus/reference/): Complete reference for menu item types, properties, and methods - [System Tray Menus](https://wails.io/features/menus/systray/): Add system tray (notification area) integration to your application - [Notifications](https://wails.io/features/notifications/overview/): Display native system notifications with action buttons and text input - [Dock & Taskbar](https://wails.io/features/platform/dock/): Manage dock icon visibility and display badges on macOS and Windows - [Screen Information](https://wails.io/features/screens/info/): Get information about displays and monitors - [Window Basics](https://wails.io/features/windows/basics/): Creating and managing application windows in Wails - [Window Events](https://wails.io/features/windows/events/): Handle window lifecycle and state change events - [Frameless Windows](https://wails.io/features/windows/frameless/): Create custom window chrome with frameless windows - [Multiple Windows](https://wails.io/features/windows/multiple/): Patterns and best practices for multi-window applications - [Notch Windows](https://wails.io/features/windows/notch-windows/): Create native macOS windows attached to the camera housing. - [Window Options](https://wails.io/features/windows/options/): Window options, defaults and platform constraints - [Permissions](https://wails.io/features/windows/permissions/): Control camera, microphone, geolocation and other capability requests from web content - [Feedback](https://wails.io/feedback/): How to provide feedback and report issues for Wails v3 - [Getting Started](https://wails.io/getting-started/) - [Installation](https://wails.io/getting-started/installation/): Install Wails and set up your development environment - [Setup](https://wails.io/getting-started/setup/) - [Your First Application](https://wails.io/getting-started/your-first-app/): Create your first Wails desktop application step by step - [Creating Custom Templates](https://wails.io/guides/advanced/custom-templates/): How to generate, customise, and host your own Wails v3 project templates - [Streams — internals](https://wails.io/guides/advanced/streams-internals/): How the stream transport works, why it is built this way, what the buffer constants mean, and what is not finished - [WML (Wails Markup)](https://wails.io/guides/advanced/wml/): A markup language for describing Wails v3 user interfaces - [Architecture Patterns](https://wails.io/guides/architecture/): Design patterns for Wails applications - [Building Applications](https://wails.io/guides/build/building/): Build and package your Wails application - [Cross-Platform Building](https://wails.io/guides/build/cross-platform/): Build for multiple platforms from a single machine - [Build Customization](https://wails.io/guides/build/customization/): Customize your build process using Task and Taskfile.yml - [Linux Packaging](https://wails.io/guides/build/linux/): Package your Wails application for Linux distribution - [macOS Packaging](https://wails.io/guides/build/macos/): Package your Wails application for macOS distribution - [MSIX Packaging](https://wails.io/guides/build/msix/): Packaging your Wails v3 application as an MSIX package - [Obfuscated Builds](https://wails.io/guides/build/obfuscation/): Build your Wails application with Garble to protect your source code from reverse engineering - [Private macOS APIs](https://wails.io/guides/build/private-macos-apis/): Every Wails feature and option that depends on private macOS APIs, with opt-in commands and public-build fallbacks. - [Code Signing](https://wails.io/guides/build/signing/): Guide for signing your Wails applications on all platforms - [Windows Packaging](https://wails.io/guides/build/windows/): Package your Wails application for Windows distribution - [CLI Flags and Examples](https://wails.io/guides/cli/): Look up flags and usage examples for individual Wails CLI commands - [Creating Custom Transport Layer](https://wails.io/guides/custom-transport/): Learn how to create and customize your own Wails v3 custom IPC transport layer - [Customising Windows in Wails](https://wails.io/guides/customising-windows/): Customize window appearance and behavior in your Wails applications - [Debugging](https://wails.io/guides/dev/debugging/): Investigating issues and profiling app performance - [Using Other Frontend Frameworks](https://wails.io/guides/dev/frontend-frameworks/): How to use a framework that doesn't have a built-in template by dropping your own Vite project into the frontend directory - [Project Structure](https://wails.io/guides/dev/project-structure/): Understand the file layout for a typical Wails project - [Development Workflow](https://wails.io/guides/dev/workflow/): A recommended workflow for developing Wails v3 applications - [Custom URL Protocols](https://wails.io/guides/distribution/custom-protocols/): Register custom URL schemes to launch your application from links - [End-to-End Testing](https://wails.io/guides/e2e-testing/): Test complete user workflows - [Events Guide](https://wails.io/guides/events-reference/): A practical guide to using events in Wails v3 for application communication and lifecycle management - [File Associations](https://wails.io/guides/file-associations/): Configure file associations for your Wails application - [Using Gin for Routing](https://wails.io/guides/gin-routing/): A comprehensive guide to integrating Gin web framework with Wails v3 applications - [Using Gin for Services](https://wails.io/guides/gin-services/): A guide to integrating the Gin web framework with Wails v3 Services - [Guides](https://wails.io/guides/) - [Creating Installers](https://wails.io/guides/installers/): Package your application for distribution - [LLM Control (MCP)](https://wails.io/guides/mcp-service/): Let LLM agents test and control your app via the Model Context Protocol - [Menus](https://wails.io/guides/menus/): A guide to creating and customising menus in Wails v3 - [Android](https://wails.io/guides/mobile/android/): Build and run Wails applications on Android — toolchain setup, emulator, APK signing, Play Store packaging, and API reference - [Your First Mobile App](https://wails.io/guides/mobile/first-mobile-app/): Run your Wails app on iOS Simulator or Android Emulator in minutes - [Mobile Overview](https://wails.io/guides/mobile/): Build iOS and Android apps from the same Go codebase as your desktop app - [iOS](https://wails.io/guides/mobile/ios/): Build and run Wails applications on iOS — setup, simulator, device builds, configuration, and native features - [Mobile API](https://wails.io/guides/mobile/mobile-api/): The cross-platform application.Mobile manager — one build-guarded entry point for the native mobile capabilities shared by iOS and Android - [Handling Panics](https://wails.io/guides/panic-handling/): How to handle panics in your Wails application - [Database Integration](https://wails.io/guides/patterns/database/): Integrating SQLite, PostgreSQL, and other databases with Wails v3 - [REST APIs](https://wails.io/guides/patterns/rest-api/): Exposing RESTful APIs from your Wails v3 application - [Performance Optimisation](https://wails.io/guides/performance/): Optimise your Wails application for maximum performance - [Raw Messages](https://wails.io/guides/raw-messages/): Implement custom frontend-to-backend communication for performance-critical applications - [Frontend Routing](https://wails.io/guides/routing/): Using frontend routing in your Wails application - [Security Best Practices](https://wails.io/guides/security/): Secure your Wails application - [Server Build](https://wails.io/guides/server-build/): Run Wails applications as HTTP servers without a native GUI window - [Single Instance](https://wails.io/guides/single-instance/): Limiting your app to a single running instance - [Migrating a WebSocket to Streams](https://wails.io/guides/streams-from-websockets/): Step-by-step conversion of an existing WebSocket implementation to Wails streams, including the differences that break silently - [Streams](https://wails.io/guides/streams/): Bidirectional byte streams between Go and JavaScript, with the WebSocket programming model and no listening socket - [Testing](https://wails.io/guides/testing/): Test your Wails application - [GitHub Release Assets for the Updater](https://wails.io/guides/updater-github-release-assets/): How the Wails updater selects application artifacts from GitHub Releases and avoids installer packages. - [Updater](https://wails.io/guides/updater/): In-app self-updates for Wails v3 — pluggable providers, cryptographic verification, atomic swap, and a default UI you can theme or replace. - [Windows UAC Configuration](https://wails.io/guides/windows-uac/): Configure User Account Control (UAC) for your Windows Wails application - [Build Desktop Apps with Go](https://wails.io/): Native desktop applications using Go and web technologies - [From Electron](https://wails.io/migration/from-electron/): Migrating an Electron application to Wails v3 - [Migration](https://wails.io/migration/) - [Migrating from v2 to v3](https://wails.io/migration/v2-to-v3/): Complete guide to migrating your Wails v2 application to v3 - [Your First App](https://wails.io/quick-start/first-app/): Build a working Wails application in 10 minutes - [Quick Start](https://wails.io/quick-start/) - [Installation](https://wails.io/quick-start/installation/): Get Wails installed and ready to build applications - [Next Steps](https://wails.io/quick-start/next-steps/): Where to go after building your first app - [Why Wails?](https://wails.io/quick-start/why-wails/): Understand why Wails is the right choice for your desktop application - [Application API](https://wails.io/reference/application/): Complete reference for the Application API - [CLI Command Overview](https://wails.io/reference/cli/): Find Wails CLI commands by purpose: projects, builds, signing, tools and services - [Dialogs API](https://wails.io/reference/dialogs/): Complete reference for native dialog APIs - [Events API](https://wails.io/reference/events/): Complete reference for the Events API - [Frontend Runtime](https://wails.io/reference/frontend-runtime/): The Wails JavaScript runtime package for frontend integration - [Reference](https://wails.io/reference/) - [Menu API](https://wails.io/reference/menu/): Complete reference for the Menu API - [API Reference](https://wails.io/reference/overview/): Look up Wails types, methods, options and CLI commands - [Update Manifest Protocol](https://wails.io/reference/update-manifest/): The open JSON protocol Wails apps use to discover and verify self-updates, servable from any static file host or dynamic update server. - [Window API](https://wails.io/reference/window/): Complete reference for the Window API - [Roadmap](https://wails.io/status/): Wails v3 project status, planned features, and how to contribute - [Troubleshooting](https://wails.io/troubleshooting/) - [Syso files on macOS](https://wails.io/troubleshooting/mac-syso/): Troubleshoot Syso file build errors on macOS - [WebView2 hangs over Remote Desktop (RDP)](https://wails.io/troubleshooting/windows/rdp/): Fix multi-second WebView2 UI stalls when a Wails app runs over an RDP session that changes the monitor DPI mid-session. - [QR Code Service](https://wails.io/tutorials/01-creating-a-service/): Create a QR code service to learn about Wails services - [TODO List](https://wails.io/tutorials/02-todo-vanilla/): Build a complete TODO list application with CRUD operations - [Notes](https://wails.io/tutorials/03-notes-vanilla/): Build a notes application with file operations and native dialogs - [Self-Updating Wails App](https://wails.io/tutorials/04-self-update-a-wails-app/): Build a Wails v3 application that updates itself from GitHub Releases — from `wails3 init` through signed release verification and the helper-mode swap. - [Tutorials](https://wails.io/tutorials/) - [Tutorials](https://wails.io/tutorials/overview/): Learn Wails by building applications - [What's New in Wails v3](https://wails.io/whats-new/): Discover the major improvements and new features in Wails v3