跳转到内容

Wails

轻之舟百科,让知识轻装启航
云云​(留言 | 贡献)2026年7月24日 (五) 17:04的版本 (AI翻译自 Wails (Français))
Wails
Développeur Lea Anthony
Première version 2018
Version stable v2 (stable actuelle)
Version préliminaire v3 (Alpha)
Langages de programmation Go, JavaScript, TypeScript
Systèmes d'exploitation Windows, macOS, Linux
Type Framework de développement d'applications de bureau
Licence Licence MIT
Site officiel https://wails.io

Wails est un framework open source de développement d'applications de bureau multiplateforme qui permet aux développeurs d'écrire la logique back-end en Go et de construire l'interface utilisateur avec des technologies Web standard (HTML, CSS, JavaScript ou TypeScript), le tout compilé en un seul exécutable natif.[1][2] Le framework a été créé et est principalement maintenu par le développeur australien Lea Anthony, son nom étant un jeu de mots sur le pays de Galles (Wales), région d'origine du fondateur.[3] Wails utilise le composant WebView natif du système d'exploitation pour le rendu de l'interface, sans intégrer de moteur de navigateur complet, ce qui donne des applications dont la taille est nettement inférieure à celle des solutions basées sur Electron.[4]

Historique

Le projet Wails a été publié pour la première fois sur GitHub en 2018.[2] Le fondateur Lea Anthony travaillait alors chez SafetyCulture et cherchait à offrir aux développeurs Go une solution légère pour les applications de bureau, en alternative au modèle traditionnel du serveur Web intégré.[3]

La version initiale (v1) a posé les bases de l'architecture combinant un back-end Go et un front-end Web. Avec la croissance des besoins de la communauté, le développement de Wails v2 a commencé vers 2021, pour aboutir à une version stable publiée ultérieurement. v2 a introduit plusieurs améliorations majeures, notamment la chaîne de construction front-end basée sur Vite, la génération automatique de bindings TypeScript, la prise en charge native des boîtes de dialogue et des menus, ainsi qu'un système d'événements unifié multiplateforme.[1][5]

À partir de 2024, Wails v3 est entré en phase de développement Alpha. v3 a repensé l'architecture du framework, introduit un mode serveur, amélioré le système de construction et mis en place un mécanisme de plugins plus flexible. Le développement est toujours en cours.[6]

Architecture technique

Conception fondamentale

Wails adopte un modèle d'architecture à séparation front-end/back-end. Le back-end, implémenté en Go, gère la logique métier, l'accès au système de fichiers, les requêtes réseau et les appels aux API du système d'exploitation. Le front-end utilise n'importe quelle pile de technologies Web moderne et communique avec le back-end via le mécanisme de liaison (binding) fourni par le framework.[1] Contrairement à Electron, Wails n'intègre pas Chromium, mais utilise le composant WebView natif du système d'exploitation : WebKit sur macOS, WebView2 sur Windows, et WebKitGTK sur Linux.[4][7]

Liaisons et génération de code

L'une des fonctionnalités clés de Wails est la génération automatique de liaisons. Le développeur expose simplement des méthodes dans le code Go, et l'interface en ligne de commande (CLI) de Wails génère automatiquement les appels JavaScript/TypeScript correspondants, assurant une communication type-safe entre le front-end et le back-end.[1] Ce mécanisme élimine le besoin d'écrire manuellement du code de pontage, ce qui améliore considérablement la productivité.

Système de construction

Wails fournit une chaîne d'outils CLI complète prenant en charge la création de projets (wails init), le serveur de développement (wails dev) et la construction pour la production (wails build).[2] En mode développement, le framework prend en charge le rechargement à chaud du front-end et du back-end ; en mode production, les ressources front-end sont intégrées dans le binaire Go, produisant un seul exécutable.[8]

Fonctionnalités

Les principales fonctionnalités du framework Wails incluent : développement back-end en Go standard, prise en charge de technologies front-end telles que React, Vue, Svelte, Preact, Lit et JavaScript natif ; génération automatique de définitions de types TypeScript ; prise en charge native des boîtes de dialogue, menus et barre d'état système ; basculement intégré entre les modes sombre et clair ; effets de fenêtre modernes semi-transparents et de verre dépoli ; système d'événements unifié multiplateforme ; et, grâce au moteur de rendu natif, une taille de binaire réduite et une empreinte mémoire plus faible.[1][7]

Statut des versions

En 2026, Wails maintient deux versions actives : v2 est la version stable actuelle, adaptée à la production, installable via la commande go install github.com/wailsapp/wails/v2/cmd/wails@latest ; v3 est en phase de prévisualisation Alpha, destinée aux premiers utilisateurs et contributeurs, avec la commande d'installation go install github.com/wailsapp/wails/v3/cmd/wails3@latest.[2][6]

Écosystème applicatif

Wails est largement utilisé pour le développement de divers outils de bureau, notamment des outils de gestion de bases de données, des clients de débogage MQTT, des logiciels de gestion de ROM de jeux, des éditeurs Markdown et des outils d'aide au développement.[9][10][11] Son caractère léger associé aux performances élevées du back-end Go en fait l'un des choix populaires pour la création d'applications de bureau multiplateformes.

Références