Thursday, February 10, 2011

Silver Light


What is silverlight ?
Silverlight is a web based technology, launched by Microsoft in April 2007. Silverlight is considered as a competitor to Adobes Flash.

Silverlight applications are delivered to browsers in a text-based markup language called XAML. One important difference between Flash and XAML is, Flash is a compiled application where as XAML is text based. Search engines can analyze and index such content, which is a huge benefit for webmasters.

For regular internet users, Silverlight is a browser plug-in that supports video, audio and animations.

For web developers, Silverlight offers much more. Silverlight supports video and audio files without need of much programming. It allows them to handle events from web pages (like handle start/end of video playing etc) 

Difference between Silverlight 1 and Silverlight 2

Silverlight 1 is purely AJAX and Javascript based. All the code has to be written in Javascript and XAML.

Silverlight 2 supports managed code. When Silverlight 2 runtime is installed, it installs a limited version of .NET runtime on the client machine. This allows .NET programmers to write managed code to be executed on the client PC and provide a better user experience to the users. Of course, there is security and restrictions built in to it so that the code has limited access to the client computer.

Developers must be aware that if the end user decline to install the .NET runtime on their client computer, the Silverlight 2 applications will not run. 

Difference between Silverlight and WPF

            Silverlight and Windows Presentation Foundation (WPF) are 2 different products from Microsoft, but has lot of overlap. Silverlight is a sub set of WPF in terms of features and functionality.

Silverlight is a Microsoft technology, competing with Adobes Flash and is meant for developing rich browser based internet applications.

WPF is a Microsoft technology meant for developing enhanced graphics applications for desktop platform. In addition, WPF applications can be hosted on web browsers which offers rich graphics features for web applications. Web Browser Appliactions (WBA) developed on WPF technology uses XAML to host user interface for browser applications. XAML stands for eXtended Application Markup Language which is a new declarative programming model from Microsoft. XAML files are hosted as descrete files in the Web server, but are downloaded to the browsers and converted to user interface by the .NET runtime in the client browsers.

WPF runs on .NET runtime and developers can take advantage of the rich .NET Framework and WPF libraries to build really cool windows applications. WPF supports 3-D graphics, complex animations, hardware acceleration etc.


Tools required to develop Silverlight applications

            To run Silverlight applcations in a web browser, you need to have Silverlight run time installed on the client browser as a plug in. This is a light weight version of .NET runtime.

However, to develop a Silverlight application, you need something more. 

Silverlight SDK

This include a set of tools required to compile and build Silverlight controls. 

If you are comfortable writing HTML using notepad and compiling .NET applications from console tools, then you just need the Silverlight SDK to develop Silverlight applications.

However, most people use some kind of IDE to develop applications faster. 

Microsoft offers 2 separate tools to develop Silverlight applications:

1. Microsoft Expression Studio - this tool is meant for web designers to create rich visual elements for Silverlight applications. Expression Studio is recommended for web designers who create rich internet applications with enhanced visual content and graphics. There are several features provided for creating enhanced graphics elements with lot of options to pick color, font etc.

2. Microsoft Visual Studio - this is the integrated development environment from Microsoft to develop .NET applications. Programmers can use Visual Studio to develop Silverlight applications which require programming. Visual Studio allows programmers to develop sophisticated Silverlight applications in any .NET language (like C#, VB.NET etc).

If you are using Visual Studio, you can download the Silverlight development tools from here. This download include the Service pack1 for VS.NET and the Silverlight SDK.

Which tool to use - Expression Studio or Visual Studio ?

If your Silverlight application include just graphics adn visual elements, then you can use Expression Studio. However, if you are a programmer and if your Silverlight application include programming logic, then you might want to choose Visual Studio. 

Difference between Silverlight Runtime and SDK

Silverlight Runtime is a plug-in for browsers to support Silverlight enabled applications. If Silverlight runtime is not installed, browsers will not be able to run Silverlight elements in the browser. You can set up your Silverlight tags such a way that your browser will automatically prompt the user to download and install the Silverlight plug in when your application is launched in the browser. 

Installing the run time is a one time operation on the client. Once installed, it will be automatically launched when any Silverlight application is loaded in the browser.

Silverlight SDK is a set of tools, documentation, samples and templates for the web developers to help them easily develop Silverlight enabled applications. The SDK is not really mandatory to develop Silverlight applications, however, SDK will make development much easier.

Friday, May 22, 2009

Friends

Friends
are Fences
not to prohibit
But
To protect ME