I've always written my interfaces in the language's native components (Forms in VB/VC#/VC++, Swing/JavaFX in Java, HTML+CSS+JS in webpages, etc.), but with my next project I want to try writing the interface in HTML+CSS and making objects in that document call C++ code. When typing up my question, though, I couldn't figure out which SE was best, if any. Is it on-topic to ask about this here?
I feel like it'd help to show you exactly what I'm asking, so here's the question I drafted:
I'm looking to make a native application, and want to dabble in making the interface in HTML (hopefully this will lead to more separation of tasks and easier updating). I know that you can do this in Windows web forms with a browser object, but I'd like this to be more cross-platform friendly (aside: is that reasonable? Or is it separable enough to write a whole new program for Windows/OS X/X Window/etc. and just use another native browser object?), so I was thinking of using AppJS (which has a NodeJS backbone), or maybe embedding Gecko or Blink into a window, or even forking Firefox or Chromium and stripping it down to its barebones. Which one, if any, of these approaches is best, and why? If none, what is? Of course, I'll need the HTML controls to call native code somehow.