Mike Taulty TechDays 2010 Silverlight 4 - What's New?

Preview:

Citation preview

Mike Taulty Microsoft UK mtaulty@microsoft.com mtaulty.com @mtaulty

Silverlight 4 – (r)evolution

Silverlight release history

versions are back-compatible, no side-by-side

V1

Sept 2007

V2

Oct 2008

V3

July 2009

V4

April 2010

Silverlight 4 - browser & platform support

private mode browsing supported

a major release

MVVM

Trusted Applications Drag/Drop

StringFormat

UDP, WMS Multicast

WCF RIA

Services Viewbox

Extended Languages

Printing

INotifyDataErrorInfo

Commanding Indic

Languages

BiDi & RTL

MEF

RichTextBox

Right Click

IDataErrorInfo

Datagrid

Enhancements

GPU Acceleration

MP4 DRM

Microphone

Webcam

Clipboard Access

Toast Notifications

HTML

Private Mode Browsing

Google Chrome

COM Automation

Local File System

Composite Transform

Offline DRM Protected Path Output

XAP Signing

Silent Install

Cross-Domain Networking

Custom Window Chrome

Sockets Security

Full Keyboard Full Screen

XPath for XML

Fluid UI Text Trimming

Full PNG Support

Windowing controls Window Close Event

Networking

Mouse Wheel

talking points

talking points

talking points

demo multitargeting

drag/drop designer

properties window

•resources, binding, brushes, etc.

data sources window

document outline window

assembly sharing

general VS 2010 goodness

•latest languages, framework, profiler support, etc.

demo MVVM support

sample data for CLR objects

animating layout changes

animating listbox item states

state transitions with effects

PathListBox

behaviours, actions, triggers

talking points

talking points

controls

RichTextBox, Viewbox

right to left layouts via FlowDirection

implicit styling

additions SelectedValue[Path] on Selectors (e.g. ComboBox)

text trimming on the TextBlock

better column layout on the DataGrid + copy/paste

data-binding and validation

easier, more natural bindings target of bindings is now DependencyObject not FrameworkElement

new {binding} capabilities TargetNullValue, FallbackValue, StringFormat, string indexers

new validation capabilities validate types implementing IDataErrorInfo

validates types implementing INotifyDataErrorInfo

networking

Client networking stack for HTTP integrated authentication (automatic/pass-thru)

caching, upload progress, referer header, connections

Sockets TCP security policy – opt to download via HTTP

UDP multicasting to [any/single] source groups

Windows Communication Foundation addition of a TCP channel

improved pluggable navigation system

navigate: http://booksite/default.aspx#/authors/steinbeck navigate: /authors/steinbeck

Frame

UriMapper

ContentLoader

Asynchronously turns the URI into a Page or UserControl

Uri MappedUri

/authors/{author} /views/authors.xaml?surname={author}

/{pageName} /views/{pagename}.xaml

media

video – support added for offline DRM and output protection Windows Media Server multicasting

imaging hardware accelerated DeepZoom imaging all PNG formats supported

demo controls, binding, validation

talking points

talking points

demo desktop integration for all applications and out-of-browser applications

trusted applications Silverlight 4 introduces the trusted application

only for out of browser applications

indicated by metadata setting in the XAP’s manifest

• different installation experience – can be verified or unverified ( no auto update )

• can be blocked by group policy settings

different types of Silverlight 4 apps

• relaxed sandbox for trusted applications – no network restrictions on ports and x-domain/x-scheme access

– operations which require user initiation or consent relaxed

– open access to files in my [documents/videos/pictures/music]

– ability to access full file paths from file open/save dialogs

– access to the keyboard in full screen mode

– window options – alter chrome and offer alternate move/resize

COM interoperability

COM Object

IDispatch

must have a progId

• trusted applications can call to COM code – IDispatch interface only

– must be registered with a ProgId

• programmability is via late binding – dynamic in C#

– no IntelliSense or compile time checking

• no deployment mechanism – for existing code rather than new code

• COM is Windows only

demo trusted applications

talking points

talking points

WCF Data Services

RESTful service stack implementing the Open Data Protocol ( www.odata.org )

Silverlight client stack improvements cross-domain access to a data service

automatic change tracking of client-side entities

arbitrary projections of data

support for paging & result-set counts

the Managed Extensibility Framework

the Managed Extensibility Framework “an extensible framework for composing applications from a set of loosely-coupled parts discovered and evolving at run-time“ (mike)

versions .NET Framework shipping with Silverlight 4

.NET Framework 4 shipping with VS 2010

Codeplex source for Silverlight 3 & .NET 3.5 Sp1

essence of MEF

component

import

e.g. WordProcessor

e.g. ISpellChecker

MEF Composition

Engine

component catalog

component catalog

component catalog

...

extensible set of catalogs which discover & describe available components

search for export(s) that matches import

component

export

e.g. SuperSpellChecker

e.g. ISpellChecker

essence of MEF

component

import

component

export

MEF’s engine can monitor its catalogs and update this relationship based on additions over run-time

e.g. another ISpellChecker shows up in a catalog?

one application of MEF in Silverlight

MyApp.xap

initial, small download

Extras.xap

demo extensible applications with MEF

Data Access

server

App Logic

WCF RIA Services

Presentation

Service Access

App Logic

client

? DomainService

DomainService

DomainService

DomainService

DomainContext

App Logic

code sharing and generation

RIA Services

• tooling

• framework

• services

• pattern

demo productive applications with WCF RIA Services

a major release

MVVM

Trusted Applications Drag/Drop

StringFormat

UDP, WMS Multicast

WCF RIA

Services Viewbox

Extended Languages

Printing

INotifyDataErrorInfo

Commanding Indic

Languages

BiDi & RTL

MEF

RichTextBox

Right Click

IDataErrorInfo

Datagrid

Enhancements

GPU Acceleration

MP4 DRM

Microphone

Webcam

Clipboard Access

Toast Notifications

HTML

Private Mode Browsing

Google Chrome

COM Automation

Local File System

Composite Transform

Offline DRM Protected Path Output

XAP Signing

Silent Install

Cross-Domain Networking

Custom Window Chrome

Sockets Security

Full Keyboard Full Screen

XPath for XML

Fluid UI Text Trimming

Full PNG Support

Windowing controls Window Close Event

Networking

Mouse Wheel

resources

www.silverlight.net

feedback you will get an email

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.