NH .Net Code Camp 2010 - An Introduction to Silverlight Development


Published on

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
  • * Source – Pro Silverlight 3 in C#, Matthew MacDonald, APress 2009** Source – RIAStats.com*** HTML5:"Will HTML 5 make RIA technologies such as Adobe Flash/Flex and Microsoft Silverlight obsolete? For at least the next five years, the answer is a definite 'no,'" reads Hammond's executive summary. "Inconsistent implementations of the draft HTML 5 specification and immature tooling make building HTML 5 apps that work consistently across browsers and operating systems a real challenge." - Forrester author and principal analyst Jeffrey Hammond When W3C itself projects 2022 (no, that's not a typo) as the earliest date that a final HTML 5 specification can be completed and published, some are actually saying that date is optimistic.The next stage for HTML 5 adoption is the first "candidate recommendation," set for 2012...At that time, Hammond foresees a process not unlike network appliance vendors hawking "802.11n" or "pre-11n" wares prior to that standard's final adoption last October.In 2015, we'll see pretty consistent support, even though there won't be a final standard. So I don't think it's dead, but I think you need to differentiate between a 'good enough' implementation and a 'fully compliant' standard.""The folks that benefit most from a new standard are the folks that don't necessarily have a commanding position in the existing standard," Hammond responded. ===========================================================================================SOURCE: http://www.betanews.com/article/Actual-Analysis-Is-HTML-5-already-outmoded/1273009131===========================================================================================Ian Hickson, editor of the HTML5 specification, expects the specification to reach the W3C Candidate Recommendation stage during 2012, and W3C Recommendation in the year 2022 or later.[8] However, many parts of the specification are stable and may be implemented in products:Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. <canvas>).– WHAT Working Group, When will HTML5 be finished?[8], FAQ===========================================================================================SOURCE: http://en.wikipedia.org/wiki/HTML5===========================================================================================
  • Calendar of Silverlight ReleasesCL07 – Video (better layoutthan slides) -> Major areas of content (bullets) in SL1-4 6:50 in11/20/2007 – SL1 SR11/15/2008 – SL1 SR27/23/2008 – SL1 SR32/18/2009 – SL2 GDR17/28/2009 – SL3 GDR19/1/2009 – SL3 GDR21/19/2010 – SL3 GDR34/15/2010 – SL4 RTM
  • Show Get Started PageShow Toolkit Sample Navigator* RIA Services Toolkit – includes:1. LinqToSqlDomainService2. Soap endpoint - This enables you to expose a soap endpoint for your DomainService3. JSON endpoint - This enables you to expose a JSON endpoint for your DomainService4. ASP.net DomainDataSource - This control will enable you to create an ASP.net application that can talk to your DomainService5. WCF client proxy auto generation/updating for WCF Core Service – This enables you to get up-to-date WCF proxy and configuration each time you build your solution, when you add Silverlight-enable WCF service in your Silverlight application.
  • DEMO: Creating a Silverlight Project in Visual Studio Go over project types First Dialog & Options What did you get? Projects & PropertiesApp.xaml Class Name & Resources Root Visual in Startup Hello World (gratuitous animation)Hosting the Silverlight Object (Object Tag, MIME entries)xap Source,onError BackgroundminRuntimeVersionautoUpgrade Get the runtime MIME – (Case in point = Windows Home Server).xaml    application/xaml+xml .xap     application/x-silverlight-app .xbap    application/x-ms-xbapGo Over the “Nature” of SilverlightRuns 100% in the client side, within the browser or (SL) in a special shell (picture?)Page refreshes (postbacks!) will reload the application!  Consider AJAX for interactive ASPX pages.“XAP = ZIP”- Pop open the XAP file, show in Reflector
  • XAML  Instantiate & set properties + some shortcuts (all XAML can be done in code behind like WinForms)NamespacesPanels (Grid, StackPanel, Canvas, others (Dock & Wrap Panels)Controls (Content, Item) (Show Toolbar, name, properties)Events (The Great Event Debate) g.cs fileModal DialogsResourcesBindingValue Converters
  • Import from PhotoShopMediaElementDiscuss Adaptive StreamingPhotoSynth3DWebcam support4 kinds of brushes – Solid, Gradient, Image, ***Video***
  • HTML BridgeStandalone SilverlightPhone
  • WCF / Web ServiceIsolated Storage
  • Class Library AssembliesBrushesShapesAnimationsList BindingData TemplatesPhone?
  • NH .Net Code Camp 2010 - An Introduction to Silverlight Development

    1. 1. An Introduction to Silverlight Development <br />John GarlandSenior ConsultantBurntsand Consulting<br />http://blog.dotnetgator.com<br />1<br />
    2. 2. About Burntsand<br /><ul><li>Custom Development Solutions
    3. 3. Smart Client Development
    4. 4. Web Development
    5. 5. Information Worker Solutions
    6. 6. Web & Portal Publishing
    7. 7. Document & Records Management
    8. 8. Data Management Solutions
    9. 9. Business Intelligence & Reporting Solutions
    10. 10. Business Process and Integration Solutions
    11. 11. CRM – ReMS</li></ul>Producing tangible results through disciplined execution<br /><ul><li>Leading systems integration firm founded in January 1996
    12. 12. More than 350 blue chip clients
    13. 13. 4 North American locations: Boston, San Jose, Houston, Indianapolis
    14. 14. Microsoft Gold Certified partner with 4 competencies
    15. 15. Additional partnerships with EMC Documentum and BMC Software</li></ul>http://blog.dotnetgator.com<br />2<br />
    16. 16. <ul><li>A Little Context
    17. 17. Basics of Silverlight Development</li></ul>Getting Started<br />XAML<br />Multimedia<br />Basic Data Access<br />Out-of-browser Silverlight<br />Interaction with the Browser<br /><ul><li>Where to go to from here…</li></ul>3<br />What You Can Expect to Take Away<br />http://blog.dotnetgator.com<br />
    18. 18. Silverlight is a technology for creating cross-platform .Net applications for the browser*<br />Pros<br />Cons<br /><ul><li>Requires installation of a separate runtime
    19. 19. Not included with any “classic” .Net runtime, OS, or browser
    20. 20. Not as widely adopted as other RIA technologies
    21. 21. Currently 59% adoption** vs. 96% for Flash
    22. 22. Limited to HTTP binding for WCF Service interactions
    23. 23. AJAX, especially with tools like jQuery and the related extensions also offer RIA experiences
    24. 24. HTML 5 (***)
    25. 25. Linux client support limited to what is available in Moonlight
    26. 26. Strongly-typed, compiled development for web applications
    27. 27. Large transfer of skillset from .Net-based client applications to web applications (especially WPF)
    28. 28. (Some) Code reuse with .Net applications
    29. 29. Rich interactive user interfaces
    30. 30. Can be used for standalone / occasionally connected applications
    31. 31. Access to rich development tools and communities
    32. 32. Hosting by multiple server platforms
    33. 33. Leverage skills and/or code for upcoming Windows Phone 7 development</li></ul>Why Silverlight?<br />4<br />http://blog.dotnetgator.com<br />
    34. 34. 5<br />How Did We Get Here?<br />http://blog.dotnetgator.com<br />
    35. 35. Tools:<br />Visual Studio 2010<br />Expression Blend 4 RC<br />Silverlight 4 Tools for Visual Studio 2010 (VS Support, SDK, & RIA Services)<br />Silverlight Toolkit<br />Other:<br />WCF RIA Services Toolkit<br />All-In-One:<br />http://www.silverlight.net/getstarted<br />6<br />Getting Started with Silverlight<br />http://blog.dotnetgator.com<br />
    36. 36. <ul><li>A Basic Project
    37. 37. Hosting Silverlight Content
    38. 38. The Nature of Silverlight
    39. 39. XAP = ZIP</li></ul>7<br />Hello Code Camp<br />http://blog.dotnetgator.com<br />=<br />DEMO<br />
    40. 40. 8<br />Introducing XAML<br />http://blog.dotnetgator.com<br />private TextBlocktextBlock;<br />public void DoSomething()<br />{<br /> Grid grid = new Grid();<br />textBlock = new TextBlock { Text = "Hello World" };<br />grid.Children.Add(textBlock);<br />this.Content = grid;<br />}<br /><Grid><br /> <Grid.Children><br /> <TextBlock x:Name ="textBlock" Text="Hello World"/><br /> </Grid.Children><br /></Grid><br />DEMO<br /><ul><li>Namespaces
    41. 41. Containers
    42. 42. Binding , Data Context, & Value Converters
    43. 43. Controls & Events
    44. 44. Modal Dialogs</li></li></ul><li><ul><li>MediaElement & VideoBrush
    45. 45. WebCam
    46. 46. Resources & Styles
    47. 47. Templates</li></ul>9<br />Multimedia<br />http://blog.dotnetgator.com<br />DEMO<br />
    48. 48. Silverlight is more than a web plugin<br /><ul><li>Out-of-browser
    49. 49. HTML Bridge
    50. 50. Windows Phone 7</li></ul>10<br />Beyond the Plugin<br />http://blog.dotnetgator.com<br />
    51. 51. <ul><li>Local Data Storage is available in Isolated Storage only
    52. 52. Data can be retrieved from the web
    53. 53. Web service calls must use Basic HTTP (WS-HTTP is not supported)
    54. 54. Network calls are asynchronous</li></ul>11<br />Data Access<br />http://blog.dotnetgator.com<br />
    55. 55. 12<br />Going Further<br />http://blog.dotnetgator.com<br />Silverlight.Net<br />Silverlight Toolkit<br />Bing Maps API<br />Windows Phone 7 Developer Site<br />Blog – Brad Abrams<br />Blog – Andy Beaulieu<br />Blog – Christian Schormann<br />Blog – VS Tip of the Day<br />ONLINE<br />Silverlight TV<br />Silverlight Training Course<br />MIX Videos<br />MSDev<br />Perspectives on Flash & Silverlight<br />VIDEOS<br />Pro Silverlight 3 in C# (Matthew MacDonald)<br />Silverlight Recipes (Rob Cameron)<br />WPF Control Development (Podila)<br />BOOKS<br />http://dotnet.uservoice.com/ - Suggestions<br />http://www.microsoft.com/design/toolbox - Free Online Training<br />OTHER<br />
    56. 56. 13<br />Other Sessions<br />http://blog.dotnetgator.com<br />
    57. 57. 14<br />Please Complete Your Evaluation Forms<br />http://blog.dotnetgator.com<br />
    58. 58. 15<br />Questions?<br />http://blog.dotnetgator.com<br />
    59. 59. 16<br />Graphics & Animations<br />http://blog.dotnetgator.com<br />A Silverlight Animation is a way to change the value of a dependency property over time.<br />Animations<br /><ul><li>Are time-based
    60. 60. Act on properties
    61. 61. Every data type takes a different animation class
    62. 62. (Mostly Double, Color, Point)</li></ul>Animation Types<br /><ul><li>Linear Interpolation (easing)
    63. 63. Keyframe</li></ul>Storyboard<br />DEMO<br />