What that really means is that we can’t just bake the UI into some C code. Even a DLL system would have issues because we are cross platform. We need a flexible and extensible system for building UI that’s available everywhere. [..] So given all of that, what’s a logical system for us to use? We could certainly build a custom system and embed lua for example. Or we could license a 3rd party library like Scaleform and use Actionscript. Or we could do the obvious thing and simply use a web browser as the UI system. So that’s what we’ve chosen to do. Basically the client is a transparent web browser (webkit) window over the top of an OpenGL context. All of the front end UI and the top level game UI is being written in Javascript.

Mavor’s Rants: Planetary Annihilation Engine Architecture Update #1