The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








Latest Diggs - Programming

Internet Blogs - Blog Top Sites

Site Hits

Total: 2,639,230
since: 19 Jan 2005

Silverlight Revisited

posted Sat 21 Apr 07

Someone who read my blog decided that, in their complete lack of understanding of the problem, I had erroneously misrepresented the features (or lack thereof) in Silverlight. In short, they think that because I neglected to mention the Downloader component, that my assertions were wrong. Let's recap my assertions about Silverlight:

  • At the moment, the build of the SDK that I have, and have been using, does NOT support data binding at all. I can write JavaScript that will change properties of GUI elements at runtime, but that's not real data binding.
  • At the moment, the build of the SDK that I have, and have been using since Feb CTP came out, does not allow me to consume Web Services in the manner in which I am used to consuming them.

The Downloader component is not designed to allow me to consume Web Services or raw data from remote locations. If the original commentor on my blog (the one who thinks I am erroneous) had read the documentation in the SDK more clearly, they would have realized that the downloader component allows Silverlight applications to leave portions of themselves (such as XAML files, images, and videos) on the server and can be dynamically downloaded on-demand. The downloader component is actually pretty cool in that you can provide a progress bar while you download more stuff. In other words, if you click a button that says "Play Video", you can download that video on demand rather than sucking down the entire resource directory on the initial hit.

What the downloader component cannot do is hit a web service, make a remote method call on that web service using a SOAP envelope of any kind, and retrieve the results as XML that can then be turned into some kind of language construct like a class instance. I fully expect that when the mini-runtime version of Silverlight becomes available, they will probably have functionality like this made available - it would be foolishness not to include this ability.

However, my previous statements about Silverlight are still completely accurate. You cannot currently databind to model objects with Silverlight, and you cannot currently perform Smart Client type functions with Silverlight by hitting remote web services for data operations. This may change in the future, but that's how it stands right now.

Hopefully we're all now clear on what Silverlight can and cannot do. I don't just randomly throw things up on my blog, I do research before I post them. Before I made the assertion that you can't data bind with Silverlight on my blog, I had tried it a half-dozen ways using my own code, and I actually e-mailed someone who has been using WFE since before the public got ahold of it.

tags:    

links: digg this    del.icio.us    technorati    reddit




1. Rob left...

For what it's worth, I can corroborate everything you said on this post and the previous. Everything you have said is completely accurate based on my experience and research.


2. DuncanS left...
Mon 23 Apr 07 7:29 am

You said "WPF/E (Silverlight) HAS NO SUPPORT FOR BINDING TO MODELS, BINDING TO DATA, OR EVEN CONNECTING TO NETWORK RESOURCES TO OBTAIN DATA."

The last part "...CONNECTING TO NETWORK RESOURCES TO OBTAIN DATA" is wrong, admit it. See http://msdn2.microsoft.com/en-us/library/bb232904.aspx#Retrie ving_Downloaded_Content


3. Kevin Hoffman left...
Mon 23 Apr 07 7:31 am

There's a difference between obtaining DATA (e.g. actionable information in structured format) then downloading a RESOURCE such as a XAML file, an image, or a video.

I am talking about making a connection to say, Amazon's web service, hitting it for a query, retrieving the data, and doing something meaningful with it. This you cannot do with the Downloader component, it is designed to obtain application resources progressively from the server.

I'm not wrong, you misunderstood.


4. Kevin Hoffman left...
Mon 23 Apr 07 7:33 am

I have attempted this, and when I try and use the Downloader component to go anywhere but the source from which the WPFE application was downloaded, my JavaScript security settings block it.

So, while you may be partially correct in that, if you really and truly like manually tweaking the inner bodies of XML fragments for low-level remote data retrieval (which we all did 10 years ago and shouldn't have to do anymore), then you can ONLY do it with files that are on your server already.

Notice how the URIs are relative to the server app from which the item was downloaded. You absolutely cannot consume Web Services with this component.


Tag Related Posts

My Silverlight Plugin has expired - WTF?!?

Thu 08 Nov 07 7:34 P GMT-05
tags:    

Silverlight 1.1 Alpha Refresh

Fri 10 Aug 07 2:09 P GMT-05
tags:    

My Appearance in the RIA Shootout on sys-con.tv

Tue 05 Jun 07 11:41 A GMT-05
tags:              

Silverlight and Astoria - First Impressions

Mon 04 Jun 07 1:40 A GMT-05
tags:    

I'm going to be on TV (sort of)

Sat 02 Jun 07 12:19 P GMT-05
tags:              

Silverlight Revisited

Sat 21 Apr 07 9:48 P GMT-05
tags:    

Will Silverlight be DOA?

Mon 16 Apr 07 8:02 P GMT-05