[presentation title]
TRANSCRIPT
Introduction to Silverlight
Alan Cobb
Independent .NET Consultant
Alan Cobb & Associates, Inc.
Sacramento, CA
alan -at- alancobb -dot- com
Friday, March 7, 2008
10:15 am – 11:45 am
About Alan Cobb
• Independent consultant since mid-80s on Microsoft platforms
• .NET, C#, C++, WinForms, WPF• One of directors of the SacDotNet
User Group• http://www.alancobb.com
Presentation Overview
• What is Silverlight?– How does it relate to other client-side
technologies? How important is it?
• What can it do?– Feature details and demos
• Silverlight app development walk-walkthrough.– Expression Blend. Visual Studio 2008.
What is Silverlight?
• Like Flash:– Browser plug-in: cross-browser, cross-
platform– Animated ads, video, applications (like Flex)– Benefits:
• Write-once-run-everywhere,• Adds functionality not in HTML / AJAX
Versions of Silverlight
• v 1.0– RTM in Sept. 2007– Code behind – JavaScript only
• v 1.1 / 2– .NET based– SL 1.1 Alpha introduced in Spring 2007.– SL 2 Beta 1 released at MIX08 in March 2008– RTM maybe Q3-2008? For Olympics?– Code behind - .NET languages C#, etc.– Partial .NET class library
SL for Mobile: Schedule
SL for Mobile: Weatherbug Demo
Inside Silverlight 2
Silverlight 2:
GUI “eye-candy”:
XAML, Layout, Styling, Animation
.NET “plumbing”:
CLR, Base Class Libraries
Comparing client platforms
HTML / CSS / JavaScript / AJAX
Desktop:
WinFormsWin32Win16
WPF Silverlight
Web:
Flash /Flex
Competing technologies
• Web-based:– Adobe Flash / Flex– “Ajax”: HTML + CSS + JavaScript
• Desktop based “smart clients”– WPF on high end
• 3D, Hardware acceleration
– WinForms: (Mature, proven)
• Desktop-web hybrid (?):– Adobe AIR
Silverlight and WPF: Differences
• WPF:– Windows only– Requires 50 / 200 MB .NET 3.x runtime– Steeper learning curve
• Silverlight:– Cross OS, cross browser– Small download (approx. 4 to 5 MB)– Reduced feature set– Sandboxed – Secure but limiting
How important is Silverlight?
• This is a big deal
• Once-every-20-years event
• Existing client-side web technology has reached the peak of its life-cycle
• Fresh start of a new client GUI technology
• Web is where the action is– The network is the computer
What Can Silverlight Do?
Feature Details
SL2 Feature Summary:
• GUI system features:– XAML, etc.
• Controls:– What controls come “in the box”?
• Data:– Features related to database-type apps
• Communications:– Web services
GUI System Features
• WPF subset• Vector based vs. pixel based
– Scalable – Looks good at multiple resolutions
• Dynamic layouts• XAML – Similar to HTML
– Declarative– Designers and programmers work in parallel
• Rich customization is easier– “Lookless” controls– Styles and templating
Non-GUI Features
• More than just “eye-candy”– OpenFileDialog– Threads– Direct cross-domain access rather than
proxied by your server.
SL2 Features: Controls
• Controls:– Extensible control base classes– Common controls:
• Textbox, Checkbox, Radiobutton, etc • TabControl, Slider, ScrollViewer, ProgressBar, etc
– Layout controls:• Grid, StackPanel
– Data controls:• DataGrid, etc
SL2 Features: Control Source Code
SL2 Features: Data
• Data:– 2-way data binding– More LINQ support:
• LINQ to XML• LINQ to Objects
SL2 Features: Communications
• Communications:– REST, POX, RSS, and WS-* communication– Cross domain network access (coming)– Sockets (no cross-domain yet)
– WCF? (How much client side?)
SL2 Features: Other
• Isolated Storage:– Secure– Size? (100KB, expandable to X?)
• Security– See Perry Birch’s talk from 1:30-3:00
Feature Unknowns (?)
• Local client integration?– Read and write local files?– Read local mic and webcam? (Not in Beta 1)
• Depth of class libraries?– Pay-for-play
Resources
• Recorded videos:– Sessions from MIX08, MIX07
• Forums: – silverlight.net / forums
• Books: – Adam Nathan’s WPF book– Silverlight 2 books in the pipeline
Resource: MIX session videos
Features in Action:
Demos
Demos: Showcase
Demo: Deep Zoom
Demo: Home Shopping Network
Demo: Indian Fashion Show
Demo: SL1.1 Chess App
Demo: Silverlight Airlines
Demo: MS Download Center
Demo: 3rd Party Control Vendor
Other possible demos
• tafiti:– Search front-end from MS in SL
• Popfly:– Mashup builder from MS in SL
• Silverlight.net / Showcase:
• Seattle PI Reader (WPF currently):– Shows possible future for SL (Rich text)
SilverlightDevelopmentWalk-through
Silverlight Tools
• Expression Blend:– For graphic designers– GUI builder
• Visual Studio 2008:– For programmers– Includes a more limited GUI builder
ScottGu – SL2 Intro Tutorials
ScottGu’s SL2 Digg Client