Majid Shahabfar

What's New in Silverlight 3?

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.

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.

 

Q&A: Microsoft's Scott Guthrie Breaks Down Silverlight 3 for Enterprise Developers

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 .NET Developer Platform group
    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.

     

    Microsoft Releases Silverlight 3 Beta with Key New Features in MIX 09

    Microsoft released the beta of its Silverlight 3 rich interactive media runtime and development environment in MIX 09. The widely anticipated upgrade promises to be a substantial improvement with support for high-definition video, improved navigation, multi-touch support in Windows 7 and the ability for Web developers to build applications that run outside the browser.

     

    Speaking at the annual MIX09 conference in Las Vegas, Scott Guthrie, corporate vice president of Microsoft's .NET developer platform, said he anticipates this will be the only beta before Silverlight 3 ships later this year.

    Guthrie underscored support for Microsoft's current developer tooling as well the "thousands of new APIs." It will work with Visual Studio 2008 and its forthcoming successor Visual Studio 2010, as well as Visual Web Developer 2008 Express, he said.

    Microsoft also said Apple Macintosh developers will be able to create Silverlight-based applications with a new Eclipse plug-in. The company said it has commissioned France-based Soyatec to develop the Eclipse Tools for Silverlight (Eclipse4SL).

    "We think it's going to be a great release," Guthrie said, pointing out that Silverlight 3 will include 60 new controls with source code and 50 new features, yet is slightly smaller than the current Silverlight 2. The new release is 4.4MB. "The download size is a core part of the experience," he said. 

    Despite the improvements, Guthrie acknowledged Silverlight 3 will not initially have a few sought-after features -- notably printing, microphone and webcam support, though he said in a Q&A that his team is working on those capabilities.

    Among the 60 new controls are charting, media and layout containers, and those that support autocomplete, treeview and datagrid, Microsoft said.

    To improve performance, Silverlight 3 will reduce the size of applications by caching data on the client. Support for Binary XML will also allow improved communications with servers by using compression. Silverlight client apps will be able to communicate with each other without requiring a link to the server, such as a charting app that links to a datagrid, Microsoft said.

    Silverlight 3 will also allow developers to work within the new Expression Blend 3 tooling for Web designers, which Guthrie also previewed today. The new Expression Blend 3 includes improved workflows and offers a rapid prototyping function that allows for content creators and developers to design and test applications without access to live data.

    Expression Blend 3 introduces a new feature aimed at creating more dynamic content called SketchFlow, designed to let developers and designers model and build prototypes and share them with others within the workflow.

    The new Expression Blend will also support Adobe Photoshop and Illustrator files, and will include a code editor that supports C#, Visual Basic and XAML.

    Developers using Expression Blend 3 will also be able to use a new API to write triggers or actions to Silverlight 3 or to Windows Presentation Foundation (WPF) applications. It will also let developers add components without writing code, Guthrie said.

    HD and 3-D Video
    Looking to upgrade the visual experience of Silverlight, Microsoft is adding hardware-based 3-D graphics acceleration for PCs running Windows as well as for Macintosh computers. It will support key encoding standards lacking in the prior release, notably H.264 and MPEG. It will also allow HD playback of live and pre-recorded video in 720p, Microsoft said. Furthermore, it will enable traditional digital video recorder functions such as playback, record, rewind and slow-motion.   

    Touting Silverlight's first major widespread deployment by NBC which allowed millions of users to watch the 2008 Summer Olympics in Beijing, the network used Guthrie's keynote to announce that it would use Silverlight's new HD and DVR features for next year's Winter Olympics in Vancouver.

    "When you walk out of your house in the morning and you've left your beautiful 52-inch HD television at home, and you sit down at your desk and want to grab some video from the Olympics that day, it's going to mirror that experience," said Perkins Miller, senior vice president for digital media at NBC.

    To support live streaming, Microsoft also launched IIS Media Services, available as a free download. It runs on top of Internet Information Server.

    "With IIS Smooth Streaming, you can now encode video, put it onto a Web Server and deliver that experience," Guthrie said. "This is as easy as FTP-ing up files onto a Web server."

    The Silverlight 3 beta can be downloaded here.

    Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008

    Silverlight 2 Beta 1 was release someday ago at MIX08.

    To get started with Silverlight 2 you can download "Silverlight Tools Beta 1 for Visual Studio 2008" here.

    The Silverlight Tools installer will install everything needed to start working with Silverlight 2 in Visual Studio 2008.

    It installs the following:

    • Silverlight 2 Beta 1
    • Silverlight 2 SDK Beta 1
    • KB949325 for Visual Studio 2008
    • Silverlight Tools Beta 1 for Visual Studio 2008

    Be aware of that even if you've previously installed Silverlight 1.0 or Silverlight 2 Beta 1 the installer will proceed and install the additional components.

    If u run into any error during installing Silverlight 2 Beta 1 take a look at BradleyB's weblog for details on this installation.

    enjoy!

    Posted: Mar 07 2008, 12:31 PM by majid528 | with no comments
    Filed under:
    More Posts