Submitted by:
G.Sreekanth
[attachment=12705]
ABSTRACT
Microsoft Silverlight is a web browser plugin that provides
support for rich internet applications such as animation, vector graphics
and audio-video playback. Silverlight competes with products such as
Adobe Flash, Adobe Flex, Adobe Shockwave, JavaFX, and Apple
QuickTime. Now in beta-testing, version 2.0 brings improved
interactivity and support for .NET languages and development tools.
Silverlight was developed under the codename Windows
Presentation Foundation/Everywhere (WPF/E). It is compatible with
multiple web browser products used on Microsoft Windows and Mac
OS X operating systems. Mobile devices, starting with Windows Mobile
6 and Symbian (Series 60) phones, will also be supported. A third-party
free software implementation named Moonlight is under development to
bring compatible functionality to GNU/Linux.
Silverlight provides a retained mode graphics system, similar
to WPF and integrates multimedia, graphics, animations and
interactivity into a single runtime. It is being designed to work in concert
with XAML and is scriptable with JavaScript. XAML can be used for
marking up the vector graphics and animations. Textual content created
with Silverlight would be more searchable and indexable than that
created with Flash as it is not compiled, but represented as text (XAML).
Silverlight can also be used to create Windows Sidebar gadgets for
Windows Vista.
Silverlight supports playback of WMV, WMA and MP3
media content across all supported browsers without requiring Windows
Media Player, the Windows Media Player ActiveX control or Windows
Media browser plugins. Because Windows Media Video 9 is an
implementation of the SMPTE VC-1 standard, Silverlight also supports
VC-1 video, though still only in an ASF file format. Furthermore, the
Software license agreement says VC-1 is only licensed for the "personal
and non-commercial use of a consumer". Silverlight does not support
playback of H.264 video. Silverlight makes it possible to dynamically
load XML content that can be manipulated through a DOM interface, a
technique that is consistent with conventional Ajax techniques.
Silverlight exposes a Downloader object which can be used to download
content, like scripts, media assets or other data, as may be required by
the application. With version 2.0, the programming logic can be written
in any .NET language, including some common dynamic programming
languages like Ruby and Python.
A Silverlight application being edited in Microsoft Visual
Studio.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
versions 2.0 and 2.5 for designing the UI of Silverlight 1.0 and 2
applications respectively. Visual Studio 2008 can be used to develop and
debug Silverlight applications. To create Silverlight projects and let the
compiler target CoreCLR, Visual Studio 2008 requires the Silverlight
Tools for Visual Studio which is available as a beta release.
1. INTRODUCTION
1.1 OVERVIEW
Microsoft silverlight is a programmable web browser plug in that
enables features such as animation, vector graphics and audio-video playback that
characterize rich internet applications. Silverlight competes with products such as
Adobe Flash, Adobe Flex, Adobe Shockwave, Gears (software), and JavaFX. Version
2.0, now in beta-testing, brings improved interactivity and support for .NET
languages and development tools.
Silverlight was developed under the codename Windows Presentation
Foundation/Everywhere (WPF/E). It is compatible with multiple web browser
products used on Microsoft Windows and Mac OS X operating systems. Mobile
devices, starting with Windows Mobile 6 and Symbian (Series 60) phones, will also
be supported. A third-party free software implementation named Moonlight is under
development to bring compatible functionality to GNU/Linux.
1.2 RELEASES
Silverlight 1.0 consists of the core presentation framework, which is
responsible for UI, interactivity and user input, basic UI controls, graphics and
animation, media playback, DRM support, and DOM integration. It is made up of the
following components:
Input – handling input from devices like keyboard, mouse, stylus etc.
UI core – managing rendering of bitmap images (including compressed raster
images like JPEG), vector graphics, text and animations.
Media – playback of MP3, WMA Standard, WMV7, WMV8 and WMV9/VC-
1 streams.
XAML – to allow the UI layout to be created using XAML markup language.
Silverlight 2 (previously referred to as version 1.1)[includes a version
of the .NET Framework, implementing the same full Common Language Runtime
version as .NET Framework 3.0; so it can execute any .NET language including
VB.NET and C# code. Unlike the CLR included with .NET Framework, multiple
instances of the CoreCLR included in Silverlight can be hosted in one process.[With
this, the XAML layout markup file (.xaml file) can be augmented by code-behind
code, written in any .NET language, which contains the programming logic. It can be
used to programmatically manipulate both the Silverlight application and the HTML
page which hosts the Silverlight control. The XAML markup as well as the code, is
compiled into .NET assemblies which are then compressed using ZIP and stored in a
.xap file.
Silverlight ships with a lightweight class library which features, among
others, extensible controls, XML Web Services, networking components and LINQ
APIs. This class library is a subset of and is considerably smaller than .NET
Framework's Base Class Library. Silverlight code runs in a sandbox which prevents
invoking platform APIs.Silverlight 2 also adds support for adaptive streaming of
media files (which allows Silverlight to choose the bit rate of the media based on
available bandwidth) as well as Windows Media DRM[and PlayReady DRM in media
files.
Silverlight 2 includes Deep Zoom, a technology derived from
Microsoft Live Labs Photosynth. It allows users to zoom into or out of an image (or a
collage of images), with smooth transitions, using the mouse wheel.[The images can
scale from 2 or 3 megapixels in resolution to gig pixel range, but the user need not
wait for it to be downloaded entirely; rather Silverlight downloads only the parts in
view, optimized for the zoom level being viewed. Beta 2 onwards, Deep Zoom uses
an XML-based file format.
2. SILVERLIGHT
2.1 WHAT IS SILVERLIGHT
Silverlight is a new Web presentation technology that is created to run
on a variety of platforms. It enables the creation of rich, visually stunning and
interactive experiences that can run everywhere: within browsers and on multiple
devices and desktop operating systems (such as the Apple Macintosh). In consistency
with WPF (Windows Presentation Foundation), the presentation technology in
Microsoft .NET Framework 3.0 (the Windows programming infrastructure), XAML
(extensible Application Markup Language) is the foundation of the Silverlight
presentation capability.
Silverlight enables you to create a state-of-the-art application that has
the following features:
It is a cross-browser, cross-platform technology. It runs in all popular Web
browsers, including Microsoft Internet Explorer, Mozilla Firefox, and Apple
Safari, and on Microsoft Windows and Apple Mac OS X.
It provides a consistent experience no matter where it runs.
It is supported by a very small download that installs in seconds.
It streams video and audio. It scales video quality to everything from mobile
devices to desktop browsers to 720p HDTV video modes.
It includes compelling graphics that users can manipulate—drag, turn, and
zoom— directly in the browser.
It reads data and updates the display, but it doesn't interrupt the user by
refreshing the whole page.
fig: 2.1 Silverlight-based application with rich graphics and user interaction
Web developers and graphics designers can create Silverlight-based
applications in a variety of ways. You can use Silverlight markup to create media and
graphics, and manipulate them with dynamic languages and managed code.
Silverlight also enables you to use professional-quality tools like Visual Studio for
coding and Microsoft Expression Blend for layout and graphic design.
2.1.1 FEATURES
Silverlight combines multiple technologies into a single development
platform that enables you to select the right tools and the right programming language
for your needs. Silverlight offers you the following features:
WPF and XAML. Silverlight includes Windows Presentation Foundation
(WPF) technology, which greatly extends the elements in the browser for
creating UI. WPF lets you create immersive graphics, animation, media, and
other rich client features, extending browser-based UI beyond what is
available with HTML alone. Extensible Application Markup Language
(XAML) provides a declarative markup syntax for creating WPF elements.
Extensions to JavaScript. Silverlight provides extensions to the universal
browser scripting language that provide powerful control over the browser UI,
including the ability to work with WPF elements.
Cross-browser, cross-platform support. Silverlight runs the same on all
popular browsers (on any platform). You can design and develop your
application without having to worry about which browser or platform your
users have.
Integration with existing applications. Silverlight integrates seamlessly with
your existing JavaScript and ASP.NET AJAX code to complement
functionality you have already created.
Access to the .NET Framework programming model and to associated tools.
You can create Silverlight-based applications using dynamic languages such
as managed JScript and IronPython as well as languages such as C# and
Visual Basic. You can use development tools such as Visual Studio to create
Silverlight-based applications. for more information.
LINQ. Silverlight includes language-integrated query (LINQ), which enables
you to program data access using intuitive native syntax and strongly typed
objects in .NET Framework languages.
If you already use ASP.NET, you can integrate Silverlight with the server and client
capabilities of ASP.NET that you are familiar with. You can create server-based
resources in ASP.NET and use the AJAX capabilities of ASP.NET to interact with
server-based resources without interrupting the user
2.1.2. Running Silverlight-based Applications
Silverlight-based applications run in the browser. Silverlight makes
sure that you can run your applications in all modern browsers, without having to
create browser-specific code.
To run a Silverlight-based application, users require a small plug-in in
their browser. The plug-in is free. If users do not already have the plug-in, they are
automatically prompted to install it. The download and installation take seconds and
require no interaction from the user except permission to install.
2.1.3. Creating Silverlight-based Applications
You can create Silverlight-based applications using skills that you
already have and tools that you are already familiar with. You can create Web pages
that use both HTML and WPF elements with Silverlight. Like HTML, XAML enables
you to create UI for your Web-based application with declarative syntax, with the
difference that XAML provides significantly more powerful elements.
2.2 SILVERLIGHT AS A PART OF USER-EXPERIENCE
CONTINNUM
Now, more than ever, customers are demanding applications and
online experiences that not only meet their individual needs in terms of effectiveness
and efficiency, but also address the perception of satisfaction the user has with a
company's products or services. In most cases, the level of satisfaction will have a
network and an emotional effect, shaping perceptions of the company as a whole, and,
as an extension, the perceptions of those with whom the individual comes into touch.
Microsoft acknowledges this connection and has a made a renewed commitment to
user experience (UX) as a part of the end-to-end experience. UX is more than a pretty
UI; it is the aggregation of the interaction point of a user with an application. Our
mission is thus to enable a great user experience wherever the customer needs that: on
the Web, on devices, in Office, and in Windows.
Two recent examples of Microsoft's own investment in UX are
Microsoft Windows Vista and Microsoft Office 2007. By focusing on the end-user
experience first, subtle and somewhat radical changes were made to both products in
order to address productivity and satisfaction.
Windows Vista introduces easier ways to visualize and organize your files,
media, and communications. In every case of the UI, a focus on user-centric
task accomplishment and experience was put first. Other examples of focusing
on UX include the new task switcher (Alt+Tab) and Wi-Fi signal notification.
Microsoft Office 2007 has introduced the new "Ribbon" concept to replace
traditional toolbars. A natural extension, the ribbon reduces time to find any
given feature in an Office application to about 10 seconds.
Fig 2.2 Microsoft UX continuum
From a platform perspective, Microsoft introduces a consistent
offering that uses common skills to address the different application-interaction
surfaces, as indicated in Figure 1.
ASP.NET AJAX offers the benefits of standard Microsoft support (aroundthe-
clock support for a period of 10 years) for AJAX-enabled applications
built around Web standards. It allows standard Web applications to be more
effective by improving the interaction parameters of the application (such as
refresh, resource usage, and navigation).
ASP.NET AJAX and Silverlight are designed to be complementary
technologies. In the broader sense, Silverlight can interact with any AJAX
application, both client- and server-side. Examples for such integration include
mapping applications, video playback with rich presentation, and more.
For connected applications on Windows, Microsoft provides the .NET
Framework 3.0 programming layer (shipped in Windows Vista and available for Windows XP) that includes the Windows Presentation Foundation (WPF).
By using WPF, one can create rich, immersive, connected applications and
experiences that can take full advantage of the Windows platform, including
UI, media, offline communication, and document support. WPF uses a
superset of the same XAML that is used by Silverlight.