The newest version of Microsoft's answer to Flash is now out. Dan gives a quick rundown of what's different, from the improved graphics and networking support to new controls and styles.
- By Dan Wahlin 07/10/2009 buplished by reddevnews.com
Silverlight 3 has been officially released and available for download! This is definitely exciting for me, personally, because my company has been working on a Silverlight 3 client application for the past few months and really enjoyed the new features.
Speaking of which, here are some of the key features Silverlight 3 brings to the table:
|
Out-of-Browser Support |
Users can run a Silverlight 3 application in the browser or run it directly from the desktop even when they're not connected to the Internet. This supports several sync scenarios that can be useful when a connection isn't always available.
|
|
Enhanced Graphics Support |
New features include GPU acceleration, perspective 3-D support, bitmap and pixel APIs for dynamically generating images, videos, etc. Animations can also be eased in and out and perform many other cool effects. Pixel shaders allow objects to have different effects applied to them, like shadows and blurs.
|
|
New Controls |
Silverlight 3 provides many new controls that can be used to build solid line-of-business (LOB) applications. Controls can be bound to each other using element-to-element binding, and validation can also be performed more easily. Several new controls are also available in the Silverlight 3 toolkit released by Microsoft.
|
|
Better Navigation |
Navigating between Silverlight "pages" is now built-in along with better search engine optimization (SEO) support and deep linking.
|
|
Enhanced Text Rendering |
One knock against Silverlight 2 was that text didn't render as clearly as it should in some situations. Silverlight 3 includes a major update to the text-rendering engine. Text renders very crisply now.
|
|
Enhanced Styles |
Silverlight 3 provides merged dictionary support, allowing multiple style files to be merged into an application (similar to how a standard Web application can use multiple CSS files). This allows themes and other styles to be switched much more easily. Styles can also be based on other styles, similar to inheritance in OO languages. |
|
Faster Transfer of Data |
Windows Communication Foundation (WCF) support was available in Silverlight 2 but Silverlight 3 now adds support for binary XML serialization, which allows data to be transferred between a Silverlight application and a WCF service much faster than before.
|
|
Assembly Caching |
Silverlight 3 allows developers to store assemblies on a central company server and Silverlight 3 applications can then download them as needed rather than downloading everything upfront in a single .XAP file. This can significantly speed-up application load times.
|
|
Enhanced Networking Support |
A new client networking (ClientHttp) stack is available that supports more verbs than simply GET/POST. Applications that fully leverage REST APIs will benefit from this new feature.
|
|
HD Media Support |
Silverlight 3 includes support for GPU acceleration (as mentioned earlier) as well as 1080p HD videos to be played over the Web. New codec support for H.264, AAC audio and MPEG-4 content is also included. If you need to provide media solutions, then Silverlight covers all of the major scenarios now. |
Here are some other changes to Visual Studio and Silverlight applications in general:
- The Visual Studio 2008 designer has been removed for Silverlight 3 applications. A lot of developers turned it off, anyway, so all of the dev efforts have gone into the designer that'll be available in Visual Studio 2010. Expression Blend 3 can also be used, of course.
- The Silverlight ASP.NET server control isn't used now. It simply emitted the object and associated params tags, anyway.
- Expression Blend 3 has also been released, along with a new feature called SketchFlow. SketchFlow allows application prototypes and mock-ups to be created more easily in order to get customer feedback. Though I rarely used Blend for coding previously, it now includes code intellisense, which is a nice feature to have and adds support for behaviors, importing Adobe Photoshop and Illustrator files, and integrating sample data into applications.
To get started with Silverlight 3, go here.
In one of its milestone launches of the summer, Microsoft on Friday officially released Silverlight 3, the latest version of its rapidly-evolving media client/rich interactive application development platform.
With the latest iteration, Silverlight gains outside-the-browser capabilities, which observers say could provide some serious competition for the nearly ubiquitous Adobe Flash/AIR technologies.
Scott Guthrie, corporate VP of Microsoft's .NET Developer Platform group, sat down with contributing editor John K. Waters. Guthrie answered wide-ranging questions ranging from how to debug Silverlight apps, to its the role of .NET RIA Services at the data access layer, to Silverlight's security model, among other topics.
By John K. Waters 07/13/2009 published by reddevnews.com
Why should enterprise developers care about Silverlight 3?
One of the growing trends that we see is people wanting Web-based deployment of apps. In other words, they want the TCO of a thin client, but at the same time want to deliver the end-user productivity from the traditional desktop-based applications. Where I think Silverlight is interesting for enterprise shops is that it can provide this blend of Web-based TCO and deployment with all the end user capabilities of a thin client app.

|
| Scott Guthrie, corporate vp of Microsoft's .NET Developer Platform Group |
Can you point to a particular change in this release that would make it appealing to enterprises?
When you think about visualizing data -- or displaying and interacting with it -- Silverlight 3 offers significantly richer capabilities than we had in VB 6 or WinForms, or the traditional line-of-business forms packages. We have about 100 controls in Silverlight 3, and those controls are much richer than we’ve had in the past, and that’s how you get that user productivity benefit. Having rich APIs, rich UI controls, and rich networking support that just does all that work for you means that you, as a developer, can focus on your business.
If you had to point to one thing that separates Silverlight 3 from the competition, what would that be?
For enterprises in particular, the ability to write .NET code -- server side, middle tier, and now client side-inside the browser, and getting Web-based deployment -- that’s something that no one else has. If you look at Ajax you have this impedance mismatch of languages. If you look at [Adobe] Flash and Flex, you might be using .NET or Java on the server and end up having to map it. The ability now to do business rules once, to do validation logic once, and then to have it run on both the client and the server -- and then have those clients be any type of device or operating system… well that’s going to impact enterprise productivity. That’s the promise of Silverlight, that ability to take .NET everywhere.
We’ve heard concerns from enterprise developers who say that Silverlight’s security sandbox inhibits its use for enterprise apps/intranets. What is Microsoft doing about the restriction to Internet security zones?
When you’re running client code in Silverlight, by default we restrict that code from accessing your file system or doing anything that could hurt your machine. For Internet-based apps, that’s critical. You don’t want to visit a site and have it access your documents without your permission. So, with Silverlight 3, both our in-browser and out-of-the-browser models both support a sandbox mode like that. But let’s say I do want to have local file system access, because it’s a sales app inside the firewall. With Silverlight we allow you now to open files locally, but it still requires user permission. One of the things we’re looking at for future releases is an option, especially for enterprise apps, that allows an administrator to grant permissions.
Is that something that’s in the works at Microsoft now?
The truth is, people who want to use Silverlight for enterprise full-trust apps still represent a relatively small portion of the market. It’s something that we haven’t built yet, but it’s something that we are considering.
Among the biggest changes in this release is the new out-of-browser capability. It puts you in head-to-head competition with Adobe, which has Flash for inside the browser and AIR for apps that run outside. Why did you add this capability?
It was the next logical step in the evolution of Silverlight.
Weren’t you worried that it would break your security model?
Especially for this first release of that capability, we tried to nail the user-experience model and the security model, so that people will trust it. You often hear people say that inside the browser is safe; outside isn’t. We’ve really tried to change that perception with Silverlight 3. That way you don’t have to worry about that app accessing your private data or leaving something behind that could junk up your system.
The popular TweetDeck Twitter client, which is an Adobe AIR application that lives on the desktop, but acts like a Web app, is often pointed to as the quintessential out-of-the-browser application. What types of apps make sense for Silverlight outside the browser?
I think we’ll be seeing a lot of data-snacking apps (gadgets and widgets), extended off-line media scenarios make sense, and companion apps for your Web site. In future releases, I’m sure that Silverlight will enable even richer out-of-the-browser capabilities. But for this release, these are the sweet spots.
Are we looking at birth of a bifurcated world split between .NET-with- Silverlight and Adobe-with- Java?
For enterprise RIAs and line-of-business apps, certainly if you’re a .NET shop, Silverlight is a no-brainer. But we’ve gotten to the point now in the development of our stack where we can talk to Java shops or people on other platforms. There’s nothing like Silverlight in the Java world today. There’s JavaFX, but it doesn’t do all the stuff we can do, and it doesn’t have the tooling support.
How can developers debug Silverlight 3 apps? Is Microsoft enhancing its Silverlight test framework?
Because we’re .NET based, you can set a break point in Visual Studio, and it just works. So, the same way you can debug a WinForms app, you can debug a Silverlight 3 app. That said, Visual Studio 2010 will have a fully interactive WYSYG Silverlight designer and much better testing and test-driven-development support. You’ll see a lot more support for Silverlight with that. (For more a complete analysis of Microsoft’s forthcoming Visual Studio 2010, see IDE Evolution)
It seems as though you’re cannibalizing WPF for Silverlight. What’s the latest on Silverlight’s parity with WPF? How close are these technologies at this point? What can developers expect going forward?
WPF plays a very important role for us. It’s sort of like the big brother of Silverlight. Part of the reason we were able to do as much as we have in the past nine months, is that Silverlight is built in WPF. We’re building tools that let you target Silverlight and WPF in WPF.
But what should developers know about the status of WPF in relation to Silverlight?
We are really trying to make sure that we maintain compatibility between the two. You can build XAML in one and use it in the other. Now you can write controls once now and use them in both places. That means that there’s a spectrum of how you can use your skills. Silverlight is great for many things, but if you want to build the richest possible Windows app, WPF is the high end. And it’s not going away.
Is .NET RIA Services going to be preferred over ADO.NET DataServices for Silverlight Data Access?
No. The bits that are being released today for RIA Services, actually build on top of ADO.NET DataServices. So you can think of ADO.NET DataServices as providing a kind of lower layer RAW/REST API, and then RIA Services as a layer on top. We definitely think that there are scenarios where you would want to have a pure REST service model. And then the .NET RIA Services gives you things like the validation, cross-tiering, and higher-level services on top. We’ve worked hard to layer them nicely, so that RIA Services isn’t a competitive technology, but actually just builds on top of ADO.NET Data Services.
When are the plans for Webcam audio support? Right now many developers have to use Flash and Silverlight in the same app to support this functionality.
We’ll be adding Webcam microphone support natively to Silverlight in the future. That’s a feature that’s definitely coming.
Is the new "save file dialog" Microsoft’s answer to print support? When will Silverlight support reporting and printing?
"Save file dialog" now lets you save things locally, which sounds like an obvious thing, but Ajax doesn’t support that today. And there are a lot of things you want to do when you’re implementing that to make sure you’re doing it securely. That’s why we waited until Silverlight 3 to add it. It’s now built in.
Do you have a native print API in Silverlight today?
No. What people typically do is to generate the content on the server, and the Silverlight app would open a window and pull a file from the server—it might be a PDF file, HTML, a Word doc, or Excel. And you can then use print within that particular file. A direct print API that allows you to construct your document on the client side entirely is something we’re looking at for the future.