Introducing Silverlight 2

Preview:

DESCRIPTION

Slide deck from my "Introducing Silverlight 2" talk today at NOVA Code Camp South

Citation preview

Frank La VigneApplied Information Sciences

Tablet PC MVPwww.franksworld.com

frank.lavigne@appliedis.com

Silverlight: Where We Are Now Uses XAML Runs on Window, Mac and Linux Silverlight Mobile coming later this year Version 1.0 is released 1.1 has been rolled up into version 2

Abundance of breaking changes

Version 2 is currently in BetaRTM later this year

Versions of Silverlight

1.0Uses Javascript for interactivitySupports High Def Streaming

2.0Uses .NET for interactivityHas a scaled down CLR

○ Called AG CLR (AG = Silver)○ Runtime of about 4.5 mb

Supports High Def Streaming

Javascript Gets No Respect

Many enterprise & component developers ignored version 1 in favor of version 2.

Many firms simply did not want to add more Javascript code to their maintenance load.

The Silverlight 1.0 Blues

Silverlight Didn’t Come Out in the 80s

How Did We Get Here?

Evolution of UX –Text Based UI

• User Experience• Usability – Low• Flexibility – Low• Engagement – None• Performance – Excellent

• Development Experience• Reasonable skillset• Clunky editors and debuggers early on• No Choice

• Deployment Experience• Easy

Era: Mainframe to DOS

Evolution of UX – Desktop GUI

• User Experience• Usability – High• Flexibility – High• Engagement – Medium• Performance – Very Good

• Development Experience• Good tools, platforms, languages• Generally needed only two languages: VB/C# and SQL

• Deployment Experience• Very Difficult at first• Easier with .NET

Era: Windows 3.1 to Present

Evolution of UX – Web Based UI

• User Experience• Usability – Medium/Low• Flexibility – Medium• Engagement – High• Performance – Poor-Good

• Development Experience• High Effort, High Cost• Cross Browser Problems• Multiple Languages: VB/C#, JavaScript, xml, xsl, SQL, HTML, CSS• Debugging Difficult

•Deployment Experience• Easy

Era: Internet era to Present

Evolution of UX – RIA

• User Experience• Usability – High• Flexibility – TBD• Engagement – High• Performance – Good to Excellent

• Development Experience• Good tools, platforms, languages• Generally need only: VB/C#, XAML and SQL

•Deployment Experience• Easy, via browser • Silverlight • Click-once for WPF

Era: Flash v1 to Present

The CompetitionRich Internet Applications (RIA) have been

around for a while. For past ten years, Flash has dominated

the marketAdobe Flex is an IDE built on top of Flash

with J2EE & JSP

Sun recently introduced JavaFX

RIA in Depth• RIA brings the best of desktop and

client/server applications to the best of web applicationsDeployment via webEnhanced user experience

• Microsoft RIA (WPF and Silverlight)One skillset, language, and toolset, from the

database to the services and sites, through to the client, in the browser or on the desktop○ soon, add phone and mobile devices to the list

What’s New in Silverlight 2? Controls & Layout

Actual controls you expected to see in 1.0WPF style skinning and styling

Data BindingWPF style data binding

Framework ChangesNo more Javascript!Managed CodeDynamic Language RuntimeIsolated Storage

What’s New in Silverlight 2? (cont’d) Client Networking Stack

WCF basedSocketsCross-Domain Communications

New Packaging & Deployment ModelXAP filesCustomizable splash screens

Deep Zoom / Multi-Scale ImageSea Dragon technology

More!LINQ, Localization, Fonts and much, much more

What’s New in Silverlight 2

Deep Zoom/Multi-Scale Image

Based on Sea Dragon technology

Uses tiled image pyramids Theoretical max of 4 billion

square pixelsIn real terms, a screen 500 miles

wide

Image size overhead is about 40%

Deep Zoom Image Composer handles of all this for you

Deep Zoom Start to Finish

Networking• WCF Based Networking Stack• Cross Domain calls allowed

But the target site has to allow it○ Twitter, oddly enough, lacks the cross domain policy

HTTP/HTTPS• Sockets• Proxy Web Page

Silverlight Client Access Policy

<?xml version="1.0" encoding="utf-8" ?> <access-policy><cross-domain-access>

<policy><allow-from>

  <domain uri="*" />   </allow-from>

<grant-to>  <resource path="/"

include-subpaths="true" /> </grant-to>

  </policy> </cross-domain-access></access-policy>

http://www.franksworld.com/clientaccesspolicy.xml

Flash Cross Domain Policy

<?xml version="1.0"?><!DOCTYPE

cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-

domain-policy.dtd"><cross-domain-policy> <allow-access-from domain="*" /></cross-domain-policy>

http://www.franksworld.com/crossdomain.xml

Reading an RSS Feed

Learning More Official Silverlight Website

http://www.silverlight.net My Blog

http://www.franksworld.com Pete Brown’s Blog

http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx

Silverlight Creamhttp://www.silverlightcream.com

MIX 08 Sessionshttp://sessions.visitmix.com

All these links and more will be posted my blog today.

Questions?

Thanks!

Recommended