Wails:修订间差异
小无编辑摘要 |
AI翻译自 Wails (Français) |
||
| 第1行: | 第1行: | ||
{{Infobox | {{Infobox En | ||
| | | title = Wails | ||
| | | content = | ||
{{!}}- | {{!}}- | ||
! | ! Développeur | ||
{{!}} Lea Anthony | {{!}} Lea Anthony | ||
{{!}}- | {{!}}- | ||
! | ! Première version | ||
{{!}} 2018 | {{!}} 2018 | ||
{{!}}- | {{!}}- | ||
! | ! Version stable | ||
{{!}} v2 | {{!}} v2 (stable actuelle) | ||
{{!}}- | {{!}}- | ||
! | ! Version préliminaire | ||
{{!}} v3 | {{!}} v3 (Alpha) | ||
{{!}}- | {{!}}- | ||
! | ! Langages de programmation | ||
{{!}} Go | {{!}} Go, JavaScript, TypeScript | ||
{{!}}- | {{!}}- | ||
! | ! Systèmes d'exploitation | ||
{{!}} Windows | {{!}} Windows, macOS, Linux | ||
{{!}}- | {{!}}- | ||
! | ! Type | ||
{{!}} | {{!}} Framework de développement d'applications de bureau | ||
{{!}}- | {{!}}- | ||
! | ! Licence | ||
{{!}} | {{!}} Licence MIT | ||
{{!}}- | {{!}}- | ||
! | ! Site officiel | ||
{{!}} https://wails.io | {{!}} https://wails.io | ||
}} | }} | ||
''' | '''W[[AI|ai]]ls''' 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]], [[Java]]Script ou [[TypeScript]]), le tout compilé en un seul exécutable natif.<ref name=":0">[https://wails.io/docs/introduction/ Documentation Wails - Introduction]</ref><ref name=":1">[https://github.com/wailsapp/wails wailsapp/wails - GitHub]</ref> 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.<ref name=":2">[https://segmentfault.com/a/1190000045355708 Développer une interface graphique multiplateforme avec Go - SegmentFault]</ref> 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]].<ref name=":3">[https://markaicode.com/wails-desktop-app-development-tutorial/ Comment créer des applications avec Wails - MarkAI Code]</ref> | ||
== | == Historique == | ||
Wails | Le projet Wails a été publié pour la première fois sur GitHub en 2018.<ref name=":1" /> 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é.<ref name=":2" /> | ||
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.<ref name=":0" /><ref name=":4">[https://wails.io/changelog/ Journal des modifications Wails]</ref> | |||
2024 | À 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.<ref name=":5">[https://v3.wails.io/changelog/ Journal des modifications Wails v3]</ref> | ||
== | == Architecture technique == | ||
=== | === Conception fondamentale === | ||
Wails | 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.<ref name=":0" /> 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]].<ref name=":3" /><ref name=":6">[https://agentskillexchange.com/skills/wails-desktop-app-framework-go-web/ Framework d'application de bureau Wails - Agent Skill Exchange]</ref> | ||
=== | === Liaisons et génération de code === | ||
Wails | 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.<ref name=":0" /> 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 | 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).<ref name=":1" /> 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.<ref name=":7">[https://github.com/threefoldtech/grid-agent GitHub - threefoldtech/grid_agent]</ref> | ||
== | == Fonctionnalités == | ||
Wails | 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.<ref name=":0" /><ref name=":6" /> | ||
== | == 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.<ref name=":1" /><ref name=":5" /> | |||
== | == Écosystème applicatif == | ||
Wails | 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.<ref name=":8">[https://github.com/openGemini/openGemini-studio GitHub - openGemini/openGemini-studio]</ref><ref name=":9">[https://github.com/mqtt-viewer/mqtt-viewer GitHub - mqtt-viewer/mqtt-viewer]</ref><ref name=":10">[https://github.com/frontlon/simUI-pulsar GitHub - frontlon/simUI-pulsar]</ref> 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 == | ||
<references /> | <references /> | ||