Glaze intègre des interfaces HTML dans des apps Go sans CGo

Glaze, un kit léger pour Go, permet aux développeurs d’ouvrir des fenêtres natives de bureau affichant du contenu HTML, sans utiliser CGo ni inclure de bibliothèques natives. Créé par le développeur Carlos Gimenes, il exploite les WebView intégrés à chaque système d’exploitation – WKWebView sur macOS, WebKitGTK sur Linux et WebView2 sur Windows – via des liaisons directes en Go générées avec purego.
Un chemin simplifié pour les petits outils de bureau
De nombreux développeurs Go écrivent de petits utilitaires nécessitant une interface basique, sans pour autant justifier l’usage d’un framework GUI complet. Le HTML offre des mises en page, du rendu de texte, des formulaires et un débogage familier, mais déployer un serveur web uniquement pour l’interface semble excessif. Glaze propose une solution intermédiaire : une fenêtre native autour d’un HTML local, appelée directement depuis le code Go. Aucun outil de build supplémentaire, pas de compilateur C dans le chemin, et aucune dépendance à un framework majeur – juste du Go qui effectue des appels système.
Fonctionnement et fonctionnalités incluses
Glaze utilise purego pour appeler directement les API des WebView de la plateforme, de sorte que chaque backend communique avec le composant système déjà présent sur la machine. L’API est minimaliste : créer une fenêtre, définir le contenu HTML, exposer des liaisons JavaScript vers Go, et exécuter la boucle principale. Un exemple de programme ouvre une fenêtre titrée et affiche un simple titre. Pour les développeurs disposant déjà de gestionnaires net/http, un utilitaire AppWindow transforme un serveur web en application de bureau en quelques lignes de code, permettant de réutiliser les routes et le middleware sans réécrire la couche d’interface.
Le compromis de rester minimaliste
Glaze n’est pas un framework GUI complet pour le bureau : il se concentre sur la fenêtre, le WebView et quelques aides pour les petits outils. Cette approche volontairement limitée garantit des builds rapides, des dépendances légères et un flux de travail proche du développement Go standard. Pour les projets nécessitant plus qu’un HTML dans une fenêtre native, les frameworks plus lourds restent un meilleur choix. Mais pour des tableaux de bord rapides, des formulaires ou des inspecteurs de données, Glaze offre une méthode simple pour obtenir une présence de bureau sans quitter l’écosystème Go.
Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

