views:

311

answers:

3

I'm getting ready to develop my first Silverlight app. It is going to be primarily used by my church for data input but also will need to generate at least one report, ideally in Excel but XML/XSLT is not outside the realm...

It will be Internet facing and will talk to a SQL Server 2008 db for which I will be creating a web service hosted at the ISP (db is also hosted at the ISP). The clients will be a mix of Windows and Mac.

My question specifically relates to the interface architecture. I know MVVM is big for this right now and I'm comfortable with that. I want to get this up fairly quickly (ie- next 3-4 weeks). I've also seen mention of Prism (Composite Application Guidance) and Caliburn. What are anyone's thoughts on these two? The initial version of the app is not going to be huge so I don't imagine it would be overly difficult to refactor a framework into it at a later date.

A: 

Start with something you are very comfortable with especially if you need to get this up quickly. Follow good coding standards and should not be a problem to refactor later into other frameworks if you get a bigger team.

This is a useful pdf.

Gulzar
This pdf is about a preview technology, which as far as I know will not even be released by the time SL 3.0 is released (they are planning for something between SL3 and SL4), so I would not stake too much on it. Moreover, this is bound to change, probably in a big way (they are requesting very early feedback and are willing to change the design, I suspect mainly as a reaction to the EF backlash).
Denis Troller
A: 

I haven't read it in detail yet myself, but this article looks rather useful: RIA Architecture with Silverlight in mind

Fredrik Mörk
A: 

You are right, if it's your first development on SL, adding the complexity of MVVM won't help you much.

I think a good approach could be to go for something simple (e.g.: the good old Document/View could be just a good start http://msdn.microsoft.com/en-us/library/4x1xy43a(VS.80).aspx, or just breaking in standard layers, UI / BS / DL).

After that development you will have learnt a lot of good stuff, and then you will be able to throw your app and start new bigger challenges using more advanced architectures (about MVVM, a very good web cast: http://blog.lab49.com/archives/2650 it's WPF based most of the concepts can be ported to SL).

Good luck and enjoy for SL development.

Cheers Braulio

Braulio
I'm quite comfortable with other UI patterns such as MVP, MVC, etc. Although I have not used MVVM yet, is it really that much of a hindrance that you recommend not even using it regardless of other frameworks like Prism or Caliburn?
squillman