RudolfJan / ToolkitForTSW

0 stars 0 forks source link

Moving to MVVM #7

Open RudolfJan opened 3 years ago

RudolfJan commented 3 years ago

MVVM is a concept to make the UI logic better manageable. It is a prerequiisite for test automation. It makes creating the UI a bit more complicated, but has some advantages. Until now I used Caliburn.Micro as the MMVM framework. Unfortunately development for Caliburn.Micro will be discontinued. Probably, there are two alternatives. Reactive UI and

ReactiveUI: https://github.com/reactiveui/ReactiveUI and MvvmCross: https://github.com/MvvmCross/MvvmCross

See also this video: https://www.youtube.com/watch?v=8E000zu8UhQ

The first step is to have a closer look at both of them and select one. Tim Corey prefers MVVMCross, but what I saw does not make me really happy yet. ReactiveUI looks good as well.

So, this issue:

Note: ToolkitForTSW does not yet use an MVVM framework.

juanvan commented 3 years ago

Why change off Caliburn.Microm It might get picked up by someone else to work on, and it was just updated to Async before the development manager walked away.

RudolfJan commented 3 years ago

Thank you for your comment. I used Caliburn.Micro for my other applications. Not yet for this one. As there is not a teram now supporting Caliburn.Micro I do not want to introduce MVVM for this application. I now have enough experience with Caliburn.Micro to know at least basically where MVVM will work, how it can or cannot help me and so on. This is a good moment to have a look at other well supported solutions as well. I definitely want to migrate to .Net5 and with Caliburn.Micro this is not an option for the coming time. It now runs .Net Core3.1 with an alpha version. This works fine, all I do is freeware.

It might be picked up is not good enough ...

I wonder how you came at this page. If you are interested in helping to develop my TrainSimulator and TrainSimWorld tools further, please let me know.

juanvan commented 3 years ago

4.0 is in R.C. For Core 3.1 Might be a few things that fall out of step, but for simple apps shouldn't be a huge thing. Prism is the only real future proof, has lot of backing.

Searched Caliburn.Micro on github, looking for code that might answer questions. I have not played a Sim game since DeadLock in the 90s. But it might be something to take a look into after this lock down :)

RudolfJan commented 3 years ago

OK, for last remark, no need to wait till the lock down ends ...

If you need any advice, just ask, I always can see if I have answers for you. I did the Timco Retail course from Tim Corey. He explains a lot on how to use Caliburn.Micro and other stuff as well. In this project I do not use it, you may have a look at TimetableTool (It's another tool I am working on) of you want examples for Caliburn.Micro

juanvan commented 3 years ago

Oh Ya I took his course too, if you check out my repos you'll see how I changed around the views for navigation. Have a few people using it with me data. :)