microsoft silverlight – introduction to its properties
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.TRANSCRIPT
-
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