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
How Silverlight would change the Web:
- 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.
- 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!.
- 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.
- 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.
- 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!
- 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.
- The best development environment on the planet : Visual Studio is an award winning development platform! As it continues to constantly evolve, so will Silverlight!
- 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!
- 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.
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
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/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
- Hosting the Silverlight in any HTML Page using <object> tag
- Hosting in an ASPX Page using a Silverlight Control
- 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
- 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/
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.
ReplyDeleteA great post on About Microsoft Silverlight. Keep sharing such post with us.
ReplyDeleteRestaurant pos software India
Restaurant billing software
billing software for restaurant
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