About Microsoft Silverlight

Microsoft Silverlight is an application framework for writing and running rich Internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under Microsoft Windows and Mac OS X. While early versions of Silverlight focused on streaming media, current versions support multimedia, graphics and animation, and give developers support for CLI languages and development tools. Silverlight is also one of the two application development platforms for Windows Phone.

  Figure 1 XAML is the core of a Silverlight application.

Silverlight is a powerful development tool for creating engaging, interactive user experiences for Web and mobile applications. Silverlight is a free plug-in, powered by the .NET framework and compatible with multiple browsers, devices and operating systems, bringing a new level of interactivity wherever the Web works.

Silverlight is a new cross-browser, cross-platform implementation of the .NET Framework for building and delivering the next generation of media experiences and Rich Interactive Applications(RIA) for the web. It runs in all popular browsers, including Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, Opera. The plugin required to run Silverlight is very small in size hence gets installed very quickly.

It is combination of different technolgoies into a single development platform that allows you to select tools and the programming language you want to use. Silverlight integrates seamlessly with your existing Javascript and ASP.NET AJAX code to complement functionality which you have already created. Silverlight aims to compete with Adobe Flash and the presentation components of Ajax. It also competes with Sun Microsystems' JavaFX, which was launched a few days after Silverlight.

Silverlight Plug-in

Silverlight is a Plug-in for a web browser. A Plug-in is an extension of an application created to enhance or extend functionality. Examples of other web browser plug-ins are Flash, Java applets, Windows Media Player, and QuickTime. To run a Silverlight application in a browser, users have to download and install the Silverlight plug-in first.

The Silverlight Plug-in is the complete environment where the Silverlight applications run. The Plug-in contains the XAML Parser, Media Pipeline, Presentation Engine, and a .NET programming layer that uses the embedded Common Language Runtime (CLR). The Plug-in also provides a way for Silverlight applications to communicate with the Browser. Figure 11.2 shows the components of Silverlight Plug-in.
The Silverlight Plug-in consists of the following sub components and features:
  • The Presentation Engine with Multi Core support
    • Drawing Vector graphics and Shapes
    • PNG/JPG decoders
    • Image Cache, Text and Glyph cache
    • Animation System
    • 3D rendering engine
  • The XAML Parser
  • Subset of the .NET Framework
    • Core Common Language Runtime (CLR)
    • The .NET base class libraries
  • Media features
    • Media Pipeline
    • Download and streaming
    • Audio/video decoders
  • Browser Interaction
    • HTML Bridge
    • Mouse and Keyboard Input and Events
    • Ink Support
  • The Downloader
The Silverlight Plug-in resides in the browser and is activated when you navigate to a web page that has the embedded code for Silverlight Application.

How Silverlight would change the Web:

  1. Highest Quality Video Experience : prepare to see some of the best quality videos you have seen in your life, all embedded in highly graphical websites. The same research and technology that was used for VC-1, the codec that powers BluRay and HD DVD, is used by Microsoft today with its streaming media technologies.
  2. Cross-Platform, Cross-Browser : Finally build web applications that work on any browser, and on any operating system. At release, Silverlight will work with Mac as well as Windows!  The Mono project has also already promised support for Linux!.
  3. Developers and Graphic Designers can play together! : Developers familiar with Visual Studio, Microsoft.net will be able to develop amazing Silverlight applications very quickly, and they will work on Mac's and Windows. Developers will finally be able to strictly focus on the back end of the application core, while leaving the visuals to the Graphic Design team using the power of XAML.
  4. Cheaper : Silverlight is now the most inexpensive way to stream video files over the internet at the best quality possible. Licensing is dead simple, all you need is IIS in Windows Server, and you’re done.
  5. Support for 3rd Party Languages : Using the power of the new Dynamic Language Runtime, developers will now be able to use Ruby, Python, and EcmaScript! This means a Ruby developer can develop Silverlight applications, and leverage the .net Framework!
  6. Cross-Platform, Cross-Browser Remote Debugging : If you are in the need to debug an application running on a Mac, no problem! You can now set breakpoints, step into/over code, have immediate windows, and all that other good stuff that Visual Studio provides.
  7. The best development environment on the planet : Visual Studio is an award winning development platform! As it continues to constantly evolve, so will Silverlight!
  8. Silverlight offers copy protection : Have you noticed how easy it is to download YouTube videos to your computer, and save them for later viewing ? Silverlight will finally have the features enabling content providers complete control over their rich media content! Streaming television, new indie broadcast stations, all will now be possible!
  9. Extreme Speed :There is a dramatic improvement in speed for AJAX-enabled websites that begin to use Silverlight, leveraging the Microsoft .net framework.
 Silverlight provides a retained mode graphics system similar to Windows Presentation Foundation (WPF), and integrates multimedia, graphics, animations and interactivity into a single runtime environment. In Silverlight applications, user interfaces are declared in Extensible Application Markup Language (XAML) and programmed using a subset of the .NET Framework. XAML can be used for marking up the vector graphics and animations. Silverlight can also be used to create Windows Sidebar gadgets for Windows Vista.

Silverlight applications can be written in any .NET programming language. As such, any development tools which can be used with .NET languages can work with Silverlight, provided they can target the Silverlight CoreCLR for hosting the application, instead of the .NET Framework CLR. Microsoft has positioned Microsoft Expression Blend as a companion tool to Visual Studio for the design of Silverlight User Interface applications. Visual Studio can be used to develop and debug Silverlight applications. To create Silverlight projects and let the compiler target CoreCLR, Visual Studio requires the Silverlight Tools for Visual Studio.

A Silverlight control is a ZIP format file with extension .XAP containing a list of one or more .NET managed assemblies (.DLL files) along with the AppManifest.XAML file containing this list along with the entry point (class and assembly). It can be hosted in any HTML file using an object tag, for example: <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"><param name="source" value="MySilverLightControl.xap"/></object>

A Silverlight project contains the Silverlight.js and CreateSilverlight.js files which initializes the Silverlight plug-in for use in HTML pages, a XAML file for the UI, and code-behind files for the application code. Silverlight applications are debugged in a manner similar to ASP.NET applications. Visual Studio's CLR Remote Cross Platform Debugging feature can be used to debug Silverlight applications running on a different platform as well.

Microsoft Silverlight History :
  • Silverlight 1 - Silverlight 1, developed under the codename Windows Presentation Foundation/Everywhere (WPF/E) was released in 2007. It consisted of the core presentation framework, which is responsible for the user interface (UI), interactivity and user input, basic UI controls, graphics and animation, media playback, Digital rights management (DRM), and DOM integration.
  • Silverlight 2 - Included a version of the .NET Framework, implemented the same full Common Language Runtime (CLR) version as .NET Framework 3.0; so it can execute programs written in any .NET language.
  • Silverlight 3 - Silverlight 3 was announced on September 12, 2008, and unveiled at MIX09 in Las Vegas on March 18, 2009. A beta version was made available for download the same day. The final version was released July 9, 2009. Silverlight 3 included more controls—including but not limited to DataGrid, TreeView, various layout panels, DataForm for forms-driven applications and DataPager for viewing paginated data.
  • Silverlight 4 - On November 18, 2009, at the Professional Developers Conference in Los Angeles, Microsoft Corporation unveiled a Beta version of Silverlight 4. The final version was released on April 15, 2010 (along with Silverlight 4 tools for developers). New features in Silverlight 4 include: Support for Google's Chrome browser; Web cam and microphone; Printing; More mouse support; New notification support to send messages to users; New and enhanced controls (e.g., RichTextBox, DataGrid); Theming of controls; rendering HTML; better localization, and others.
  • Silverlight 5 - The final release is available for download on December 9, 2011. New features include: GPU accelerated video decoding, 3D graphics, playback speed controls, remote control and 64-bit support.
Top Silverlight Features :

IIS Smooth Streaming

IIS Smooth Streaming, an IIS7 Media Services 3.0 extension, enables adaptive streaming of live and on-demand media via standard HTTP protocols, and provides a high-quality viewing experience that scales on massive content-distribution networks, bringing a fantastic visual experience to any viewer regardless of their connection and computer capabilities.
Launch Demo : http://www.microsoft.com/silverlight/iis-smooth-streaming/demo/

PivotViewer

PivotViewer makes it easier to interact with massive amounts of data on the web in ways that are powerful, informative, and fun. By visualizing thousands of related items at once, users can see trends and patterns that would be hidden when looking at one item at a time.
Because PivotViewer leverages Deep Zoom, it displays full, high-resolution content without long load times, while the animations and natural transitions provide context and prevent users from feeling overwhelmed by large quantities of information. This simple, inviting interaction model encourages exploration and longer audience engagement times, and applies broadly to a variety of content types. The Silverlight PivotViewer control is available now and can be accessed by developers and designers to begin creating collections and deploying solutions.
Technical docs : http://www.silverlight.net/learn/data-networking/pivot-viewer/pivotviewer-control

Sketch Flow

SketchFlow, part of Expression Studio Ultimate, revolutionizes the speed and efficiency with which you can demonstrate a vision for an application. SketchFlow provides an informal and quick way to explore, iterate and prototype user interface scenarios allowing you to evolve your concepts from a series of rough ideas into a living breathing prototype that can be made as real as a particular client or project demands.
Launch Demo : http://www.iis.net/media/experiencesmoothstreaming

Deep Zoom
Silverlight Deep Zoom is the fastest, smoothest, zooming technology on the Web, bringing the highest resolution images and frame rates with the lowest load times to users. Deep Zoom also enables the display of thousands of items simultaneously, giving designers and developers new opportunities to create innovative navigation paradigms for both applications and the Web.
By optimizing the way images are stored and intelligently downloading only the pieces of information needed to fill the screen, Deep Zoom removes technical barriers and enables the delivery of engaging customer and content-centric experiences.
Technical docs: http://msdn.microsoft.com/en-us/library/cc645050%28VS.95%29.aspx

Pixel Shader Effects


These software based effects include blur and drop shadow that can be applied to any graphical content and animated. You can also write your own effect.
Launch Demo: http://www.microsoft.com/silverlight/pixel-shader/demo/

New Controls

Silverlight is packed with over 60 high-quality, fully skinnable and customizable out-of-the-box controls such as charting and media, new layout containers such as dock and viewbox, and controls such as autocomplete, treeview and datagrid. The controls come with nine professional designed themes and the source code can be modified/recompiled or utilized as-is. Other additions include multiple selection in listbox controls, file save dialog making it easier to write files, and support for multiple page applications with navigation.
Launch Demo : http://www.microsoft.com/silverlight/new-controls/demo/

Media Format Extensibility

With the new Raw AV pipeline, Silverlight can easily support a wide variety of third-party codecs. Audio and video can be decoded outside the runtime and rendered in Silverlight, extending format support beyond the native codecs.
Launch Demo : http://www.microsoft.com/silverlight/extensible-media/demo/

Perspective 3D Graphics

Silverlight 3 allows developers and designers to apply content to a 3D plane. Users can rotate or scale live content in space without writing any additional code. Other effects include creating a queue in 3D and transitions.
Launch Demo : http://www.microsoft.com/silverlight/perspective-3d-graphics/demo/

Skinning and Styling


Silverlight makes it easy to create graphics and then use them to customize controls, such as the look of a scrollbar. Silverlight provides XAML based templates for each control that allow designers to reach inside the control and change the layout or look of each part of the control without rewriting any code. For example, a scrollbar is made up of a layout container and a set of parts such as the up and down button and draggable thumb. Parts can be rearranged and their appearance changed to fully customize the control. In addition, controls can be themed by applying a style. For instance you can offer a range of different colors or font sizes.
Launch Demo: http://www.microsoft.com/silverlight/skinning-and-styling/demo/

Silverlight Host

Microsoft Visual Studio and Expression Blend both allow you to create Silverlight applications. These applications essentially create a XAML Application file (.XAP) file, referenced by a link in an object tag.
There are three ways you can host a Silverlight Application File in a web page
  1. Hosting the Silverlight in any HTML Page using <object> tag
  2. Hosting in an ASPX Page using a Silverlight Control
  3. Hosting in an ASPX Page using a MediaPlayer Control
Using an <object> Tag is similar to embedding any ActiveX control like a Media Player or a Flash file. Here is a sample code which embeds a Silverlight Object that link to a HelloWorld.xap.
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2">
</object>
Visual Studio allows creating web projects that uses Silverlight User Controls in a webform. This user control is eventually converted into an object tag as shown in the earlier example. Silverlight also allows using Media control inside a web form (ASPX).
Silverlight Controls can also be embedded into an existing or new Web application by dragging the user control from the Tool Box to the web page.

Silverlight Application File (.XAP)

A Silverlight Application file is a single compressed .ZIP file whose extension is changed to .XAP (XAML Application). It consists of a number of XAML files, .NET assemblies, and other resources. When you build a Silverlight application, Visual Studio compresses all relevant files into this single file.
The .XAP file is referenced inside the Silverlight Object tag in HTML and is loaded, parsed and executed by the Silverlight Plug-in. The .XAP file contains the actual logic and the interface of the Silverlight application. See the instruction for “Hello World” application at the end of the chapter to follow along as we develop the application.
Notice there are four files- App.xaml, App.xaml.cs, MainPage.xaml, and MainPage.xaml.cs. These are automatically created by Visual Studio. App.xaml and .cs files are used for application level properties and events. MainPage.xaml and .cs file are the files which contain the first visual of the application. Note the InitializeComponent method in the .cs files. This method combines the XAML file with the code.
To better understand the code interaction, we will open the HelloWorld Folder as a website inside Visual Studio. This will show us the hidden folders and files which are not shown in a Silverlight application.
In the Solution Explorer click on the HelloWorld Solution and click on add existing website and select the HelloWorld Folder and click ok. See figure 11.5 for an updated explorer view. In the Website view you will find two new folders:
  • Obj folder, used for intermediate processing
  • Bin folder, which stores the binaries after the project is compiled
The Obj/Debug Folder store objects and intermediate files before they are linked together:
  • Page.g.cs and App.g.cs are the intermediate files corresponding to each xaml file. The “g” stands for generated. Each XAML file is converted into this partial class file. This file declare the initialize component method, and loads the corresponding xaml file as components.
  • HelloWorld.g.resources file is the compressed binary form for all the xaml files which is also sometimes called BAML files
  • The HelloWorld.dll, the assembly created by Visual Studio, is also copied to the BIN folder before compressing into the .XAP
  • XAPCacheFile is the intermediate file for the Assembly Manifest
  • HelloWorld.PDP is the projects related file that contains debugging and project state information
  • FilelistAbsolute.txt, as the name suggest stores the absolute path of the files used before compiling them inside the dynamic link library
The Bin/Debug is the folder where the compiled files are stored. The files created as a result of the build process are:
  • HelloWorld.XAP: File is the final compressed Silverlight application file which contains the HelloWorld.dll as well as the AppManifest.XAML. You can see this by changing the extension to .zip and opening it.
  • TestPage.html: Host file which embeds the HelloWorld.XAP file
  • The HelloWorld.dll: Assembly created by Visual Studio that contains the XAML files, required .NET assemblies, and other embedded resources related to the application.
  • AppManifest.xaml: Application manifest file which stores the Entry Point of the applica- tion, describes the names and source of assemblies that the application should bind to at the run time, and also contains metadata for assemblies used by the application.
To deploy your Silverlight application, you upload the TestPage.html and HelloWorld.XAP file to a web server. The HelloWorld.XAP file has all the needed files. HelloWorld Application has the fol- lowing files in the .XAP:
  • AppManifest.xaml
  • HelloWorld.dll
A sophisticated Silverlight Application file will have other .NET assemblies, xaml files and other resources like images, and media files. When the Silverlight Plug-in loads a HelloWorld.zap file in a web browser, it reads the AppManifest file first to find out the entry point.
The entry point is the name of the dll which needs to be loaded first and is entered in the field Entry- PointAssembly. In AppManifest.XAML, the value is HelloWorld. The manifest file will also have references to other required assemblies as AssemblyPart to be loaded by the application at run time.

Reference Sites :
http://silverlightfun.com/?page_id=105
http://www.microsoft.com/silverlight/what-is-silverlight/

3 comments:

  1. Silverlight provides XAML based templates for each control that allow designers to reach inside the control and change the layout or look of each part of the control without rewriting any code. Buy Epsom Ink Online used for all types of hp printers.

    ReplyDelete
  2. Thank you for the information. besides if you need a service with your laptop or desktop then Itfux is here to help you. Take their laptop reparatur service today and enjoy the discount form the first service.

    ReplyDelete