Mygo des apps de bureau natives en go avec une seu
|

MYGO : des apps de bureau natives en Go avec une seule commande

⏱️ Temps de lecture estimé : 3 minutes

https://mygo.egoist.dev/

📌 MYGO est un framework pour créer des applications de bureau en Go : un binaire unique pour macOS, Windows et Linux, avec interface native dessinée sur GPU ou frontend web dans la webview système, sans cgo requis.

Je trouve l’approche séduisante. Plutôt que d’emballer un navigateur entier, MyGO choisit le bon compromis selon le cas : un rendu natif qui répond immédiatement, ou la webview déjà présente sur le système quand vous préférez rester dans votre stack web. Dans les deux cas, vous conservez un seul exécutable de quelques Mo, ce qui tranche avec certains paquets qui gonflent vite dès les premières dépendances.

L’intérêt se joue surtout à la manipulation. L’interface native se décrit dans du Go pur avec un système de vues : flexbox, grille, widgets, saisie avec IME, listes virtualisées, animations et même du Liquid Glass multiplateforme. Pas de HTML, pas de JavaScript pour cette voie, et surtout aucune dépendance C à compiler dans l’ordinaire. Quand vous privilégiez un frontend web classique, il appelle votre code Go via des bindings typés générés automatiquement, avec des canaux pour le streaming. Les deux modes peuvent cohabiter dans la même fenêtre, ce qui laisse beaucoup de liberté.

Côté outillage, MYGO pense déjà à l’expédition. Il génère des bundles macOS, des DMG, des installateurs Windows, des .deb, des AppImage et un script d’installation Linux. Il gère signature, notarisation, mises à jour automatiques signées et même des deltas. Vous gardez aussi l’ensemble des APIs desktop utiles : menus, tray, notifications, raccourcis globaux, liens profonds, associations de fichiers, documents récents, thèmes système, accessibilité, surveillance de fichiers et bien d’autres. Tout cela tourne localement, avec un focus explicite sur la faible consommation mémoire et CPU à l’inactif.

La nuance est pragmatique. Le rendu natif est neuf par rapport à l’écosystème Electron. Les API avancées se découvrent au fur et à mesure, et vous ne récupérez pas le gigantesque marché d’extensions des navigateurs. Je ne vois pas ça comme un défaut : c’est souvent un gain de prévisibilité et de simplicité pour des apps utilitaires. Pour des prototypes rapides, l’option web reste là ; pour un outil quotidien, l’interface native Go a un ressenti étonnamment fluide.

Sources

Publications similaires

Laisser un commentaire