Introduction to Microsoft Silverlight

33
An Introduction to Microsoft Silverlight Glen Gordon Developer Evangelist – Microsoft Corporation http://www.glengordon.name [email protected] http://twitter.com/glengordon

description

An overview of Microsoft Silverlight and related technologies.

Transcript of Introduction to Microsoft Silverlight

Page 1: Introduction to Microsoft Silverlight

An Introduction to Microsoft Silverlight

Glen GordonDeveloper Evangelist – Microsoft

Corporationhttp://[email protected]

http://twitter.com/glengordon

Page 2: Introduction to Microsoft Silverlight

Agenda• A brief history of time (I mean the Web)• What is this Silverlight thing?• Who’s using it?• How do you code it?• Designer/Developer interaction• Summary

Presentation Title | PP | DD Month YYYY

Page 3: Introduction to Microsoft Silverlight

History of UX on the Web• Early 90’s – Blue & purple Links on a gray background

Page 4: Introduction to Microsoft Silverlight

History of UX on the Web• Mid 90’s – DHTML introduced - <blink> tags and other

annoying JavaScript tricks

Page 5: Introduction to Microsoft Silverlight
Page 6: Introduction to Microsoft Silverlight

History of UX on the Web• Late 90’s/Early 00’s – Dynamic Server Driven Web

Apps

Page 7: Introduction to Microsoft Silverlight

History of UX on the Web• 2002 – Mozilla implements XmlHttpRequest (5 years

AFTER Microsoft did in IE 5. )• 2005 – AJAX is the new ‘Hotness’!

Note: Ajax = DHTML revisited, just done cooler!

Page 8: Introduction to Microsoft Silverlight

JavaScript? Really?!Which version?

Page 9: Introduction to Microsoft Silverlight

Have you programmed in JavaScript lately?• You might recognize this:

if (Netscape) {//tell the user they’re a dinosaur! }

else if (Firefox) {//do something interactive }

else if (Safari) {//do something interactive slightly

differently } else if (IE) {

if (IE7) { //do it almost like FF } else if (IE6) { //do it in a crazy way you’ll

spend all night on Google trying to figure out how to. }

else if (IE5) { //just give up! } }

Page 10: Introduction to Microsoft Silverlight

Have you programmed in JavaScript lately?

Wait… there’s more! else if (IE8) {

//Decide to act like FF & Safari or IE7 } else if (Chrome) {

//What?! Another browser to support! } else if (Mobile Device) {

//#$^&%^*&*$%%&*!!!!! }

Page 11: Introduction to Microsoft Silverlight

Introducing Silverlight • Cross-Platform, Cross

Browser RIA• Mac, Windows, Linux*• Firefox, IE, Safari, Chrome

• Code + Markup• XAML + (CLR | DLR)

• Managed Silverlight: .NET• Cross-platform Version of .NET

Framework• No external dependencies

• Fully Supports VB and C# in the Browser

Page 12: Introduction to Microsoft Silverlight

Rich Media Experiences• Quality• Streaming video quality up

to HD (1080p)• DVD-like interactivity and

overlays• Markers and Events• IIS 7 Smooth Streaming

• Flexible Development• Integrate existing AJAX

frameworks• SMPTE standard VC-1,

WMV and MP3• H.264, AAC

• Delivery• Live Streaming or On-

Demand

Page 13: Introduction to Microsoft Silverlight

Timeline• Silverlight 1• Beta December 2006• RTM September 5, 2007

• Silverlight 2• Beta March 2008• RTM October 14th 2008

• Silverlight 3 • Beta March 2009• RTM – July 12th, 2009

• Silverlight 4• Beta November 2009• RTM - ???

Page 14: Introduction to Microsoft Silverlight

Silverlight and the Web

HTML / JavaScript

HTML / .NET

XAML / JavaScript

XAML / .NET

Page 15: Introduction to Microsoft Silverlight

Silverlight Market Penetration

http://riastats.com/

Page 16: Introduction to Microsoft Silverlight

demos

Microsoft Silverlight

Page 17: Introduction to Microsoft Silverlight

Silverlight "Transparency"No black box here!

• XAML is text-based & SEO friendly• XAP is a ZIP – Open up and “view source” if

you wish• XAML DOM and HTML DOM are first class

citizens• HTML Bridge lets C# code manipulate DOM• JavaScript code can manipulate XAML

Presentation Title | PP | DD Month YYYY

Page 18: Introduction to Microsoft Silverlight

Designers Developers

Create Implement

XAML

Artistic Functional

JPGTIFFPSDGIF

HTML

ASPXASCXASMX

C#VB.NET

Traditional Web Development

Silverlight Development

Page 19: Introduction to Microsoft Silverlight

Introducing XAML• Defines the User

Interface• Communication Between

Designers and Developers

• No Translation Required• Toolable, Readable

• Represents Code• eXtensible Application

Markup Language• Shared with WPF, WF• Represents .NET Objects• Based on XML

• True Separation of UI and Logic

Page 20: Introduction to Microsoft Silverlight

Building your Silverlight UI• Controls• Events• Data Binding• Custom Control Model• Animations• Storyboards, not tweening

• Styling• Out of Browser• Toolkit & Community

Page 21: Introduction to Microsoft Silverlight

Tools

Presentation Title | PP | DD Month YYYY

Page 22: Introduction to Microsoft Silverlight

Silverlight Developer's Toolkit

Minimum

Any Text

Editor

Any Web

Server

Page 23: Introduction to Microsoft Silverlight

Silverlight Developer's Toolkit

Minimum Any Text Editor

Any Web Server

Maximum Productivi

ty

Visual Studio 2008

Silverlight 3 Extensions for Visual

Studio

Expression Blend

Page 24: Introduction to Microsoft Silverlight
Page 25: Introduction to Microsoft Silverlight

Expression Blend - SketchFlow• Mock up your site• Establish navigation and general layout• “Wiggly” styles help clients understand sketch nature• Realistic looking sample data• Real events• Convert sketch app to real app with ease

Page 26: Introduction to Microsoft Silverlight

Silverlight Developer's Toolkit

Minimum Any Text Editor

Any Web Server

Maximum Productivi

ty

Visual Studio 2008

Silverlight Extensions for Visual

Studio

Expression Blend

Maximum PHP Dev

Productivity

Visual Studio 2008

Silverlight Extensions for Visual

Studio

Expression Blend VS.PHP

Mac Tooling

Eclipse 4 Silverlight

Fusion or Parallels

Plus - All of the Above

Page 27: Introduction to Microsoft Silverlight

demo

Silverlight Tools

Page 28: Introduction to Microsoft Silverlight

Getting Silverlight Connected• Silverlight talks many formats• SOAP services• XML• RSS• AtomPub• REST• Sockets

• Built in networking stack• Not subject to limitations of browser stack• Full HTTP verb support• Independent security model• Full visibility of request/response headers, codes, etc

Page 29: Introduction to Microsoft Silverlight

Deep Zoom• Implementation of the Seadragon technology• Allows users to pan around and zoom in a large, high

resolution image or a large collection of images. • Reduces the time required for initial load• Downloads only the region being viewed and/or only at the

resolution it is displayed at• As user pans or zooms, subsequent regions are downloaded• Animations hide any jerkiness in the transition• Supported in iPhone as Seadragon Mobile

• Use Deep Zoom Composer to build and publish

Page 30: Introduction to Microsoft Silverlight

Smooth Streaming• HTTP-based adaptive streaming• Support in IIS 7 with Media Services extension• Expression Encoder multi-stream generation• Specs released under the Community Promise

Initiative• Support for iPhone

Page 31: Introduction to Microsoft Silverlight

Conclusion - Silverlight• Great choice for RIA solutions• Powerful media platform• Comprehensive tooling• Designer/developer collaboration• Vibrant ecosystem• Continually evolving• Adoption is huge

Page 32: Introduction to Microsoft Silverlight

Resources• MIX conference: http://live.visitmix.com • Community Site: http://silverlight.net • Main Product Site:

http://www.microsoft.com/silverlight • MSDN Center: http://msdn.microsoft.com/silverlight • Smooth Streaming: • Online SDK: http://

msdn2.microsoft.com/bb188266.aspx • Top Silverlight Blogs• Shawn Wildermuth: http://wildermuth.com • Tim Heuer: http://www.timheuer.com • Tim Sneath: http://blogs.msdn.com/tims • Mike Harsh: http://blogs.msdn.com/mharsh • Joe Stegman: http://blogs.msdn.com/jstegman • Laurence Moroney: http://blogs.msdn.com/webnext • Ernie Booth: http://blogs.msdn.com/ebooth

Page 33: Introduction to Microsoft Silverlight

41