Upload
apex-tgi
View
18
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Microsoft Silverlight is a deprecated application framework for writing and running rich Internet applications, similar to Adobe Flash. A plugin for Silverlight is available for some browsers, but not for Chrome due to Silverlight's use of the old and insecure NPAPI framework.
Citation preview
An Introduction To Silverlight
In this presentation
What SL is capable of
How it is different
Learning curve overview
Why use SL
Non-traditional way
What is Silverlight?
Rich Internet Application (RIA) platform
Capabilities are similar to Flash Java FX
Web-based subset of WPF
Flash vs Silverlight
Flash Silverlight
Animation model Frame-based Time-based
Language ActionScript CLR-compilant (VB.NET, C#)
Platform All major Limited Linux (Moonlight)
Multithreading No (from programmer perspective)
Yes
Flash vs Silverlight
Flash Silverlight
Image support Most formats JPG and PNG
Video, audio Multiple formats, low-level APIs
VC-1 codec, WMW, WM, no low-level APIs
Streaming More cost-effective
Other More mature Deep Zoom
Flash vs Silverlight
Features: almost identical
Development environments
Streaming
Mobile: ?
WPF
Descendant of Windows Forms
Built on .NET 3.5
XAML: descriptive markup language
WPF / Silverlight features
Vector graphics & bitmap effects
Data binding & UI update
Animations
Rich content: videos, images, sounds
Styling, templates
Silverlight: lightweight WPF
CLR within Browser
Limited CLR: Not all libraries Local filesystem limited Networking limited
XAML
Separate UI and logic
XML markup, clean syntax
XAML and code behind files
Does not support generics
XAML: a simple example
Code
UI Basics
Layout Grid, Canvas, StackPanel
Controls Button, HyperLinkButton, ComboBox etc
Text, images TextBlock, Image, MediaElement
Brushes Solid, linear, radial, image, video
User Controls
UI Basics: Example
VideoBrush Example
Use MSDN/references to look up UI elements
Styling and templating
Defining styles: TargetType Setters that are valid on the target
Templates Customize controls Uses ControlTemplate class
Easy to define in XAML
Dependency Properties
Extend CLR properties Property changed notification Data Binding Animating Default value and ClearValue
Has to inherit DependencyObject
Dependency Properties: example
Registering, default value, Property Changed
Animating
Data Binding
Attached Properties
Global property that can be set on any object element
Static Dps
Used by the owner, defined on the child
E.g. Canvas.Left, Grid.Column
MVVM
How to effectively build large applications in WPF
Lots of UI markup, lots of data binding
Variation of MVC
MVVM
Model BL, UI independent
View Visual elements + input processing
Data binding View and model can be bound directly Usually direct binding is not possible
MVVM
ViewModel Model of a View Abstraction of the view: contains state and
behaviour Data binder/converter:
Model information View information View commands Model
MVVM in Silverlight
Worth using on larger projects Frameworks
MEF Official
Prism Non-official, but MS
Summary
Similar to WPF XAML Styling & templating DPs Attached properties MVVM for larger applications
Effort learning SL
Project structure: small
UI: significant
Media: moderate
Data binding: moderate
Effort learning SL
Network: moderate
Events: moderate
Other: moderate - significant Dependency Properties, Attached Properties MVVM Navigation Framework Out of Browser applications
Why It's Worth It
Things you couldn't do before!
Good looking controls & pages
Animation
Video & vector graphics
An Introduction To SilverlightIn this presentationWhat is Silverlight?Flash vs SilverlightSlide 5Slide 6WPFWPF / Silverlight featuresSilverlight: lightweight WPFXAMLXAML: a simple exampleUI BasicsUI Basics: ExampleStyling and templatingDependency PropertiesDependency Properties: exampleAttached PropertiesMVVMSlide 19Slide 20MVVM in SilverlightSummaryEffort learning SLSlide 24Why It's Worth ItPowerPoint Presentation