Latest Tweet:
  • Loading...

Earlier this month I was lucky enough to both attend and speak at the Norwegian Developer Conference 2009. What a blast! The NDC09 featured a perfect mix of content – everything from the latest in technology, to the core principles of software craftsmanship and agile development. The speaker lineup this year was AMAZING, and I feel humble to be invited among such a group of incredibly talented people. Hopefully I was able to keep up with the level of the rest the speakers.

JonasAndHaack

I gave two presentations at NDC09; one on the MVVM design pattern (more easily referred to as View Model) and one on .NET RIA Services. I think both talks went well – with the View Model talk being the strongest one, as this is something I’ve been presenting on many times before.

I’ve uploaded both the slides and the demos from my talks. The MVVM demo is basically a the Dive Log example application taken further, with multiple View Models communicating through an Event Aggregator and a touch of navigation using the Silverlight 3 navigation framework. The .NET RIA Services demo is a “plain” data centric application, as well as a second demo app which uses nHibernate and the XML Metadata Provider (something I have to revisit in a later blog post).

In addition to the technical content delivered at NDC09 it was great fun to hang out with old and new friends. Here are some of the highlights: Had some great conversations with Glenn Block about different aspects and approaches to the View Model pattern. Got to catch up with Andrew Browne, a good friend from the Melbourne developer community. Had dinner with Carl and Richard from .NET Rocks, Udi Dahan and Capgemini colleagues. Had tons of good conversations with fellow Norwegian developers. Went fishing with Tim Huckaby.

Thanks to all the speakers, organizers and attendees for making NDC2009 such an awesome event. Hope to see you all back there next year!

MVVM Design Pattern for Silverlight Applications

DiveLogMVVMScreenshot

Download slides:

Download demo

For a collection of more resources check out my MVVM tagged links on Delicious.

.NET RIA Services

Download slides

Download Fishbook Demo

Download Fishbook nHibernate Demo


For more resources check out my .NET RIA Services tagged links on Delicious, as well as the talk “.NET RIA Services - Building Data-Driven Applications with Microsoft Silverlight and Microsoft ASP.NET” and “Building Amazing Business Centric Applications with Microsoft Silverlight 3” from MIX09.

Wednesday, July 01, 2009 2:59:29 AM (W. Europe Daylight Time, UTC+02:00)
Thank you Jonas.

I get the following error with the NHibernate demo code:

"{"Error loading metadata file 'FishBookRIAnHibernate.Web.Metadata.CatchDomainService.Metadata.xml'. : The invoked member is not supported in a dynamic assembly."}"

Any ideas?

Thanks!
Wednesday, July 01, 2009 3:31:50 AM (W. Europe Daylight Time, UTC+02:00)
Great slides and demo, thanks Jonas!

I finally 'get' MVVM now after going through them! I've tried using Prism to do this before but ended up falling into an MVP style application instead because I didn't get the way commands were *meant* to work.
Scriv
Wednesday, July 01, 2009 7:52:47 AM (W. Europe Daylight Time, UTC+02:00)
Steve: I'm not 100% sure why this is happening. I think it has something to do with the combination Metadata Provider (.NET RIA) and nHibernates use of dynamic proxies/IL generation. If you refresh the page the second time you won't have the problem anymore. You should only get the exception the first time page run. This is something I'm looking into - will be publishing a more detailed post about .NET RIA Services using nHibernate and external metadata.

Scriv: Thanks for the feedback! Really glad you found the presentation helpfull!
Wednesday, July 01, 2009 8:56:58 PM (W. Europe Daylight Time, UTC+02:00)
The FishBookRIA app needs the LinqToTwitter dll from http://linqtotwitter.codeplex.com.
Marcus
Thursday, July 02, 2009 11:29:14 PM (W. Europe Daylight Time, UTC+02:00)
Good catch Marcus - forgot to add that dependency to the Lib folder. I'll see if I can get the sample updated during the weekend. But if anyone else run into trouble just get it from the link Marcus posted :)

Thanks!
Monday, August 03, 2009 4:27:36 PM (W. Europe Daylight Time, UTC+02:00)
Hi Jonas,
Thanks for the great articles/presentations and demos you've shared so far.
I'm trying to follow your latest divelog "architecture" using prism to do some kind of wizard and i don't understand why the navigation reacts so weirdly when i start using the browser's back/forward button...

I've already post my example to the SL forum (http://silverlight.net/forums/t/116290.aspx), but maybe you'll understand my problem better, since it's really close to your solution.

The only difference between your application's navigation and mine is that i don't have my "NavigateCommand - Buttons" in the main shell/frame, but directly in my pages...

Sorry if it's a stupid question, but since i can't make your last dive_log app work because of a database version error (an SqlException saying that the database's version is 655 and the server online takes 612 version and lower), and i don't know if you'll post some new prism / sl3 / mvvm post soon, i take this risk...
JVigneron
Tuesday, September 08, 2009 7:03:21 PM (W. Europe Daylight Time, UTC+02:00)
Hi JVigneron,

And thanks for commenting! I'm glad you found the post and example application useful, and I'm sorry for the slow reply. I had a look on your post to the Silverlight forum, and couldn't spot the bug. It looks like Austin Lamb was willing to help out debugging the issue. Did you guys get it resolved?

Anyway, let me know if there is anything else I can do.

Cheers,
Jonas
Monday, September 28, 2009 5:09:40 PM (W. Europe Daylight Time, UTC+02:00)
Thanks for your answer, i resolved my problem which was just a slight confusion between the navigated and the navigating event.
Now, everything works fluently!
JVigneron
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, strike) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910