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

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 2,817,121
since: 19 Jan 2005

Will Silverlight be DOA?

posted Mon 16 Apr 07

Lately there seems to be a lot of buzz around the whole Flex, Flash, Apollo environment for creating extremely powerful, cross-platform RIAs (Rich Interactive Application). In the interest of fairness and objectivity, I've been reserving judgement until I got a chance to really play more with Flex. Likewise, I hadn't really made any judgements about WPF/E yet, either.

So, when I read today that Microsoft had changed the name of WPF/E to Silverlight, I got a little excited. Why? Because by changing that name, it sounded a little bit like Microsoft had finally decided they were going to throw down the gauntlet and try and compete directly with Flex.

I went and saw that Microsoft had re-skinned their WPF/E developer page and it was now called the "Silverlight Developer Zone" , which looked promising. Even more interesting was that there was now a download for the February CTP of WPF/E for the Mac. This looked really good, so I grabbed the CTP for Vista, grabbed the SDK, grabbed some samples and started to look around.

This is where I threw my hands up in disgust. What in the holy name of Scooby-Doo are those people thinking?!?! After poring through the API, I thought "I must be mistaken. Surely this is a mistake." But then I asked a colleague and he confirmed it for me. Let me skip a couple lines and highlight this so you all can see it clearly.

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

So, I will summarize Microsoft's efforts to date around Silverlight. They have created a declarative programming model that uses XAML as an instantiation language for rich 2D (not 3D) content and animations, as well as extended JavaScript to support this model. Using this model, you can create embedded mini-apps that have access to rich animations, graphics, audio, and video objects. However, these mini applications cannot communicate with the outside world, they cannot consume web services, and they cannot bind UI elements to data. In addition, this model doesn't even have support for things that should be considered a stock part of any library such as buttons, checkboxes, list boxes, list views, grids, etc.

In short, unless my findings are incorrect, Silverlight, as it stands now, with no support for data binding, service consumption, or basic UI controls, is a worthless steamy pile. I just took a huge step in Flex's direction.

tags:            

links: digg this    del.icio.us    technorati    reddit




1. jmoney left...
Mon 16 Apr 07 6:47 pm

"However, these mini applications cannot communicate with the outside world, they cannot consume web services, and they cannot bind UI elements to data."

I think they're idea behind v1.0 is to use your existing AJAX js frameworks for communication. I think shortly aftwards, when they get the CLR (C#) in there, there should be better ways to code and communicate beyond AJAX and javascript.


2. Brian left...
Mon 16 Apr 07 7:58 pm

I suspect at MIX they will be shipping a .NET version of Silverlight that has a controls encapsulation model.

If they do this things will become very interesting....


3. Rob left...

I couldn't agree with you more, Kevin. I've been working a lot with Flash lately, and "Silverlight" has nothing on it. I'm hoping that the upcoming beta release will be a big improvement, but I'm doubtful that it will be enough. I blogged some more detailed thoughts here: http://devlicio.us/blo gs/rob_eisenberg/archive/2007/01/30/net-3-0-crash-course-part-8-wpf-conclus ion.aspx


4. Kevin Hoffman left...
Tue 17 Apr 07 8:27 am

Once they put the mini-CLR behind it, you are now talking about a 2MB download footprint, and you're getting closer to a model that can be compared with Flex. however, I'll believe it when I see it.

When I can write web service consumers, POX/REST consumers, and dynamic, bi-directional data binding to model objects...then I'll re-evaluate Silverlight. Until then, Silverlight is on my back burner.


5. Kevin Hoffman left...
Sat 21 Apr 07 4:22 pm

My claims refer to the lack of ability to DATA BIND. The Downloader object in the SDK is a pure-functional component. In other words, in response to some event, it can make an outbound HTTP connection - but you'll note that the outbound HTTP connection is limited by the same rules as other JavaScript on a page - e.g. source host communicaiton only. If Microsoft has fixed this, then they haven't shown it in any documentation.

Again , before you berate me for posting erroneous information, you might want to take a closer look at the complaints I have. My complaint is that there is no current support for databinding... nor is there any DATA BOUND support for downloading data from a web service.


6. Kevin Hoffman left...
Sat 21 Apr 07 4:31 pm

Apparently some people seem to think that because I didn't mention the Downloader component, I didn't do my research and my complaints about Silverlight are baseless and unfounded.

Well, from MY COPY OF THE SDK, which I have been using since Feb CTP came out: The Downloader object is a special-purpose WPF/E object that provides the ability to download content, such as XAML content, JavaScript content, or media assets, such as images. By using the Downloader object you do not have to provide all application content when the WPF/E control is instantiated. Rather, you can download content on demand in response to application needs. The Downloader object provides functionality for initiating the data transfer, monitoring the progress of the data transfer, and retrieving the downloaded content.

The properties and methods of the Downloader object are modeled after the XMLHttpRequest (XHR) set of APIs. XMLHttpRequest provides JavaScript and other web browser scripting languages the ability to transfer and manipulate XML data to and from a web server using HTTP.

You'll note here that it says that the Downloader component is MODELLED AFTER the XMLHttpRequest component it does not say that it sits on TOP OF IT. I have poked around this object and it, as far as I can tell, cannot be used to communicate with Web Services and grab data that can be acted upon.

This also does not change the fact that there is still no databinding support in Silverlight.

My assertion still stands, regardless of what other narrowminded people who jump to quick conclusions would like to believe.


7. Derek Hinch left...
Wed 05 Sep 07 11:07 pm

In response to your Silverlight article. First off, as far as databinding > sure its by hand, but functional calls to webservices allows for in browser based networking. The downloader resources allows pulling of asynchonrous data ( images, videos...). If you need to right click and databind > well you shouldn't be posting articles.


8. Kevin Hoffman left...
Thu 06 Sep 07 5:20 am

If you look at the original article, I was talking about Silverlight 1.0, the piece of Silverlight that didn't have any CLR support in it. Silverlight 1.0 offers very little in comparison to Flex & Flash. I've been using Silverlight 1.1 for a while now and I find that, while it feels awkward to have to draw everything in terms of canvases and feels very basic, there is also a lot of real value in Silverlight.


Tag Related Posts

So I'm in the LA Times ;)

Wed 27 Aug 08 2:51 P GMT-05
tags:                  

NYC SharePoint Developer Needed

Mon 12 May 08 12:09 P GMT-05

CLINQ v1 Demo - Network Message Filtering

Wed 09 Jan 08 7:47 P GMT-05
tags:        

My Silverlight Plugin has expired - WTF?!?

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

Building a Ledger Style for WPF Grids

Tue 21 Aug 07 3:30 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:              

My first "Acropolis" Application

Mon 04 Jun 07 1:40 P 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:              

Exploring the Delegate Design Pattern

Mon 14 May 07 6:30 P GMT-05

Silverlight Revisited

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

Core Data - Almost too Easy?

Wed 18 Apr 07 2:23 P GMT-05

Will Silverlight be DOA?

Mon 16 Apr 07 8:02 P GMT-05

Exploring the MVC Pattern in WPF

Tue 10 Apr 07 12:51 P GMT-05
tags:                      

My Little Pony .NET Unleashed 2007

Fri 30 Mar 07 1:59 P GMT-05

An experience with the Leopard beta

Mon 26 Mar 07 7:45 P GMT-05
tags:                

Authorness

Thu 15 Mar 07 1:44 P GMT-05

WPF Bindings == WTF Bindings?

Mon 12 Mar 07 6:31 P GMT-05

On MUDs

Thu 08 Mar 07 5:00 A GMT-05
tags:                    

Cocoa Programming vs. WPF : NIB vs XAML

Tue 20 Feb 07 2:09 P GMT-05

Cocoa Bindings vs. WPF Binding

Thu 15 Feb 07 5:41 P GMT-05
tags:                

Ulysses Agenda Makes Redmond Developer News

Wed 29 Nov 06 7:10 P GMT-05
tags:                

Is the continuous beta the new model for Vista?

Tue 21 Nov 06 8:51 P GMT-05
tags:              

Ulysses Agenda - Network Engine Test 1

Mon 09 Oct 06 2:26 A GMT-05
tags:              

ASP.NET vs Ruby on Rails : Round 2 (Agility)

Thu 05 Oct 06 11:02 A GMT-05
tags:                      

ASP.NET vs Ruby on Rails : Round 1

Wed 04 Oct 06 1:37 P GMT-05
tags:                

Ulysses Agenda : First Cut Networking Design

Thu 14 Sep 06 12:46 A GMT-05
tags:                  

First Impressions of Windows Vista RC1

Thu 07 Sep 06 1:30 P GMT-05
tags: