We have decided to phase out the Mixed Reality Forums over the next few months in favor of other ways to connect with us.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
The plan between now and the beginning of May is to clean up old, unanswered questions that are no longer relevant. The forums will remain open and usable.
On May 1st we will be locking the forums to new posts and replies. They will remain available for another three months for the purposes of searching them, and then they will be closed altogether on August 1st.
So, where does that leave our awesome community to ask questions? Well, there are a few places we want to engage with you. For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality. If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers. And always feel free to hit us up on Twitter @MxdRealityDev.
MMVM/MVC for HoloLens development
Data-driven apps retrieve data from servers and dynamically create UI element collections. MMVM/MVC patterns simplify UI-heavy data-driven enterprise app development, and I wanted to ask how people are doing this in Unity.
Here are some choices we've used or looked at:
StrangeIoC: open-source MVC and dependency injection framework, results in very modular apps, but has a steep learning curve, and creates a lot of boilerplate (publish/subscribe to events)
NoesisGUI: framework for designing UIs outside of Unity using familiar XAML design tools, follows WPF conventions and APIs, but you only see UIs in Unity Play mode
uFrame: shares best characteristics of PlayMaker (visual coding) and StrangeIoC (MMVM pattern), but you need to buy into their top-down workflow, and understand generated code patterns
ScaleForm: use Flash UI design tools with Unity
MarkUX: simple framework, but uses proprietary XML markup syntax
While StrangeIoC was very powerful, it resulted in too much boilerplate, so we normally roll our own MVC for smaller apps. This is not scalable on large teams where separating designer and developer workflows is beneficial for project maintainability.
Please share your Unity MMVM/MVC development stories here, so we can learn and come up with best practices in this area.
It would be great to see WPF support for non-XAML Unity apps, so 3D apps don't need to exit exclusive mode when showing UIs, and I'd love to hear from the HoloLens team on that as well.