intro to silverlight
DESCRIPTION
Intro to Silverlight . Kevin Grossnicklaus. Introductions. Kevin Grossnicklaus SSE - www.SSEinc.com (1998-2009) Chief Architect Software Development Practice Leader CAIT (2003-2009) Instructor Email: [email protected] Blog: http://geekswithblogs.net/kgrossnicklaus. Agenda. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/1.jpg)
Intro to Silverlight
Kevin Grossnicklaus
![Page 2: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/2.jpg)
Introductions• Kevin Grossnicklaus– SSE - www.SSEinc.com (1998-2009)
• Chief Architect• Software Development Practice Leader
– CAIT (2003-2009)• Instructor
• Email: [email protected] • Blog:
http://geekswithblogs.net/kgrossnicklaus
![Page 3: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/3.jpg)
Agenda• History• Silverlight• Tools– Expression Blend 3 w/ Sketchflow– VS.NET 2K8,2010
• Resources• Questions
![Page 4: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/4.jpg)
Brief History of .NET• 2001 - .NET 1.0 (VS.NET)• 2003 - .NET 1.1 (VS.NET 2K3)• 2005 - .NET 2.0 (VS.NET 2K5)• 2006 - .NET 3.0 (WPF/WCF/WF)• 2008 - .NET 3.5 (VS.NET 2K8)• 2010 - .NET 4.0 (VS.NET 2010)
![Page 5: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/5.jpg)
History of Silverlight• WPF/E (Everywhere) released in 2006
shortly after .NET 3.0• MIX 2007 – Announcement that
WPF/E was renamed “Silverlight” and Silverlight 1.0 was released
• MIX 2008 – Release of Silverlight 2.0• MIX 2009 – Announcement of
Silverlight 3.0
![Page 6: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/6.jpg)
What is Silverlight?• Browser Plug-in with a compact
version of the .NET framework and the ability to render UI elements via XAML/WPF
![Page 7: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/7.jpg)
Silverlight vs. FlashFlash Silverlight• Small deployment footprint via
Browser Plug-in• Support for Windows, Mac, and
Linux• Code in ActionScript• Integrates with JavaScript• Adobe Flash as Dev Tool• Heavy animation and multi-
media support• Rich set of existing UI
components• HUGE existing adoption• Many other features
• Larger than Flash but still small and much easier to install than full .NET framework
• Runs on Windows and Mac OSX (plus Linux w/ Moonlight)
• Code in C# or VB.NET• Integrates easily with JavaScript• Easily call any services• VS.NET as Dev Tool• Brings plug-in development to
the .NET development community• Heavy animation and multi-media
support• Rich set of existing UI components• Many other features
![Page 8: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/8.jpg)
UI Options in .NET• Installed on Desktop–WinForms–WPF
• Browser Based– ASP.NET (w/ AJAX)– ASP.NET MVC– Silverlight– (Mix of the above)
![Page 9: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/9.jpg)
Silverlight Platform Support
• Windows• Mac OSX• Linux support provided by the
Moonlight plug-in developed as part of the Mono project
![Page 10: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/10.jpg)
Silverlight Terminology• WPF• WCF• XAML• XAP• AJAX• RIA
![Page 11: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/11.jpg)
Silverlight Development ToolsPrimary Tools
Helpful Tools• VS.NET 2008 SP1,
2010• Silverlight SDK• Expression Blend 2/3
• Kaxaml (www.Kaxaml.com)
• Fiddler (www.fiddler2.com)
![Page 12: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/12.jpg)
Silverlight ResourcesPrimary Links Misc Links• www.Silverlight.net• www.Asp.net• www.CodePlex.com/Sil
verLight• go-mono.com/
moonlight/
• www.silverlight.net/showcase
• http://karlshifflett.wordpress.com/xaml-power-toys/
• www.codeplex.com/compositewpf
![Page 14: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/14.jpg)
How does Silverlight work?
• Plug-In Installation• Deployment–What is XAP?
• Plug-In Hosting– Server does not require .NET
![Page 15: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/15.jpg)
The Silverlight BCL (CoreCLR)
• OUT:– System.Data– System.Deployment– Traditional XML manipulation using System.Xml
• LINQ to XML instead– Non-Generic collections
• Use Generic’s instead– System.Runtime.Remoting– System.Runtime.InteropServices
• No COM support
• IN:– All native types with full functionality– Full LINQ Support
• Including LINQ to XML– Full support calling services (either ASMX or WCF)– Powerful XAML with rich Silverlight Controls– Same garbage collection, memory management, and assembly management as full runtime– Threading Support– Generics
• DIFFERENT:– Security Model
![Page 16: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/16.jpg)
WPF vs. Silverlight• WPF
– Requires full .NET Framework (3.0+) be installed on client – Only supports Windows– Full access to all local resources – Full rights to local resource due to .NET code access security model– More powerful UI components and flexible UI composition model– More ability to take advantage of local audio/video resources
• i.e. Video and sound cards• Silverlight
– Supported by Plug-In– Supported on other platforms– Same XAML languages for declaring UI– Subset of WPF controls– Subset of .NET framework functionality– Limited access to local resources and constrained to browser sandbox
![Page 17: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/17.jpg)
Key Components of a Silverlight 2.0 Application
• UI = XAML• Logic = C#/VB.NET• Data = Classes• Data Access = WCF Services• Navigation = User Controls
![Page 18: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/18.jpg)
Silverlight Controls• Out of the Box Controls (Ship w/
framework)• Silverlight Control Toolkit– Silverlight.Codeplex.com– Similar to AJAX Control Toolkit–Microsoft and Community Supported
![Page 19: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/19.jpg)
Data in Silverlight• Data Classes– INotifyPropertyChanged
• Generics– i.e. List<Person>
• ObservableCollection– Raises events on change
• XAML Data Binding
![Page 20: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/20.jpg)
Databinding in Silverlight
• Can be declared via Mark-Up extensions in XAML or via code
• Key Code Properties:– DataContext– ItemsSource
• Basic Binding in XAML:– Using “Binding” Markup-Extension
Text=“{Binding NameFirst}”
![Page 21: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/21.jpg)
Silverlight Demo
• Silverlight 3.0 features• Silverlight LOB Application
![Page 22: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/22.jpg)
Expression Blend 3
![Page 23: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/23.jpg)
Expression Blend 3• Componentized UX behaviors – no
coding• Designing with data• Adobe Photoshop and Illustrator
import• XAML, C# and VB code intellisense • Source code control integration• SketchFlow
![Page 24: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/24.jpg)
SketchFlow• Breakthrough design prototyping• Visually explore composition and
navigation• Communicate design alternatives to
stakeholders• Solicit their feedback
![Page 25: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/25.jpg)
Visual Studio 2010
![Page 26: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/26.jpg)
Visual Studio 2010• Modern, enhanced user experience• Democratizing application lifecycle
management• Inspiring developer delight• Great web development experience• Silverlight designer support• Cloud development and deployment• More database support – DB2 & Oracle
![Page 27: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/27.jpg)
DEMOVisual Studio 2010
![Page 28: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/28.jpg)
Available today• Silverlight 3 & IIS Media Services• Silverlight 3 Tools for Visual Studio
2008• Expression Blend 3• Visual Studio 2010 Beta
![Page 29: Intro to Silverlight](https://reader035.vdocument.in/reader035/viewer/2022062323/568160af550346895dcfd157/html5/thumbnails/29.jpg)
Bueller?