Kudos to Tony for a great framework

May 26, 2011 at 3:01 AM

Easy to setup and use.  Great documentation.  Works out of the box for the simple stuff, and when you need more complex things, you dig a little deeper and find out it can do *that* too.

This is my first Silverlight app so I'm still a newbie to Silverlight, although  I've built a lot of RIA/UI type stuff with GWT, Flex, etc.  I've always been a stickler for maintaining a simple non-intrusive UI micro-architecture to separate the view from the rest of the logic, and I guess MVVM is the design choice in the Silverlight world. 

I looked at a number of the other frameworks and tried some of them out briefly, but got frustrated via lack of documentation or outdated examples, or just plain too-heavy and complicated (Prism).  I was able to convert my project to Simple MVVM after some reading, browsing the sample code, and watching the video in less than a day.

I'm sure I'll have a few questions, so I wanted to register, and just post my thanks to Tony for a job well done -- too often we forget to do that.

Regards,

Davis

 

Coordinator
May 26, 2011 at 1:10 PM
Thank you Davis. You made my day!

There is a learning curve to MVVM that can be somewhat steep at times, and I hope my toolkit can shorten the curve and help folks be more productive with the pattern, which has benefits for maintainability, testability, and designability.

I'm happy to answer any and all questions posted here or on my blog. Also, my email address is posted on the About page of my blog: http://blog.tonysneed.com.

Cheers,
Tony
May 26, 2011 at 3:23 PM

Thank you Tony.

Just one quick note: the biggest stumbling block I had in converting a pre-existing project to be Simple MVVM was with the subtle changes you made for the app navigation.  So, I created a new Simple MVVM RIA Services app from the template, and then walked through it side-by-side with my app to determine where I needed to adjust things, and did so.

You have commented it nicely in the code where you have made modifications or where modifications need to be made from the base/standard template.  The one spot where this was missing was in MainView.mxml

<navigation:Frame.UriMapper>
                    <uriMapper:UriMapper>
			<!-- adjust the URIs -->
                        <uriMapper:UriMapping Uri="{}" MappedUri="/Views/Home.xaml"/>
                        <uriMapper:UriMapping Uri="{}{pageName}" MappedUri="/Views/{pageName}.xaml"/>
                    </uriMapper:UriMapper>
                </navigation:Frame.UriMapper>

The comment is mine, but this is where I was stuck.  Everything else seemed to be right, but when I launched and tried to navigate with a hyperlink button, it complained that the URI wasn't valid.  It wasn't until after some debugging and staring at it long enough that I noticed the subtle differences between this and the code that is generated from the standard template.   So, you might want to stick a comment in there like the one above to clue people in that a change is necessary here.

Regards,

Davis

Coordinator
May 26, 2011 at 4:40 PM
Ah yes, this is a good point when migrating pre-existing RIA Services projects. I didn't think the built-in "Silverlight Business App" project template handled uri mapping very well, so I improved it for the project template for the Simple MVVM Toolkit. Basically I eliminated the need for a preceding forward slash when specifying a page name. I'll be sure to insert a comment to this effect. Thanks for the feedback!

Tony