Gallium

screenshot of Gallium

Build desktop applications in Go and HTML.

Overview

Gallium is a novel library designed for developers who want to build desktop applications using Go, HTML, JavaScript, and CSS. It's particularly appealing to those looking for an alternative to other frameworks like Electron, as it allows the core UI logic to be written in Go while relying on Chromium for rendering. Currently in its infancy, Gallium is supported only on macOS, with developers aiming to expand to Windows and Linux soon.

The library brings together modern web technologies and the power of Go, making it easier for developers to create cross-platform applications. However, it’s important to note that since this is an early version, users may encounter unstable functionalities and changing APIs leading up to its 1.0 release.

Features

  • Chromium Integration: Utilizes Chromium in its webview component, offering modern rendering capabilities for UI elements, seamlessly working with HTML, JavaScript, and CSS.

  • Go-based Logic: Allows developers to write the core application logic in Go, leveraging its efficiency and performance for backend processes while utilizing web technologies for front-end design.

  • Desktop Notifications: Supports desktop notification integration, although visibility may depend on Mac's Notification Center settings.

  • Custom Dock Icons: Developers can customize their application’s dock icon, enhancing the application's presence on macOS.

  • Native Code Compatibility: Allows interfacing with native APIs through C or Objective-C, enabling the creation of advanced features like semi-transparent windows.

  • Early Development Stage: As an early version, it offers the chance to shape future updates and features, appealing to developers who want to influence the framework's evolution.

  • Active Community: Engages with a community over Gophers Slack, providing support and discussion channels for users to share experiences and troubleshoot issues.

  • Installation Requirements: Clear installation guidelines including the need for Git large file storage, ensuring smooth setup and integration.