Let me add one more project to the list:

- https://github.com/therecipe/qt: like https://github.com/andlabs/ui it 
forces you to have a native look and it seems overly complicated to embed 
the QT library in the binary 

Le jeudi 27 avril 2017 14:12:31 UTC+2, Asticode a écrit :
>
> I do agree with you regarding the size of the app once everything is setup.
>
> Honestly chosing Electron is more a choice by default than anything else.
>
> imo the chosen project should:
>
> - be cross platform
> - be well maintained
> - allow creating non-native looks through HTML/JS/CSS since I think it's 
> the easiest for the most of us
>
> Here's a list of what I've tried so far:
>
> - https://github.com/andlabs/ui : drawbacks are it has limited features, 
> force you to have a native look and can't do things like capturing the 
> "Enter" key event in an input box
> - https://github.com/miketheprogrammer/go-thrust : drawback is it's not 
> maintained anymore
> - https://github.com/alexflint/gallium : drawback is it's not 
> cross-platform (only MacOSX last time I checked)
> - https://github.com/murlokswarm/app : drawback is it's not 
> cross-platform (only MacOSX too)
> - https://github.com/arvitaly/gopherjs-electron : drawback is it's not 
> maintained anymore
> - https://github.com/rrohrer/go-electroncontrol : drawback is it's not 
> maintained anymore
> - https://github.com/nodekit-io/nodekit : drawback is it's not maintained 
> anymore
>
> As you can see none of them meet the 3 requirements.
>
> Which leaves us with Electron which is cross platform, well maintained and 
> allow creating non-native looks through HTML/CSS/JS.
>
> If there are other projects I've missed, feel free to let me know, once 
> again chosing Electron is more of a choice by default than anything else.
>
> PS : if you're only interested in window positioning and decoration, and 
> don't care about dealing with HTML/CSS/JS I recommend using 
> https://github.com/andlabs/ui which is an awesome project!
>
>
> Le jeudi 27 avril 2017 11:33:10 UTC+2, mhh...@gmail.com a écrit :
>>
>> I like it too, i'm only worried by the size of the app once everything it 
>> setup.
>>
>> I wonder if its not possible to have something smaller,
>> obviously with less capabilities.
>>
>> imho, i m interested mostly in window positioning and decoration.
>> Communication is less interesting to me as i can work with http apis, or 
>> so.
>>
>> any ideas ?
>>
>> On Tuesday, April 25, 2017 at 9:54:22 PM UTC+2, Asticode wrote:
>>>
>>> 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 :D
>>> - you can communicate between your GO app and the javascript in you server
>>> - did I mention this is cross-platform? :D
>>>
>>> Here's the architecture of the project:
>>>
>>> +-------------+    TCP    +---------------------+    IPC   
>>> +---------------------+
>>> + your GO app |<--------->+ custom Electron app +<-------->+ win1: 
>>> (HTML/JS/CSS) +
>>> +-------------+           +---------------------+     |    
>>> +---------------------++
>>>       |                             |                 +---->+ win2: 
>>> (HTML/JS/CSS) +
>>>       |         +----------+        |                    |  
>>> +---------------------++
>>>       +---------+ Electron +--------+                    +-->+ win3: 
>>> (HTML/JS/CSS) +
>>>                 +----------+                                 
>>> +---------------------+
>>>
>>> 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 finding bugs or 
>>> proposing enhancements.
>>>
>>> Long live Golang!
>>>
>>> Cheers
>>> Asticode
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to