410 likes | 712 Views
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
E N D
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
Inside Silverlight 2 Silverlight 2: GUI “eye-candy”: XAML, Layout, Styling, Animation .NET “plumbing”: CLR, Base Class Libraries
Comparing client platforms Desktop: Web: Silverlight Flash / Flex WPF WinForms Win32Win16 HTML / CSS / JavaScript / AJAX
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
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: 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
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)
Silverlight Tools • Expression Blend: • For graphic designers • GUI builder • Visual Studio 2008: • For programmers • Includes a more limited GUI builder