Page 1 of 1

uFrame integration

Posted: 14 Oct 2015, 17:41
by polycular
Hi,
I wanted to ask if anyone is using uFrame 1.6 with Noesis? I saw the git repo but it seems outdated, is it still working?
best,
Robert

Re: uFrame integration

Posted: 14 Oct 2015, 19:49
by jsantos
We agreed with the uFrame people to have a common MVVM architeture based on Microsoft interfaces. Those folder are: It seems that they are a bit out of sync. I know there are a few users using both packages but I am not sure about the versions they are using. The best thing you can do is reporting problems to both parts or even send pull requests.

Thanks!

Re: uFrame integration

Posted: 16 Oct 2015, 21:03
by davebac
Untested -- replace Noesis' copy with this copy, delete the matching files from uFrame. It compiles, but might explode at runtime.

* I might have had to change namespace in uFrame as well -- they had the one interface in the wrong namespace.

Re: uFrame integration

Posted: 16 Oct 2015, 23:51
by movra
I gave up on uFrame being WPF MVVM compatible a long time ago. Last year in the 1.5 cycle I submitted a pull request that fixed a lot of bugs and made it compatible, but it wasn't merged. Aside from that there was a showstopper bug in the closed source code generator.

The UnityMVVM folder included in Noesis should be the same as in uFrame but it isn't. You can remove the UnityMVVM folder from uFrame 1.6 and it will compile. However on runtime it will explode because uFrame's WPF compatibility has been thrown out of the window. For example, the commands have been replaced with signals and they don't implement System.Windows.Input.ICommand.

I moved on from uFrame and started creating MVVM classes manually in Visual Studio and Blend. It's not that bad actually. But then I ran into the next problem, which is that Noesis has some significant performance problems when it comes to binding. Which looking at the Trello board is planned to be addressed in the version after the next version.

So far MVVM in Unity has caused more trouble than it solved. ¯\_(ツ)_/¯

Re: uFrame integration

Posted: 17 Oct 2015, 04:06
by davebac
I hadn't noticed how old the thread was, or I wouldn't have replied.

I have a game model. I have controllers that talk to the game model, and a Hub that publishes. My Unity scenes use MonoBehaviours as views against the game model, so that there is no coupling to Unity and the next time I decide that I hate Unity too much to deal with it and swap to something else, none of the game logic changes.

In the Code Behind for my Noesis code, I subscribe to the hub -- and update the UI as appropriate, and then just don't have a separate view model. I'm still decoupled -- I can replace Noesis with anything else, and the only code I'm writing is the same code I would be writing anyway.

I've thought about setting things up to test with Visual Studio and Blend -- right now that's not been a priority because my UI needs are relatively simple.

Re: uFrame integration

Posted: 19 Oct 2015, 13:22
by jsantos
I hadn't noticed how old the thread was, or I wouldn't have replied.
This one? It started only five days ago : )

Re: uFrame integration

Posted: 19 Oct 2015, 13:26
by jsantos
But then I ran into the next problem, which is that Noesis has some significant performance problems when it comes to binding. Which looking at the Trello board is planned to be addressed in the version after the next version.
Just a clarification here. The problem is not at the bindings but at our containers. As they do not support virtualization many inefficiencies happen when there are many items (100+) inside a listbox for example.

We wanted to solve this in v1.2.5 but the task is huge so we decided to postpone it for v.1.2.6. This is a very important and critical issue. It will be solved.