Astilectron: Build cross platform GUI apps with GO and Electron (HTML/JS/CSS)

Hi everyone,

I’m happy to announce astilectron, a GO library to build cross platform GUI apps in HTML/JS/CSS: https://github.com/asticode/go-astilectron

I needed a way to build a cross platform GUI app in GO but none of the projects out there were meeting my needs (they were either only MacOSX-compatible or not maintained anymore). At the same time, I knew about Electron which is cross-platform and well maintained. So I did the maths and took a shot at creating a ligthweight library that could rely on Electron and be available in GO.

I’ve started it this week-end so this is still in beta but in a nutshell, here’s what it already does:

  • on start it provisions the necessary dependencies (electron and a custom electron app I’ve made in NodeJS that provides an API over TCP). This means that worst case scenario it downloads the distributions and unzips them. Best case scenario (and thanks to the possibility of setting your own Provisioner) you can embed the distributions in your binary using go-bindata and only unzip them if they’re not already set up.
  • then you’re good to go and can create windows and interact with them: move, resive, maximize, close, etc.
  • each window is a browser therefore you can either load static .html files, a remote URL or the local GO server you’ve just started :smiley:
  • you can communicate between your GO app and the javascript in you server
  • did I mention this is cross-platform? :smiley:

I’d like to use this beta version to see if people are interested in that sort of project. If so, I’ll dedicate more hours to add more features. Let me know in the comments section.

Of course I welcome any kind of contributions, may it be bug findings or enhancement propositions.

Long live Golang!

Cheers
Asticode

7 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.