Download - Microsoft (Silverlight)
Microsoft
Silverlight
Agenda• What is Silverlight ?• Features• What’s new in C# 3.0• Controls and Containers• Third Party Tools• Hello World
What is Silverlight?• Browser Plugin
• Earlier known as WPF/E (Windows Presentation Foundation / Everywhere)
• Cross-browser, cross-platform, cross-device implementation of the .NET Framework.
• < 10 sec download
• Provides animations, vector graphics, audio-video playback
Cross Browser• Works on all major browsers
Cross Platform• Works on Windows, Linux and Mac OS X
Cross Device• Coming to Nokia and Windows Mobile phones
How to Install ?
1. Install Visual Studio 2008.2. Install Visual Studio Service Pack 1.3. Install Silverlight Tools for Visual Studio.
(Optional) Install Expression Blend for designing XAML.
Supported Languages• Silverlight 1.0– Javascript
• Silverlight 2.0–C#–VB.NET–Dynamic Lanaguages Supported• Microsoft JScript• IronPython• IronRuby
Advantages• Single, consistent runtime for browser-based applications.
• Performance is promising. (Prime Number Calculator)
• There is an official open source implementation of Silverlight (Moonlight)
• Search engines can potentially index text within a Silverlight application, just as they can with Flash.
• Silverlight interprets XAML directly (Flex doesn’t)
Disadvantages• The design tools (Expression Blend and Expression Design) are
comparatively new.
• Silverlight supports SOAP web services, or REST but doesn’t have an optimized binary protocol like Adobe’s ActionScript Message Format (AMF), which likely means slower performance in some scenarios.
• Silverlight is a browser-only solution (Adobe has AIR).
• Development on Windows platform only.
• Yet to penetrate market.
Architecture
New Features in C# 3.0
New Features in C# 3.0• Implicit Type Variables
var i = 1;
When the compiler sees this in the code, it tries to figure out the type of the variable based on the value you assigned it.
• Object Initializer
Human h = new Human {Name = “Fahim”, Age = 23};
Lambda Expressions
• A lambda expression is an anonymous function that can contain expressions and statements.
• Example x => x > 3
An Anonymous function that takes x (int) as an input and returns whether x is greater than 3 or not ( true or false).
Lambda Expression (Cont)
• Func<int,bool> myFunction = x => x > 3;Console.WriteLine (myFunction ( 4 ) );True
• Func<int,int,bool> myFunction = ( x ,y ) => x < y; Console.WriteLine( myFunction ( 4 , 3 ) );False
Attached Property
• An attached property is intended to be used as a type of global property that is settable on any object.
• Example<DockPanel>
<CheckBox DockPanel.Dock="Top">Hello</CheckBox></DockPanel>
Extension Methods
• Special Kind of Static Methods
• Enable you to add methods to instances of existing types without creating a new derived type, recompiling, or modifying the original type.
Extension Methodsclass Program{ static void Main(string[] args) { string name = "folio3"; Console.WriteLine(name.Decorate()); } }
public static class StringExtension { public static string Decorate(this string str) { return "**** " + str + " ****"; } }
LINQ
LINQ is a series of language extensions that supports data querying in a type-safe way
LINQ Language INtegrated Query
• The most common extension methods are the LINQ standard query operators.
• Results from a LINQ query are as IEnumerable<T> • Evaluation does not occur until you iterate the
results.• Some extension methods (e.g Count) iterate the
results.• Delayed evaluation means latest is always evaluated.
Re-evaluated if iterated again.• Use ToArray or ToList to get a “snapshot”
Delayed Evaluation
XAML
• XAML or eXtensible Application Markup Language is a general purpose declarative language to create the tree of .net objects.
• Like XHTML and MXML.
XAML Example<Grid> <Button x:Name="buttonClick" Click="buttonClick_Click" Content="Click Here"
Width="100" Height="100" /> <Label Content="Click the button" /></Grid>
Layout Manager Controls• Canvas • StackPanel• Grid• Border
Richer User Interfaces
• Calendar• TextBox (w/
Watermark)• Sliders• Buttons• Lists• Lots more!
XAP File• Really a zip file in disguise
• Contains any content marked to be included in download and built in assemblies.
• .XAP file is what is downloaded to client machine
App.Xaml• Contains Application Resources• Entry point for the application• This where you set your start page for the
application• Handles following events–Application Startup–Application Exit–Application Unhandled Exception
Job Trends
Third Party Tools
Visifirehttp://www.visifire.com/
Component Onehttp://www.componentone.com/
Useful Links
• Official Website http://www.silverlight.net
• Useful Article• http://fahimilyas.blogspot.com/2008/05/road
-to-silverlight-part-1.html
• Silverlight Articles http://www.silverlightarticles.com
Demo Collected ByVinayak Nandikal