Test Center review: Silverlight, for real this time
Microsoft's RIA framework offers client-side programming with .Net languages and tools, plus high performanceFollow @infoworld
Security in the face of cross-domain access is a potential issue for any browser-based application, whether or not it uses a plug-in such as Silverlight or Flash. Silverlight does have its own cross-domain security mechanism, controlled by a manifest file setting, which defaults to the most secure setting.
I have seen accusations online that the Silverlight local data storage might still be vulnerable to cross-domain attacks despite this mechanism, but I haven't been able to prove or disprove this. The same source claims that Flash local objects are open to the same kind of attack.
Development and design
The basic method for programming XAML elements is to give them a x:Name tag, for example:
<TextBlock x:Name="message1" Text="Message:" ></TextBlock>
message1.Text = "Hello, " + name1.Text;
This connection between program and XAML element by name is the key to using teams of programmers and designers to develop Silverlight and WPF applications. As long as the names don't change, the programmers can modify the code-behind files, and the designers can modify the XAML files without breaking the interface between the two. They might not even use the same tools.
As a programmer who also does a little design, I was disappointed to find that I could not drag controls onto the graphical pane in the Visual Studio XAML designer; that pane is only a preview, so I could drag controls only into the XAML text. On the other hand, XAML editing in Visual Studio is supported nicely by IntelliSense, and the instant-preview pane does help quite a bit when you're trying to get the appearance of a page just right.
Expression Blend provides a graphical design surface for XAML pages, but it doesn't offer much in the way of programming support. It would certainly be the Silverlight tool of choice for most designers. In an ideal world, I might wish for a unified tool that serves the needs of programmers and designers alike, but Visual Studio and Expression Blend integrate well enough, and they are probably better suited for their target audiences than a unified tool would be.
Versus Flash and AJAX