Home  >  

Wanted: Guidance for Building Large Silverlight Applications

Author photo
| | Comments (5)
AddThis Social Bookmark Button

Once business people learn a technology the next thing they want to do is apply it to their business. For me this was the path I took with Silverlight 2. I love Silverlight. It has so much to offer. So I took it to that next step of applying it to business applications to see how it fared. I am happy to report that it does a great job at the obvious UX areas, does great at communicating with a web services, parsing data, and bindings. Validation is coming and multi tiered patterns are workable ... but where it starts to fall short for me right now is in guidance on large applications.

There are tons of demos out there (a lot by me too) that show how to work with Silverlight for specific functions. But there is very little showing how to take an application with, say, 50 screens/views and develop it with Silverlight. Do you load it all at once in a single XAP? Or do you break it into separate project files and load the XAPs dynamically? If you break it apart, how do you share code between the Silverlight projects with the most efficiency? How do you build in validation, menu navigation, business rules, do you apply MVP or MVC patterns and so on.These are the types of questions that start popping up when you design real world applications.

I've gone through these exact questions myself and I have some guidelines I am working on. But the reality is that the answer depends on a lot of factors and that some of my guidance is predicated on having an idea of where Silverlight is heading (so I don't reinvent what may soon come). Being near the beginning of the cycle means that there is little solid best practice material available. Don't tell me Silverlight has been out for over a year ... Silverlight 2 is so vastly superior to Silverlight 1.x, that its a whole new product.

So what do you do for large applications? Is it possible in Silverlight 2? Heck yeah. Is the path clearly laid out? Nope. For those interested there is material out there, mostly starting from silverlight.net. Of course, I got so interested in this topic that I wrote a book that explains and shows how to use a lot of silverlight data and communications features. Perhaps my next effort will be in the architectural side of Silverlight.

Read more from John Papa. John Papa's Atom feed John_Papa on Twitter

Comments

5 Comments

Kevin Wolf said:

I can't provide any guidance, but I'm also very interested in the question and would like to participate in the discussion.

I have a web forms app I'm converting over to the brave new world of "SaaS" and I'm offering up all the features through a set of services.

If I had my choice I would implement 100% of it via Silverlight 2.0. However since my goal is to build a community (or sets of communities) around my software, I'm not sure I can introduce that barrier to sign up (at least not right now, I think from the PDC ScottGu said SL is installed on 25% of computers connected to the internet).

So far I've built a few SL modules on top of my services, at this point mainly as a proof of concept. I've started with a SL control library that has basic services my app provides. Those control libraries than get added to projects that actually do the work. Example, in my invoicing module, I need to search for people, companies etc...those are in a common SL library. The invoice XAP has the Silverlight UI forms for invoicing and leverages the common library.

My strategy (at least until I get a little further down this road of discovery) is to:
1) Most admin/sophisticated features probably have more sophisticated users which probably wouldn't hurt to require silverlight. These more sophisiticated features are probably more easily implemented in Silverlight instead of scripting via Javascript
2) Most pages will still have navigation to other services/parts of the app through HTML, the silverlight component will just act on the functionality provided by the service.
3) I hope I can be talked out of this; but right now I'm planning on converting my core features from WebForms to jQuery on top of services, possibly using MVC or similar to display initial data, then do updates via jQuery. The goal here could possibly provide a more advanced Silverlight UI if installed but "downgrade" to jQuery if not. Not happy since this is duplicated, but oh-well...also building on top of the services provides a decent migration path between jQuery & Silverlight.

One of my concerns is the size of the XAP files. Right now I'm including Telerik date picker and service references along with my source which is no where near complete and the XAP file is already 601K. I think Telerik & the proxy generated for the services probably the majority of that.

I just LOVE working with Silverlight, but need keep things realistic until this becomes more mainstream.

Kevin...
kevinw@software-logistics.com
twitter.com/bytemaster

BTW - I'm in Palm Harbor, FL...I didn't see you speak on Saturday, but did see a bit of your presentation at the MS office last month

steve robs said:

I have some guidance for you...don't do it. Silverlight sucks.

Great post ... and I have the same concerns.

A book about Silverlight architecture would be really great, because it sure works for "hardcore" stuff ... but how to deploy it when the stuff are really "hard" ?

My background is in Flash Platform for frontend and PHP for backend, but I'm starting to open wide my options about both of then (with SL and .NET)

Keep it ut John.

Cheers from Portugal

Stephane Bebrone said:

Hi John,

Very interesting question. You should post it on stackoverflow.com.

Greetz,
Stéphane.

Valentin said:

Check - out on Prism2 if you haven't. You can gain some very interesting ideas on buildingn large and extensible Silverlight apps.

The url is:
http://www.codeplex.com/CompositeWPF

Enjoy Silverlight!

Leave a comment


Tag Cloud

Question of the Week: Dream App

If you had an unlimited budget and unlimited resources what application would you build and why would you build it?

Answer

Latest Features

Recommended for You

@InsideRIA on Twitter

Archives

  • Or, visit our complete archive.  

About This Site

Welcome to the premiere community site for all things RIA sponsored by O'Reilly Media and Adobe Systems Incorporated.