Open joeblew99 opened 7 years ago
I can imagine a world in which Vecty might provide easy integration with a separate project that handles all of the difficult bits (i.e. a project that handles setting up a webview using Android/iOS/Electron APIs). This would primarily be some sort of 'vecty' CLI tool which would manage compiling go to js, packaging assets, etc.
As far as getting an actual cross-platform webview on android/ios/desktop.. that's obviously outside the scope of vecty itself. And I cannot imagine why such a project would be inherently tied to vecty, after all it should work with any HTML/JS/CSS code.
@slimsag your right - it should not be tied to vecty at all.
The Vecty CLi is a good way of putting it. Most of the code can be generated. This is because you want a DB down there and need data flowing between the UI and DB layer. That code is almost all boilerplate that can be generated.
The other thing is just holding the webview. At the moment i am getting good success with Ebiten. This is a 2D game engine but has good infrastructure for bring up and signing n all Desktops and Mobiles right now. Adding a Webview and the boiler plate signalling is a definite smart move.
Alul3D also might be good. you work on that. Does it have a good infra setup fro mobile and desktop ?
@joeblew99 I have a feeling any game engine and web app in general will have very different setup requirements. I'm also not aware of any game engine in Go today that has a good mobile story (including gomobile, although that isn't really a game engine).
Today I was trying to achieve something like this issue with a Vecty app of my own, and what I considered is that having something which could:
Would be quite nice. The tricky part is how to actually do that. The Mac and iOS parts introduce the most complexity, mainly because you must have a mac to develop for those generally. It'd be great if that wasn't the case.
I think what we could do is one of two things:
In theory what this would be like is essentially having a user install Docker first and then run:
vecty package ./my/go/package
And it producing an app file for every important desktop + mobile OS.
Nothing concrete here, maybe there are obvious issues I am missing, but if we could get that to work I think it'd be a great thing to include in a Vecty CLI tool in the long run.
i know this is very high level but figured it was worth bring up here.
I have been looking into how we can make Desktop and Mobile apps and sign them too. There are a few libs around to help, but no one has really brought it together yet.
I there any interest in this or idea how best to do it ?
My current thinking is... Golang backend (on mobile):
Native webview (a bit of ios and android code):
Golang frontend:
It could be that protobufs are a perfect solution here because its binary and because there are very good code generators around it. Its probably too early to tell though.
Has anyone else looked into this ?