Microsoft Silverlight
Encyclopedia
Microsoft Silverlight is an application framework
for writing and running rich Internet application
s, with features and purposes similar to those of Adobe Flash
. The run-time environment
for Silverlight is available as a plug-in for web browser
s 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 7
.
Over the course of four years Microsoft has released four versions: The first version was released in 2007; the last version, was released in April 2010; a fifth version is scheduled for release in the second half of 2011. It is compatible with multiple web browsers used on Microsoft Windows
and Mac OS X
operating system
s. Mobile devices, starting with Windows Phone 7
and Symbian
(Series 60) phones, were expected to be supported in 2010.
A free software
implementation named Moonlight
, developed by Novell
in cooperation with Microsoft, is available to bring Silverlight versions 1 and 2 functionality to Linux
, FreeBSD
and other open source platforms - although some Linux distributions do not include it, citing redistribution and patent
concerns.
graphics system similar to Windows Presentation Foundation
(WPF), and integrates multimedia
, graphics
, animation
s 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 supports H.264 video, Advanced Audio Coding
, Windows Media Video
(WMV), Windows Media Audio
(WMA) and MPEG Layer III (MP3) media content across all supported browsers without requiring Windows Media Player
, the Windows Media Player
ActiveX
control or Windows Media
browser plug-ins. Because Windows Media Video 9
is an implementation of the Society of Motion Picture and Television Engineers
(SMPTE) VC-1
standard, Silverlight also supports VC-1 video. According to the end user license agreement VC-1 and H.264 are only licensed for the "personal and non-commercial use of a consumer". Silverlight, since version 3, supports the playback of H.264 video. Silverlight makes it possible to dynamically load Extensible Markup Language
(XML) content that can be manipulated through a Document Object Model
(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, the programming logic can be written in any .NET language, including some derivatives of common dynamic programming language
s like IronRuby
and IronPython
.
, 0.3% sites are using Silverlight, whereas site usage of Adobe Flash is around 27%. Usage of Java on sites during the same time period is around 4%.
} || || || ||
|-
!style="height:4em;text-align:right"|Mac OS 10.4/10.5 Intel
| || || || || || || ||
|}
and is based on Silverlight 4. For previous versions of Windows Mobile, the first Community Technology Preview (CTP) for Windows Mobile 6 was expected in the second quarter of 2008, but it still not officially announced. Microsoft has stopped focusing on bringing Silverlight to Windows Mobile 6.x. Nokia
has announced plans to make Silverlight for Mobile available for S60
on Symbian OS, as well as for Series 40 devices and Nokia internet tablets. Silverlight for Mobile supports Silverlight 2 content and .NET languages. Silverlight for Windows Phone 7.1 is based on Silverlight 4.
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:
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.
In conjunction with the release of Silverlight 2, Eclipse
was added as a development tool option.
report suggested that Microsoft intended to release certain parts of Silverlight source code as open source
software, but a week later Sam Ramji, director of platform technology strategy at Microsoft, contradicted the rumors by confirming that the company had no plans to open Silverlight. Some controls that ship with Silverlight are available under the Microsoft Public License as a part of a separate project known as the Silverlight Toolkit.
Silverlight's proprietary
nature is a concern to competition since it may harm the open nature of the World Wide Web
. Advocates of free software
are also concerned Silverlight could be another example of Microsoft's embrace, extend and extinguish
strategy. Both Microsoft Silverlight and Adobe Flash are proprietary. Flash's file formats are publicly documented standards, as are Silverlight's. However, the communication between a Flash player and a server is done by the proprietary protocol RTMP
. Both Flash and Silverlight use patent-encumbered
audio and video codec
s.
team is currently developing Moonlight
, a free
and open-source
implementation of both the Silverlight 1 and 2 runtime
s.
The project is officially supported by Microsoft
who, under an agreement with Novell
, has made additional specifications, access to the Silverlight Base Class Library
APIs, binary codecs and test cases available to the Mono team, none of which are available to other members of the public.
The "covenant" under which Novell has been granted this exclusive access also specifies conditions that are incompatible with the licensing
that covers most other free and open source software
. As examples, it specifically requires that the software must have been "obtained directly from Novell or through an Intermediate Recipient" and that it must be "not licensed under GPLv3 or a Similar License". Some free software proponents have criticized the covenant.
Silverlight has received criticism for not living up to its cross-platform operating system
compatibility promises, especially on Linux systems compared to its extensive support on Apple and Microsoft desktops for Internet Explorer, Firefox, and Chrome. Even though Microsoft is officially collaborating on the Moonlight project, Bruce Chizen
, who was CEO of Adobe Systems
at the time, which sells the competing proprietary Flash platform, questioned "the commitment of Microsoft to keep the Silverlight platform compatible with other OS besides Windows
". His concerns are based on "examples from history" where, he argues, Microsoft has launched products with promises of ongoing cross-platform compatibility that no longer apply, for example Internet Explorer for UNIX
and Windows Media Player for Mac.
settlement for another five years, citing "a number of concerns, including the fear that Microsoft could use the next version of Windows to 'tilt the playing field' toward Silverlight, its new Adobe Flash
competitor," says a Seattle Post-Intelligencer
article. The final judgment on the motion extended the settlement two years, to November 2009, but for reasons unrelated to Silverlight. In Windows 7 the Silverlight web browser plug-in is not installed automatically, but is a downloadable optional update through Windows Update.
Microsoft has been criticized for not using the Scalable Vector Graphics
(SVG) standard for Silverlight, which, according to Ryan Paul of Ars Technica
, is consistent with Microsoft's way of ignoring open standards in other products, as well. However, according to David Betz, a .NET specialist and Microsoft Most Valuable Professional (MVP), while it "seems to some to be a valid criticism and a good point to some of the web standards world, it is absolutely groundless and carries no weight." Microsoft would have had to alter the SVG specification in order to integrate it with .NET. Consequently, he thinks the "choice by Microsoft
to use XAML over SVG, served to retain the SVG standard by not adding proprietary technology [to SVG]"..
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
for writing and running rich Internet application
Rich Internet application
A Rich Internet Application is a Web application that has many of the characteristics of desktop application software, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, extensive use of JavaScript, or virtual machines...
s, with features and purposes similar to those of Adobe Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
. The run-time environment
Run-time system
A run-time system is a software component designed to support the execution of computer programs written in some computer language...
for Silverlight is available as a plug-in for web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s running under Microsoft Windows and Mac OS X. While early versions of Silverlight focused on streaming media
Streaming media
Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a streaming provider.The term "presented" is used in this article in a general sense that includes audio or video playback. The name refers to the delivery method of the medium rather...
, current versions support multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
, graphics
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
and animation
Animation
Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...
, and give developers support for CLI languages and development tools
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
. Silverlight is also one of the two application development platforms for Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
.
Over the course of four years Microsoft has released four versions: The first version was released in 2007; the last version, was released in April 2010; a fifth version is scheduled for release in the second half of 2011. It is compatible with multiple web browsers used on Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s. Mobile devices, starting with Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
and Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...
(Series 60) phones, were expected to be supported in 2010.
A free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
implementation named Moonlight
Moonlight (runtime)
Moonlight is a free and open source implementation of Microsoft's Silverlight for Linux and other Unix based operating systems, developed by the Mono Project...
, developed by Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...
in cooperation with Microsoft, is available to bring Silverlight versions 1 and 2 functionality to Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
and other open source platforms - although some Linux distributions do not include it, citing redistribution and patent
Software patent
Software patent does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realised by means of a computer program".In 2005, the European Patent Office...
concerns.
Overview
Silverlight provides a retained modeRetained mode
In computing, retained mode rendering is a style for application programming interfaces of graphics libraries, in which the libraries retain a complete model of the objects to be rendered.-Overview:...
graphics system similar to Windows Presentation Foundation
Windows Presentation Foundation
Developed by Microsoft, the Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI...
(WPF), and integrates multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...
, graphics
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
, animation
Animation
Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...
s and interactivity
Interactivity
In the fields of information science, communication, and industrial design, there is debate over the meaning of interactivity. In the "contingency view" of interactivity, there are three levels:...
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
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
. XAML can be used for marking up the vector graphics
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...
and animations. Silverlight can also be used to create Windows Sidebar gadgets
Microsoft Gadgets
Microsoft Gadgets are lightweight single-purpose applications, or software widgets, that can sit on a Microsoft Windows user's computer desktop, or are hosted on a web page...
for Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
.
Silverlight supports H.264 video, Advanced Audio Coding
Advanced Audio Coding
Advanced Audio Coding is a standardized, lossy compression and encoding scheme for digital audio. Designed to be the successor of the MP3 format, AAC generally achieves better sound quality than MP3 at similar bit rates....
, Windows Media Video
Windows Media Video
'Windows Media Video is a video compression format for several proprietary codecs developed by Microsoft. The original video format, known as WMV, was originally designed for Internet streaming applications, as a competitor to RealVideo. The other formats, such as WMV Screen and WMV Image, cater...
(WMV), Windows Media Audio
Windows Media Audio
Windows Media Audio is an audio data compression technology developed by Microsoft. The name can be used to refer to its audio file format or its audio codecs. It is a proprietary technology that forms part of the Windows Media framework. WMA consists of four distinct codecs...
(WMA) and MPEG Layer III (MP3) media content across all supported browsers without requiring Windows Media Player
Windows Media Player
Windows Media Player is a media player and media library application developed by Microsoft that is used for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on Pocket PC and Windows Mobile-based devices...
, the Windows Media Player
Windows Media Player
Windows Media Player is a media player and media library application developed by Microsoft that is used for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on Pocket PC and Windows Mobile-based devices...
ActiveX
ActiveX
ActiveX is a framework for defining reusable software components in a programming language-independent way. Software applications can then be composed from one or more of these components in order to provide their functionality....
control or Windows Media
Windows Media
Windows Media is a multimedia framework for media creation and distribution for Microsoft Windows. It consists of a software development kit with several application programming interfaces and a number of prebuilt technologies, and is the replacement of NetShow technologies.The Windows Media SDK...
browser plug-ins. Because Windows Media Video 9
Windows Media Video
'Windows Media Video is a video compression format for several proprietary codecs developed by Microsoft. The original video format, known as WMV, was originally designed for Internet streaming applications, as a competitor to RealVideo. The other formats, such as WMV Screen and WMV Image, cater...
is an implementation of the Society of Motion Picture and Television Engineers
Society of Motion Picture and Television Engineers
The Society of Motion Picture and Television Engineers The Society of Motion Picture and Television Engineers The Society of Motion Picture and Television Engineers (SMPTE , founded in 1916 as the Society of Motion Picture Engineers or SMPE, is an international professional association, based in...
(SMPTE) VC-1
VC-1
VC-1 is the informal name of the SMPTE 421M video codec standard, which was initially developed as a proprietary video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006...
standard, Silverlight also supports VC-1 video. According to the end user license agreement VC-1 and H.264 are only licensed for the "personal and non-commercial use of a consumer". Silverlight, since version 3, supports the playback of H.264 video. Silverlight makes it possible to dynamically load Extensible Markup Language
Extensible Markup Language
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
(XML) content that can be manipulated through a Document Object Model
Document Object Model
The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...
(DOM) interface, a technique that is consistent with conventional Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
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, the programming logic can be written in any .NET language, including some derivatives of common dynamic programming language
Dynamic programming language
Dynamic programming language is a term used broadly in computer science to describe a class of high-level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all...
s like IronRuby
IronRuby
IronRuby is an implementation of the Ruby programming language targeting Microsoft .NET framework. It is implemented on top of the Dynamic Language Runtime , a library running on top of the Common Language Infrastructure that provides dynamic typing and dynamic method dispatch, among other things,...
and IronPython
IronPython
IronPython is an implementation of the Python programming language targeting the .NET Framework and Mono. Jim Hugunin created the project and actively contributed to it up until Version 1.0 which was released on September 5, 2006. Thereafter, it was maintained by a small team at Microsoft until...
.
Adoption
According to statowl.com, Microsoft Silverlight has a penetration of 64.16% on May 2011. Usage on July 2010 was 53.54%, whereas Adobe Flash is installed on 95.26% of browsers, and Java support is available on 76.51% of browsers (May 2011); these statistics makes Adobe Flash the market leader in terms of penetration., 0.3% sites are using Silverlight, whereas site usage of Adobe Flash is around 27%. Usage of Java on sites during the same time period is around 4%.
Desktop computers
The following table presents an availability and compatibility matrix of Silverlight versions for various operating systems and web browsers.OS/browser | Internet Explorer 6 Internet Explorer 6 Internet Explorer 6 is the sixth major revision of Internet Explorer, a web browser developed by Microsoft for Windows operating systems... SP1 or later |
Internet Explorer 7 Internet Explorer 7 Windows Internet Explorer 7 is a web browser released by Microsoft in October 2006. Internet Explorer 7 is part of a long line of versions of Internet Explorer and was the first major update to the browser in more than 5 years... |
Internet Explorer 8 Internet Explorer 8 Windows Internet Explorer 8 is a web browser developed by Microsoft in the Internet Explorer browser series. The browser was released on March 19, 2009 for Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7. Both 32-bit and 64-bit builds are available... or later |
Mozilla Firefox 3 Mozilla Firefox 3 Mozilla Firefox 3.0 is a version of the Firefox web browser released on June 17, 2008 by the Mozilla Corporation.Firefox 3.0 uses version 1.9 of the Gecko layout engine for displaying web pages. This version fixes many bugs, improves standard compliance, and implements many new web APIs compared to... or later |
SeaMonkey SeaMonkey SeaMonkey is a free and open source cross-platform Internet suite. It is the continuation of the former Mozilla Application Suite, based on the same source code... |
Safari Safari (web browser) Safari is a web browser developed by Apple Inc. and included with the Mac OS X and iOS operating systems. First released as a public beta on January 7, 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Safari is also the... |
Opera Opera (web browser) Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,... |
Google Chrome Google Chrome Google Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or... |
---|---|---|---|---|---|---|---|---|
Windows 7 | ||||||||
Windows Server 2008 R2 | ||||||||
Windows Vista Windows Server 2008 |
||||||||
Windows XP Windows Server 2003 Windows Home Server |
||||||||
Windows 2000 (KB891861 required) | ||||||||
Mac OS 10.4/10.5 PowerPC |
|-
!style="height:4em;text-align:right"|Mac OS 10.4/10.5 Intel
| || || || || || || ||
|}
- OperaOpera (web browser)Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...
will be officially supported with future builds. Unofficially, Silverlight support is already available to Opera via a hack. Starting from Silverlight 2, hacks are no longer required.On Linux^ and FreeBSD, the functionality will be made available via the compatible third-party MoonlightMoonlight (runtime)Moonlight is a free and open source implementation of Microsoft's Silverlight for Linux and other Unix based operating systems, developed by the Mono Project...
runtime. Moonlight will be available for the major LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
distributions, with support for Firefox, KonquerorKonquerorNot to be confused with the Conqueror web browser.Konqueror is a web browser and file manager that provides file-viewer functionality for file systems such as local files, files on a remote ftp server and files in a disk image. It is a core part of the KDE desktop environment...
, and Opera browsers, provided it was obtained through Novell. Miguel de Icaza has expressed an interest in working with developers from other operating systems (BSD, Solaris) and other browsers (Konqueror, WebKit and Opera) to ensure that Moonlight works fine on their systems. Availability of Moonlight version 1.0 for FreeBSD was announced in March 2009, but has been since been reported actually not to work. - Silverlight requires an x86 processor with Streaming SIMD ExtensionsStreaming SIMD ExtensionsIn computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...
(SSE) support. Supported processors include the Intel Pentium IIIPentium IIIThe Pentium III brand refers to Intel's 32-bit x86 desktop and mobile microprocessors based on the sixth-generation P6 microarchitecture introduced on February 26, 1999. The brand's initial processors were very similar to the earlier Pentium II-branded microprocessors...
and up, and the AMD Athlon XP and up. Newer AMD DuronDuronThe AMD Duron was an x86-compatible microprocessor manufactured by AMD. It was released on June 19, 2000 as a low-cost alternative to AMD's own Athlon processor and the Pentium III and Celeron processor lines from rival Intel...
models are also supported. - Additional platforms are being considered as well.
- On Apple Inc.'s Download website, contributed by Microsoft, the system requirement states 800 MHz PowerPC G4 or onwards; however as the page specifies, it applies to Silverlight 1 only.
Mobile devices
Silverlight is the primary development environment for Windows Phone 7Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...
and is based on Silverlight 4. For previous versions of Windows Mobile, the first Community Technology Preview (CTP) for Windows Mobile 6 was expected in the second quarter of 2008, but it still not officially announced. Microsoft has stopped focusing on bringing Silverlight to Windows Mobile 6.x. Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...
has announced plans to make Silverlight for Mobile available for S60
S60 platform
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...
on Symbian OS, as well as for Series 40 devices and Nokia internet tablets. Silverlight for Mobile supports Silverlight 2 content and .NET languages. Silverlight for Windows Phone 7.1 is based on Silverlight 4.
OS/Environment | Native | Skyfire | Web Browser for S60 Web Browser for S60 Web Browser for S60 or the S60 OSS Browser, is the default web browser for the S60 mobile phone platform. It is the default browser for many old phones running on the Symbian mobile operating system and all new phones running on Symbian. It was developed by Nokia... |
---|---|---|---|
Windows Phone 7 | |||
Symbian OS running S60 |
Development tools
Silverlight applications can be written in any .NET programming language. As such, any development toolsIntegrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
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:
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.
In conjunction with the release of Silverlight 2, Eclipse
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
was added as a development tool option.
Licensing
An April, 2007 PC WorldPC World (magazine)
PC World is a global computer magazine published monthly by IDG. It offers advice on various aspects of PCs and related items, the Internet, and other personal-technology products and services...
report suggested that Microsoft intended to release certain parts of Silverlight source code as open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
software, but a week later Sam Ramji, director of platform technology strategy at Microsoft, contradicted the rumors by confirming that the company had no plans to open Silverlight. Some controls that ship with Silverlight are available under the Microsoft Public License as a part of a separate project known as the Silverlight Toolkit.
Silverlight's proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
nature is a concern to competition since it may harm the open nature of the World Wide Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
. Advocates of free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
are also concerned Silverlight could be another example of Microsoft's embrace, extend and extinguish
Embrace, extend and extinguish
"Embrace, extend and extinguish," also known as "Embrace, extend and exterminate," is a phrase that the U.S. Department of Justice found was used internally by Microsoft to describe its strategy for entering product categories involving widely used standards, extending those standards with...
strategy. Both Microsoft Silverlight and Adobe Flash are proprietary. Flash's file formats are publicly documented standards, as are Silverlight's. However, the communication between a Flash player and a server is done by the proprietary protocol RTMP
Real Time Messaging Protocol
Real Time Messaging Protocol was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server...
. Both Flash and Silverlight use patent-encumbered
Software patent
Software patent does not have a universally accepted definition. One definition suggested by the Foundation for a Free Information Infrastructure is that a software patent is a "patent on any performance of a computer realised by means of a computer program".In 2005, the European Patent Office...
audio and video codec
Codec
A codec is a device or computer program capable of encoding or decoding a digital data stream or signal. The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder"...
s.
Mono Moonlight implementation
The MonoMono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....
team is currently developing Moonlight
Moonlight (runtime)
Moonlight is a free and open source implementation of Microsoft's Silverlight for Linux and other Unix based operating systems, developed by the Mono Project...
, a free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and open-source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...
implementation of both the Silverlight 1 and 2 runtime
Run-time system
A run-time system is a software component designed to support the execution of computer programs written in some computer language...
s.
The project is officially supported by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
who, under an agreement with Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...
, has made additional specifications, access to the Silverlight Base Class Library
Base Class Library
The Base Class Library is a standard library available to all languages using the .NET Framework. .NET includes the BCL in order to encapsulate a large number of common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation, which makes...
APIs, binary codecs and test cases available to the Mono team, none of which are available to other members of the public.
The "covenant" under which Novell has been granted this exclusive access also specifies conditions that are incompatible with the licensing
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
that covers most other free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
. As examples, it specifically requires that the software must have been "obtained directly from Novell or through an Intermediate Recipient" and that it must be "not licensed under GPLv3 or a Similar License". Some free software proponents have criticized the covenant.
Silverlight has received criticism for not living up to its cross-platform operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
compatibility promises, especially on Linux systems compared to its extensive support on Apple and Microsoft desktops for Internet Explorer, Firefox, and Chrome. Even though Microsoft is officially collaborating on the Moonlight project, Bruce Chizen
Bruce Chizen
Bruce R. Chizen was the chief executive officer of Adobe Systems, based in San Jose, California. Chizen lives in Los Altos, California with his wife and children.- Career :...
, who was CEO of Adobe Systems
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...
at the time, which sells the competing proprietary Flash platform, questioned "the commitment of Microsoft to keep the Silverlight platform compatible with other OS besides Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
". His concerns are based on "examples from history" where, he argues, Microsoft has launched products with promises of ongoing cross-platform compatibility that no longer apply, for example Internet Explorer for UNIX
Internet Explorer for UNIX
Internet Explorer for UNIX was a proprietary graphical web browser that was available free of charge and produced by Microsoft for use in the X Window System on Solaris or HP-UX...
and Windows Media Player for Mac.
Relationship to existing web standards
California and several other U.S. states also have asked a District Judge to extend most of Microsoft's antitrust caseUnited States v. Microsoft
United States v. Microsoft was a set of civil actions filed against Microsoft Corporation pursuant to the Sherman Antitrust Act of 1890 Section 1 and 2 on May 8, 1998 by the United States Department of Justice and 20 U.S. states. Joel I. Klein was the lead prosecutor...
settlement for another five years, citing "a number of concerns, including the fear that Microsoft could use the next version of Windows to 'tilt the playing field' toward Silverlight, its new Adobe Flash
Adobe Flash
Adobe Flash is a multimedia platform used to add animation, video, and interactivity to web pages. Flash is frequently used for advertisements, games and flash animations for broadcast...
competitor," says a Seattle Post-Intelligencer
Seattle Post-Intelligencer
The Seattle Post-Intelligencer is an online newspaper and former print newspaper covering Seattle, Washington, United States, and the surrounding metropolitan area...
article. The final judgment on the motion extended the settlement two years, to November 2009, but for reasons unrelated to Silverlight. In Windows 7 the Silverlight web browser plug-in is not installed automatically, but is a downloadable optional update through Windows Update.
Microsoft has been criticized for not using the Scalable Vector Graphics
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...
(SVG) standard for Silverlight, which, according to Ryan Paul of Ars Technica
Ars Technica
Ars Technica is a technology news and information website created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews and guides on issues such as computer hardware and software, science, technology policy, and video games. Ars Technica is known for its features, long articles that go...
, is consistent with Microsoft's way of ignoring open standards in other products, as well. However, according to David Betz, a .NET specialist and Microsoft Most Valuable Professional (MVP), while it "seems to some to be a valid criticism and a good point to some of the web standards world, it is absolutely groundless and carries no weight." Microsoft would have had to alter the SVG specification in order to integrate it with .NET. Consequently, he thinks the "choice by Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
to use XAML over SVG, served to retain the SVG standard by not adding proprietary technology [to SVG]"..
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 interfaceUser interfaceThe user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
(UI), interactivity and user input, basic UI controls, graphics and animation, media playback, Digital rights managementDigital rights managementDigital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...
(DRM), and DOMDocument Object ModelThe Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...
integration.
- Silverlight 2 - Included a version of the .NET Framework.NET FrameworkThe .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
, implemented the same full Common Language RuntimeCommon Language RuntimeThe Common Language Runtime is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs. In a process known as just-in-time compilation, the CLR compiles the intermediate language code known as CIL into the machine instructions...
(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 MIX09MIX (Microsoft)MIX is a Microsoft conference held annually for web developers and designers at which Microsoft showcases upcoming web technologies. The conference is held each spring at the Venetian Hotel in Las Vegas...
in Las VegasLas Vegas, NevadaLas Vegas is the most populous city in the U.S. state of Nevada and is also the county seat of Clark County, Nevada. Las Vegas is an internationally renowned major resort city for gambling, shopping, and fine dining. The city bills itself as The Entertainment Capital of the World, and is famous...
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 ConferenceProfessional Developers ConferenceMicrosoft's Professional Developers Conference is a conference for software developers, normally Windows developers.It covers new and upcoming technology from Microsoft, and so only occurs in the years when there is something new to talk about...
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 ChromeGoogle ChromeGoogle Chrome is a web browser developed by Google that uses the WebKit layout engine. It was first released as a beta version for Microsoft Windows on September 2, 2008, and the public stable release was on December 11, 2008. The name is derived from the graphical user interface frame, or...
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 - On December 2, 2010 at the Silverlight Firestarter event, Silverlight 5 beta was announced for release in the 1st half of 2011. The final release is planned for the 2nd half of 2011. New features include: GPU accelerated video decoding, 3D graphics, playback speed controls, remote control and 64-bit support.
External links
- Silverlight product page on Microsoft.com
- Silverlight Developers Center on MSDN
- What's new in Silverlight 5 Step by step in Silverlight 5, lots of demos and samples available.