Published on

Angela Ward gives an Introduction to Silverlight

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Flash: 8 million downloads per day (3 billion per year): Source: YouTube and MSN Video (as of 2008-01) both use Flash video players and download the videos as *.FLV (Flash video) files.
  • Similarities to the transition from character-mode DOS to the original 16-bit Windows.
  • Yahoo Finance’s stock charting page has a beta version that uses Flash. Highly interactive. Nice animation. Pre-Flash version generates the charts on the server and downloads them as PNG files. Pre-Flash problems: Slow to update, wastes network bandwidth and server CPU cycles.;range=my;compare=msft;indicator=split+dividend+volume;charttype=line;crosshair=on;logscale=off;source=undefined
  • is an online photo-editor application implemented in Flash. The main pages are entirely Flash, no HTML. See:
  • Retained mode graphics system vs. WM_PAINT messages. Specify the shape of an object once and WPF/SL takes care of drawing it from then on. Move whole shape just by changing its origin coordinates. WPF gets hardware acceleration, SL does not. WPF and SL coordinates are floating point values not integers (Win32, WinForms, HTML): WPF coordinates are in double-precision floating point: SL coordinates are floating point like WPF, but in units of pixels not WPF’s DIPs: Nathan’s SL 1.0 book: p69.
  • Full released .NET 3.5 redistributable is about 200MB (I test downloaded 2008-01). Full released .NET 3.0 redistributable is about 50MB.
  • V1.0 is only about 1.5MB in size on Windows. V1.1 alpha is about 4.5MB in size on Windows.
  • Silverlight Airlines: v1.1 sample implemented with C# code-behind
  • Beta interface to MS Download Center is done with Silverlight 1.0:
  • Intersoft Solutions – Sirius control set for Silverlight
  • References: Partial quote: “ WPF UI Framework : The current Silverlight Alpha release only includes basic controls support and a managed API for UI drawing.  The next public Silverlight preview will add support for the higher level features of the WPF UI framework.  These include: the extensible control framework model, layout manager support, two-way data-binding support, and control template and skinning support.  The WPF UI Framework features in Silverlight will be a compatible subset of the WPF UI Framework features in last week's .NET Framework 3.5 release. Rich Controls : Silverlight will deliver a rich set of controls that make building Rich Internet Applications much easier.  The next Silverlight preview release will add support for core form controls (textbox, checkbox, radiobutton, etc), built-in layout management controls (StackPanel, Grid, etc), common functionality controls (TabControl, Slider, ScrollViewer, ProgressBar, etc) and data manipulation controls (DataGrid, etc). Rich Networking Support : Silverlight will deliver rich networking support.  The next Silverlight preview release will add support for REST, POX, RSS, and WS* communication.  It will also add support for cross domain network access (so that Silverlight clients can access resources and data from any trusted source on the web). Rich Base Class Library Support : Silverlight will include a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc).  The next Silverlight preview release will also add built-in support for LINQ to XML and richer HTML DOM API integration.” Partial quote: “ In the Silverlight 1.1 Alpha, the UI framework side was pretty limited. Although we had the likes of MediaElement, Path, TextBlock, etc., it was a small fraction of what WPF provides in this regard. We now have a extensible control framework, two-way data binding, templates, styles, all the standard controls (TextBox, ScrollBar, CheckBox, RadioButton etc.), multiple layout containers (Grid, StackPanel, Canvas). In short, if you're familiar with WPF today, you'll be right at home with Silverlight 2.0.”
  • Most noticable thing missing from current SL 1.0 and 1.1: No pre-built controls! No mention of: TreeControl, Viewbox
  • Silverlight

    1. 1. Introduction to Silverlight BiTWISE June 24, 2011
    2. 2. About Angela Ward <ul><ul><li>Independent consultant since mid-90s on Microsoft platforms </li></ul></ul><ul><ul><li>OODB, WinForms, XML, .NET </li></ul></ul><ul><ul><li>Business Analyst, QA Test Lead </li></ul></ul>
    3. 3. Presentation Overview <ul><ul><li>What is Silverlight? </li></ul></ul><ul><ul><li>How does it relate to other client-side technologies? </li></ul></ul><ul><ul><li>How important is it? </li></ul></ul><ul><ul><li>Silverlight app development walk-through </li></ul></ul>
    4. 4. What is Silverlight? <ul><ul><li>One word definition: Flash </li></ul></ul><ul><ul><ul><li>Browser plug-in: cross-browser, cross-platform </li></ul></ul></ul><ul><ul><ul><li>Use case today: Animated ads, Video </li></ul></ul></ul><ul><ul><ul><li>Use case tomorrow: Applications (Flex) </li></ul></ul></ul><ul><ul><ul><li>Benefits: Adds functionality + write-once-run-everywhere </li></ul></ul></ul><ul><ul><li>Why Silverlight not Flash? </li></ul></ul><ul><ul><li>More words: Flash + .NET </li></ul></ul><ul><ul><li>More words: WPF-subset + .NET-subset </li></ul></ul>
    5. 5. This is a big deal <ul><ul><li>Once-every-20-years event </li></ul></ul><ul><ul><li>Existing client-side web technology has reached the peak of its life-cycle </li></ul></ul><ul><ul><li>Fresh start of a new client GUI technology </li></ul></ul><ul><ul><li>Web is where the action is </li></ul></ul><ul><ul><ul><li>The network is the computer </li></ul></ul></ul>
    6. 6. Comparing client platforms HTML / CSS / JavaScript / AJAX Desktop: Win16 Win32 WinForms WPF Silverlight Flash / Flex Web:
    7. 7. Competing technologies <ul><ul><li>Desktop based “smart clients” </li></ul></ul><ul><ul><ul><li>WPF on high end </li></ul></ul></ul><ul><ul><ul><ul><li>3D, Hardware acceleration </li></ul></ul></ul></ul><ul><ul><ul><li>WinForms: (Mature, proven) </li></ul></ul></ul><ul><ul><li>Web-based: </li></ul></ul><ul><ul><ul><li>ASP.NET - HTML + CSS </li></ul></ul></ul><ul><ul><ul><li>ASP.NET - HTML + CSS + AJAX </li></ul></ul></ul><ul><ul><ul><li>Adobe Flash / Flex </li></ul></ul></ul><ul><ul><li>Desktop-web hybrid (?): </li></ul></ul><ul><ul><ul><li>Adobe AIR </li></ul></ul></ul>
    8. 8. Demo – Yahoo Finance Charts
    9. 9. Demo – Photo Editor
    10. 10. Feature Details
    11. 11. WPF / Silverlight – Positives: <ul><ul><li>Vector based vs. pixel based </li></ul></ul><ul><ul><ul><li>Scalable – Looks good at multiple resolutions </li></ul></ul></ul><ul><ul><li>XAML – Similar to HTML </li></ul></ul><ul><ul><ul><li>Declarative </li></ul></ul></ul><ul><ul><ul><li>Designers and programmers work in parallel </li></ul></ul></ul><ul><ul><li>Rich customization is possible in a well-designed way </li></ul></ul>
    12. 12. WPF - Negatives <ul><ul><li>Windows only </li></ul></ul><ul><ul><li>Requires 50 / 200 MB .NET 3.x runtime </li></ul></ul><ul><ul><li>Steep learning curve </li></ul></ul>
    13. 13. Early Versions of Silverlight <ul><ul><li>1.0 </li></ul></ul><ul><ul><ul><li>RTM in Sept. 2007 </li></ul></ul></ul><ul><ul><ul><li>Code behind – JavaScript only </li></ul></ul></ul><ul><ul><li>1.1 / 2.0 </li></ul></ul><ul><ul><ul><li>Alpha introduced in Spring 2007. </li></ul></ul></ul><ul><ul><ul><li>Beta at MIX08 in March 2008. </li></ul></ul></ul><ul><ul><ul><li>RTM maybe Q3-2008. </li></ul></ul></ul><ul><ul><ul><li>Code behind - .NET languages C#, etc. </li></ul></ul></ul><ul><ul><ul><li>Partial .NET class library </li></ul></ul></ul>
    14. 14. Silverlight - Positives <ul><ul><li>Lightweight at 4-6 MB, quick download </li></ul></ul><ul><ul><li>.NET based </li></ul></ul><ul><ul><ul><li>Write in C# or VB.NET </li></ul></ul></ul><ul><ul><ul><li>Use familiar class libraries </li></ul></ul></ul><ul><ul><li>Rich state-of-the-art GUI </li></ul></ul><ul><ul><ul><li>Vector based </li></ul></ul></ul><ul><ul><ul><li>All types of content handled uniformly </li></ul></ul></ul><ul><ul><li>Secure - sandboxed </li></ul></ul>
    15. 15. Silverlight - Negatives <ul><ul><li>Not quite here yet </li></ul></ul><ul><ul><ul><li>“ Pig in a poke” </li></ul></ul></ul><ul><ul><li>Sandboxing limits functionality </li></ul></ul><ul><ul><li>Conflicting products within Microsoft? </li></ul></ul>
    16. 16. Demo: Silverlight Airlines
    17. 17. Demo: MS Download Center
    18. 18. Demo: 3 rd Party Control Vendor
    19. 19. Silverlight 5.0 Features: <ul><ul><li>Won’t know details until August 2011 </li></ul></ul><ul><ul><li>Controls: </li></ul></ul><ul><ul><li>Data: </li></ul></ul><ul><ul><li>Communications: </li></ul></ul>
    20. 20. Silverlight 2.0 Features: <ul><ul><li>Controls: </li></ul></ul><ul><ul><ul><li>Extensible control base classes </li></ul></ul></ul><ul><ul><ul><li>Common controls: </li></ul></ul></ul><ul><ul><ul><ul><li>Textbox, Checkbox, Radiobutton, etc </li></ul></ul></ul></ul><ul><ul><ul><ul><li>TabControl, Slider, ScrollViewer, ProgressBar, etc </li></ul></ul></ul></ul><ul><ul><ul><li>Layout controls: </li></ul></ul></ul><ul><ul><ul><ul><li>Grid, StackPanel </li></ul></ul></ul></ul><ul><ul><ul><li>Data controls: </li></ul></ul></ul><ul><ul><ul><ul><li>DataGrid, etc </li></ul></ul></ul></ul>
    21. 21. Silverlight 2.0 Features: <ul><ul><li>Data: </li></ul></ul><ul><ul><ul><li>2-way data binding </li></ul></ul></ul><ul><ul><ul><li>More LINQ support: LINQ to XML </li></ul></ul></ul>
    22. 22. Silverlight 2.0 Features: <ul><ul><li>Communications: </li></ul></ul><ul><ul><ul><li>REST, POX, RSS, and WS-* communication </li></ul></ul></ul><ul><ul><ul><li>Cross domain network access </li></ul></ul></ul><ul><ul><ul><li>Sockets </li></ul></ul></ul>
    23. 23. Feature Unknowns (?) <ul><ul><li>Local client integration? </li></ul></ul><ul><ul><ul><li>Read and write local files? </li></ul></ul></ul><ul><ul><ul><li>Read local mic and webcam? </li></ul></ul></ul><ul><ul><li>WCF? </li></ul></ul><ul><ul><li>Depth of class libraries? </li></ul></ul><ul><ul><ul><li>Pay-for-play </li></ul></ul></ul>
    24. 24. Silverlight Development Walk-through
    25. 25. Silverlight Tools <ul><ul><li>Expression Blend : </li></ul></ul><ul><ul><ul><li>GUI builder </li></ul></ul></ul><ul><ul><ul><li>Graphic designers </li></ul></ul></ul><ul><ul><li>Visual Studio 2008/2010: </li></ul></ul><ul><ul><ul><li>Includes a more limited GUI builder </li></ul></ul></ul><ul><ul><ul><li>Programmers </li></ul></ul></ul>