[Presentation Title]
Upcoming SlideShare
Loading in...5
×
 

[Presentation Title]

on

  • 710 views

 

Statistics

Views

Total Views
710
Slideshare-icon Views on SlideShare
710
Embed Views
0

Actions

Likes
0
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • These slides will be downloadable from my site as well as the SD-West-08 site.
  • MS supported on Windows and Mac. Linux support coming from Novel. Support for Windows Mobile and Nokia’s Symbian-OS-based platform are coming. MS says SL will be coming (see their schedule in a later slide) to high-end smart phones running Nokia’s Symbian-OS-based platform and MS’s “Windows Mobile” small-device OS. SL: 1.5 million downloads per day (500 million per year) (Source: ScottGu at MIX08). Flash: 8 million downloads per day (3 billion per year): Source: http://blogs.zdnet.com/Stewart/?p=691 YouTube and MSN Video (as of 2008-01) both use Flash video players and download the videos as *.FLV (Flash video) files.
  • Silverlight V1.0 is only about 1.5MB in size on Windows. Silverlight V1.1 alpha is about 4.5MB in size on Windows. Silverlight V2 Beta 1 about 4.3MB in size on Windows. (10MB on Mac?) See this 2008-Mar-06 forum thread for speculation about SL2 release dates: http://silverlight.net/forums/t/10773.aspx
  • See MIX08 Session T12: “Mobile Devices and Silverlight: A Primer…”: http://sessions.visitmix.com/ This schedule slide is at time 35:00: Q2-2008: SL1 for Mobile CTP Q4-2008: SL1 for Mobile RTW Q4-2008: SL2 for Mobile CTP Q2-2009: SL2 for Mobile [RTW]
  • Demo of Weatherbug’s app for Silverlight for Mobile: http://sl.weatherbug.com/?zip=95054
  • I like to break SL2 down into two big pieces. The “eye-candy” GUI on top and the .NET “plumbing” below.
  • Full released .NET 3.5 redistributable is about 200MB (I test downloaded 2008-01). http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=en Full released .NET 3.0 redistributable is about 50MB.
  • Similarities to the transition from character-mode DOS to the original 16-bit Windows.
  • References: http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx 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.” http://blogs.msdn.com/tims/archive/2007/11/29/silverlight-1-1-is-now-silverlight-2-0.aspx#comments 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.”
  • Scalability (vector based and dynamic layout): Benefit is that it makes it easier to look good on wide range of displays – Mobile on up to 30” monitors. (Although you normally should use separate XAML for different major device sizes). WPF and SL coordinates are floating point values not integers (Win32, WinForms, HTML): WPF coordinates are in double-precision floating point: http://msdn2.microsoft.com/en-us/library/ms742562.aspx SL coordinates are floating point like WPF, but in units of pixels not WPF’s DIPs: Nathan’s SL 1.0 book: p69. 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’s coordinates. WPF gets hardware acceleration, SL does not.
  • Nice blog post by Wilco Bauwer (2008-Mar-05) about the benefits of using Silverlight even if you stick with you existing HTML / CSS / JS GUI: http://www.wilcob.com/wilco/Default.aspx
  • Most noticable thing missing from SL 1.0 and 1.1: No pre-built controls! No mention of: TreeControl, Viewbox
  • MS is shipping source code for their SL2 controls, including the DataGrid. Free for any use: Sell it, modify it. See this forum post: http://silverlight.net/forums/t/10647.aspx
  • For details see video of MIX08 Session T13 on Working with Data and Web Services in SL2: http://sessions.visitmix.com/ One of the details: There is no direct ws* support in Beta 1. They have “full WCF channel stack” support, and you can extend it to support ws* protocols, but there is nothing out-of-the-box in Beta 1 to support ws*. Following post from 2008-Mar-05 tells how to use policy files on the server to enable cross-domain access for BrowserHttpWebRequests (but not sockets apparently): http://silverlight.net/forums/p/10513/34154.aspx#34154
  • Re. Isolated Storage: See this 2008-Mar-06: http://silverlight.net/forums/t/10757.aspx He says default size is 100KB. You can increase that with a method call. Up to how much? Good article by Pete Brown on using Isolated Storage to maintain state: “ Think of Isolated Storage as a large and easily used cookie.”: http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2008/02/26/Using-Silverlight-Isolated-Storage-for-Local-State-Backup.aspx The AOL folks who demoed their SL2 email client in MIX08 keynote emphasized the importance of Isolated Storage. The AOL guy said I.S. is much richer in functionality than the browser cache. He said their SL2 client is 2-3x faster than their AJAX client. How much of that due to better caching?
  • No support for mic and webcam in SL2 beta 1. They are “considering” adding it… http://silverlight.net/forums/t/10751.aspx (2008-Mar-06)
  • http://silverlight.net/forums/ http://blogs.msdn.com/adam_nathan/
  • http://sessions.visitmix.com/
  • http://silverlight.net/Showcase/
  • Demo from MIX08 keynote of “Deep Zoom” technology: Like a giant patch-work of graphics files. http://memorabilia.hardrock.com/
  • Silverlight Airlines: v1.1 sample implemented with C# code-behind Demonstrates: scalability, animation, whole page is SL. http://silverlight.net/samples/1.1/SilverlightAirlines/Run/default.html
  • Beta interface to MS Download Center is done with Silverlight 1.0: http://www.microsoft.com/beta/downloads/Default.aspx
  • Intersoft Solutions – Sirius control set for Silverlight http://sirius.intersoftpt.com/
  • http://www.tafiti.com/Original/default.aspx http://www.popfly.com/ http://silverlight.net/showcase/ http://seattlepi.nwsource.com/newsreader/ Others: http://www.webfactory-world.de/demo/
  • ScottGu’s 2008-02-28 blog introduces Blend 2.5 March Preview with SL2 support.
  • ScottGu’s (Microsoft VP who heads SL development among other things) 8-part blog tutorial on Silverlight 2. http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx
  • From Step-7 of ScottGu’s tutorial series. Running under SL2 on IE7 on Vista. http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx

[Presentation Title] [Presentation Title] Presentation 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: WinForms Win32 Win16 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: 3 rd 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)
  • Silverlight Development Walk-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