I would like to suggest a few improvements which I believe would make things even better:
- Integrate the XML GUI definition file(s) in the final executable, so they don't have to be supplied separately for distribution. Ideally they should be handled as an "internal resource", but perhaps that can be an option?
- Allow more than one XML GUI definition file per application. If my understanding is correct, this is not possible at the moment since there can be only one Moai Application entry point, which depends on one XML file (please correct me if I'm wrong though). Having more than one XML file available would do wonders for more complex applications which may need multiple windows.
- When the plugin is used (defined in the code), make the Moai classes a "first class citizen" so they can be accessed directly instead of by reflection. What I mean is that I would love to use <TextBoxId>.Text = "new text" (or at least Moai.<TextBoxId>.Text = "new text") instead of Moai.Set("TextboxId", "Text", "new text"). I expect this one would require some (significant?) work to be done, but IMHO it would make things so much better.