Microsoft Silverlight

From Wikipedia, the free encyclopedia

Microsoft Silverlight
Developed by Microsoft
Initial release April 2007
Stable release 1.0.30401.0  (8 April 2008) [+/−]
Preview release 2.0.30523.6  (7 June 2008) [+/−]
Written in combination of C++ and C#
OS Microsoft Windows,
Mac OS X
Genre Web Application framework
License MS-EULA, with MS-PL components
Website Microsoft Silverlight
Silverlight.net

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. When it is released, version 2.0 will bring 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.[1]. A third-party free software implementation named Moonlight is under development to bring compatible functionality to GNU/Linux.

Contents

[edit] Overview

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).[2] Silverlight can also be used to create Windows Sidebar gadgets for Windows Vista.[3]

Silverlight supports playback of WMV, WMA and MP3 media content[4] 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".[5] 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.[6] With version 2.0, the programming logic can be written in any .NET language, including some common dynamic programming languages like Ruby and Python.[7]

[edit] Compatibility

Basically, Silverlight is supported with Mozilla browsers and newer versions of Internet Explorer on Windows XP or newer versions of Microsoft Windows, or Mac OS X. Support on other browsers or operating systems is ongoing, planned, or has yet to be announced.

OS/Browser IE 6 SP1 IE 6 SV1 IE 7 IE 8 Firefox/SeaMonkey/Mozilla Safari Konqueror Opera
Windows Vista/2008 N/A N/A 1.0, 2.0 2.0 1.0, 2.0 1.0, 2.0; via NPAPI N/A Unofficially[8][9]
Windows XP/2003/Home Server N/A 1.0, 2.0 1.0, 2.0 2.0 1.0, 2.0 1.0, 2.0; via NPAPI N/A Unofficially[8][9]
Windows 2000 2.0 N/A N/A N/A N/A[10] 2.0; via NPAPI N/A Planned[8]
Windows Mobile 6 1.0 N/A N/A N/A N/A N/A N/A N/A
Mac OS 10.4/10.5 PowerPC N/A N/A N/A N/A 1.0 1.0 N/A Planned[8]
Mac OS 10.4/10.5 Intel N/A N/A N/A N/A 1.0, 2.0 1.0, 2.0 N/A Planned[8]
Linux x86(Moonlight) N/A N/A N/A N/A Planned[11][12] N/A Planned[12] Planned[8][12]
Linux x86-64(Moonlight) N/A N/A N/A N/A Planned[11][12] N/A Planned[12] Planned[8][12]

Notes:

  • Opera will be officially supported with future builds.[8] Unofficially Silverlight supports Opera already, via a hack [9]
  • On Linux^, the functionality will be made available via the compatible third-party Moonlight runtime.[11][12] Moonlight will be available for the major Linux distributions, with support for Firefox, Konqueror, and Opera browsers.
  • Silverlight for Mobile will be used to run Silverlight content on mobile devices. The first CTP for Windows Mobile 6 will be released in 2nd Quarter of 2008.[1] 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.[13] Silverlight for Mobile will initially support Silverlight 1.0 content.[1]
  • Additional platforms are being considered as well.[14]

[edit] Releases

Version Name Version Number Release Date
1.0 CTP 1.0.? December 2006
1.0 RTW 1.0.20816 2007-09-05
2.0 Pre-Release
(As 1.1 Alpha Refresh)
1.1.20926.0 2007-09-05
1.0 service release 1.0.21115.0 2007-11-20
1.0 service release 1.0.30109.0 2008-01-15
2 Beta 1[15] 2.0.30226.2 2008-03-05
1.0 service release[16] 1.0.30401.0 2008-04-08
2 Beta 2[17] 2.0.30523.6 2008-06-06
2 RTM[18] TBA Late summer, 2008

[edit] Silverlight 1.0

A Silverlight 1.0 application hosted in Internet Explorer. Interactivity is provided by Silverlight, but user input controls are HTML controls overlaid on top of Silverlight content
A Silverlight 1.0 application hosted in Internet Explorer. Interactivity is provided by Silverlight, but user input controls are HTML controls overlaid on top of Silverlight content

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.[19] 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.

A Silverlight application starts by invoking the Silverlight control from the HTML page, which then loads up a XAML file. The XAML file contains a Canvas object, which acts as placeholder for other elements. Silverlight provides various geometrical primitives like lines, ellipses and other shapes, to elements like text, images, and media etc. The elements are properly positioned to achieve the desired layout. Any arbitrary shape can be created as well. These elements can be animated using Event triggers; some animation effects are predefined, others can be created as composite of the pre-defined effects. Events like keyboard or mouse movements can also raise Events which can be handled by custom scripts.[20]

Programmatic manipulation of the UI is achieved by using scripting languages to modify the Document Object Model of the Silverlight Canvas object.[19] To facilitate this, Silverlight exposes a DOM API, accessible from any scripting language supported by Silverlight, which in version 1.0 release is limited only to JavaScript running in the browser. However, there are no UI widgets built in. The native widgets of the browser must be overlaid on top of the Silverlight Canvas for user input. Support for data formats is limited to POX (Plain Old XML) and JSON only.[19]

[edit] Silverlight 2

A Silverlight 2 application hosted in Internet Explorer
A Silverlight 2 application hosted in Internet Explorer

Silverlight 2 (previously referred to as version 1.1)[21] 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.[22] 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.[23]

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.[24] 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[25] and PlayReady[26] DRM in media files.[19]

A set of Silverlight controls rendered with different skins
A set of Silverlight controls rendered with different skins

The version of .NET Framework in Silverlight adds[19] a subset of WPF UI programming model, including support for shapes, documents, media and animation objects of WPF. Beta 2 onwards,[26] it ships with more than 30 UI controls[25] (including TextBox, CheckBox, Slider, ScrollViewer, and Calendar controls, among others),[27] supporting two-way databinding support, automated layout management (by means of StackPanel, GridPanel etc)[27] as well as data manipulation controls such as DataGrid[28][21] and ListBox.[27] UI controls are skinnable using a template-based approach.[27] Third party libraries for expanded sets of UI controls are also available.[29]

Silverlight 2 Architecture
Silverlight 2 Architecture

The included Base Class Library (BCL) provides classes for collections, reflection, regular expressions, string handling and data access. It also supports LINQ, with the full support for LINQ to Objects and expression trees. Almost all of the System.LINQ and System.LINQ.Expression namespaces are exposed. However, LINQ to XML is not present in the Alpha release;[30] it debuted with the beta 1 release.[27] Beta 2 added LINQ to JSON to run LINQ queries directly on JSON data.[25] It also supports serialization of objects, for data persistence. Silverlight can handle data in either RSS, POX, and JSON formats, in addition to XML. The BCL provides enhanced support for working with XML data, including the XMLReader and XMLWriter classes. Silverlight 2 also supports asynchronous programming via the use of the threading libraries.[28]

Silverlight also includes classes for data access over XML-based Web services (POX), REST, WCF Services and ADO.NET Data Services.[26] The networking support in Silverlight can be used by Silverlight applications to communicate over HTTP. While in the alpha release of Silverlight 2, cross domain communication is not allowed,[31] the beta 1 release adds support for the same.[21]. Silverlight 2, starting from Beta 1 release, also adds support for network communication using sockets, over both IPv4 and IPv6.[27] Beta 2 onwards, sockets can be used for cross domain connections as well.[26] Silverlight uses an XML-based configuration file to control the cross-domain resource access policy, both for HTTP connections as well as socket connections.[25] It can be used by site administrators to control which resources a Silverlight application, that did not originate in the domain of the site, can access. In addition, Silverlight also supports the Adobe Flash cross domain policy file format.[32] Silverlight sockets can only initiate a connection; they cannot listen for connections.[33]

A Python interpreter in Silverlight 2 hosted in Mozilla Firefox
A Python interpreter in Silverlight 2 hosted in Mozilla Firefox

Silverlight 2 includes[26] the Dynamic Language Runtime (DLR) which allows dynamic compilation and execution of dynamic (scripting) languages. Compilers for the languages based on the DLR (including IronPython and IronRuby) are be packaged with the DSL app in the .xap package.[34] The DSL SDK includes a web server named Chiron that can dynamically package all the dependencies for the DSL application and serve it to the browser.[34] The first upcoming languages written for the DLR are Managed JScript, IronPython 2.0, and IronRuby. Microsoft also plan to build Visual Basic .NET 10.0 (VBx) on the DLR. All four languages share the same infrastructure to allow Silverlight to compile and execute the language source. Conversely, other .NET languages must be compiled ahead of time and delivered to Silverlight as .NET assemblies. The implementation of Managed JScript conforms to the ECMAScript 3.0 specification, and Microsoft claims that it is 250 times faster than interpreted JScript.[28]

With the integration of .NET Framework, Silverlight also allows HTML-managed code interaction, which allows manipulation of HTML DOM elements from managed code,[19] as well as allow JavaScript code to call managed code and use objects instantiated by managed code. Silverlight encloses JavaScript objects and DOM elements in managed wrappers to make them available from managed code.[35] However, in the 1.1 alpha release directly calling JavaScript code is not implemented, but managed code events can fire JavaScript handlers. A Silverlight instance does not need to have a UI component in order to manipulate the HTML DOM from managed code.[36] It is done by creating a XAML Canvas with its width and height set to zero, and using its code-behind code to modify the Document Object Model of the HTML page via the APIs in the System.Browser namespace.[37]

A Silverlight 2 application using DeepZoom running in Safari 3.1 on Windows XP
A Silverlight 2 application using DeepZoom running in Safari 3.1 on Windows XP

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.[38] The images can scale from 2 or 3 megapixels in resolution to gigapixel 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.[39] Beta 2 onwards, Deep Zoom uses an XML-based file format.[26]

Silverlight 2 also allows limited filesystem access to Silverlight applications.[35] It can use the operating system's native Open file dialog box to browse to any file (which the user has access to). The file is sanitized of path information to prevent the application from getting access to information like user name and can be opened only in read-only mode. For local storage of data, Silverlight provides isolated local storage (isostorage),[35] which is stored, outside the browser cache, in a hidden folder inside the user profile's private folder. It is by default set to 1 MB per URL,[35] but can be changed by the user.[26] Data stored by a Silverlight application in the isostorage is identified by the URL that it loads from, can be accessed by that application only. All instances of Silverlight share the same isostorage, so all instances of the same Silverlight application can share the saved data, even if they are running on different browsers.

Silverlight CoreCLR uses an attribute based security model, as opposed to the Code Access Security (CAS) model of the desktop version of .NET Framework.[40] All assemblies are marked with a security attribute, which can be either transparent (SecurityTransparentAttribute), safecritical (SecuritySafeCriticalAttribute) or critical (SecurityCriticalAttribute). Methods in transparent assemblies runs with partial trust, and any code in such assemblies cannot call critical methods. They also cannot contain unverifiable code (use the unsafe C# keyword or use pointers) or invoke system functions by means of P/Invoke. Code in both critical and safecritical assemblies run with full trust, and are not subject to such limitations. However, critical methods can only be called from safecritical methods and not transparent methods. Thus transparent methods are prevented from using methods that can cause system wide changes. Instead, they have to call safecritical methods which will verify that the call is safe and within the limited rights of the caller, and then proxy it to the critical methods. In fact, the IsoStorage APIs are exposed as safecritical methods.[40] An assembly that does not have any attribute set is run as a transparent method. The limitations also apply for type inheritance, virtual method calls and interface method calls as well.[41] Silverlight assemblies can contain members that are not usable by CoreCLR but can be by .NET Framework CLR; such methods will not be loaded when the assembly is being executed by CoreCLR.[42]

However, only platform code is allowed to be marked as Critical or SafeCritical. The Silverlight runtime ensures that platform assemblies are loaded only from the Silverlight installation directory, and are signed by Microsoft. This effectively means that all user application assemblies can only be transparent code and run under partial trust and limited rights.[43] Platform code can be marked with either attribute. The BCL methods of the .NET Framework, which have the Internet attribute set allowing them to be called from untrusted code originating from Internet, are exposed in Silverlight BCL as transparent methods.[43]

[edit] Development tools

A Silverlight application being edited in Microsoft Visual Studio.
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.[44]

A Silverlight project contains the Silverlight.js and CreateSilverlight.js files which initializes the Silverlight plugin 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.[45]

[edit] Licensing

An unattributed report claimed[46] that Microsoft aims to release certain parts of Silverlight source code as open source software, but Sam Ramji, director of platform technology strategy at Microsoft, said the company has no plans to do so.[47] However, the Dynamic Language Runtime, included with Silverlight, have been made available on Microsoft's CodePlex website using the Microsoft Public License. The collection of controls included in Silverlight 2 will also be made available under the same license.[48]

[edit] Alternative implementations

The Mono team is currently developing a free and open-source implementation of the Silverlight runtime which they named Moonlight. The project is officially supported by Microsoft who,[11] under an agreement with Novell, has made available the specifications, beyond what has been made publicly available, and test cases to the Mono team.[12] The Mono team also has access to the Silverlight Base Class Library APIs which other developers do not have access to.[49] Microsoft will also provide binary codecs for use in Moonlight.[12] Moonlight targets both version 1.0 as well as 2.0 of Silverlight.[50]

[edit] Criticism

Silverlight has been criticized for keeping Linux out of their official offering. Even though Microsoft is officially collaborating on the Moonlight project, Bruce Chizen, former CEO of Adobe, and maker of direct competitor Flash, has questioned "the commitment of Microsoft to keep the Silverlight platform compatible with other OS besides Windows".[51] His concerns are based on "examples from history" where, he claims, Microsoft has launched products with promises of ongoing cross-platform compatibility that no longer apply.

The international, non-profit European Committee for Interoperable Systems has voiced concerns that with Silverlight Microsoft aims to introduce content on the web that can only be accessed from the Windows platform. They argue that use of XAML in Silverlight is positioned to replace the cross-platform HTML standard. Effectively, if Silverlight usage becomes widespread enough, users will risk having to purchase Microsoft products to access web content[52].

California and several other U.S. states also have asked a District Judge to extend most of Microsoft's antitrust case settlement for another five years,[53] 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.

Microsoft has also been criticized for not using the Scalable Vector Graphics standard for Silverlight, which, according to Ryan Paul of Ars Technica, is consistent with Microsoft's ignoring of open standards in other products, as well.[54] However, according to David Betz, an independent .NET technologies specialist, Microsoft would have needed to alter the SVG specification to add .NET integration and UI constructs on top of SVG to make it suitable for scenarios Silverlight uses markup for (UI and vector markup, by default). Consequently, he thinks the "choice by Microsoft to use XAML over SVG, served to retain the SVG standard by not adding proprietary technology [to extend SVG]".[55]

[edit] See also

[edit] References

  1. ^ a b c Silverlight for Mobile. Silverlight.net. Retrieved on 2008-03-09.
  2. ^ Rafe Needleman. What is Silverlight, really?. Retrieved on 2007-05-05.
  3. ^ Charles Sterling. Writing a Windows Sidebar Gadget in Silverlight dead simple. MSDN Blogs. Retrieved on 2008-03-09.
  4. ^ Silverlight FAQs
  5. ^ Microsoft Silverlight 1.0 beta license. Retrieved on 2007-06-14.
  6. ^ Using a Downloader Object. Retrieved on 2007-05-25.
  7. ^ Mono developers to bring Silverlight to Linux
  8. ^ a b c d e f g h Opera Watch: More details on Silverlight support in Opera. Retrieved on 2007-05-02.
  9. ^ a b c Silverlight in Opera. Retrieved on 2008-03-10.
  10. ^ Install Silverlight : Unsupported platform, system requirements
  11. ^ a b c d Silverlight 1.0 Released and Silverlight for Linux Announced. Retrieved on 2007-09-05.
  12. ^ a b c d e f g h i Microsoft/Novell Collaboration on Silverlight.. Retrieved on 2007-09-05.
  13. ^ "Nokia to enable Silverlight" (2008-03-04). blog.anta.net. ISSN 1797-1993. 
  14. ^ Joe Stegman. MSDN Forums Silverlight General Discussion: Linux support. Retrieved on 2007-04-29.
  15. ^ Quick update on Silverlight. Retrieved on 2007-11-30.
  16. ^ MSFN - Microsoft rolls out Silverlight maintenance release
  17. ^ Emil Protalinski. Silverlight 2 Beta 2 arrives on time, available now. Ars Technica. Retrieved on 2008-06-06.
  18. ^ Emil Protalinski. Silverlight 2 targeted for "late summer" release. Ars Technica. Retrieved on 2008-04-03.
  19. ^ a b c d e f Silverlight architecture. Retrieved on 2007-06-05.
  20. ^ Silverlight 1.0 Beta QuickStart. Retrieved on 2007-06-05.
  21. ^ a b c .NET Web Product Roadmap (ASP.NET, Silverlight, IIS7). Retrieved on 2007-11-30.
  22. ^ Side by Side In Process CLRs Start with Silverlight. Retrieved on 2007-05-12.
  23. ^ Scott Guthrie. Silverlight Tutorial Part 1: Creating "Hello World" with Silverlight 2 and VS 2008. Retrieved on 2008-02-24.
  24. ^ Microsoft polishes the Silverlight. Retrieved on 2007-05-02.
  25. ^ a b c d Scott Guthrie. Silverlight 2 Beta2 Released. Retrieved on 2008-07-06.
  26. ^ a b c d e f g {{cite web | url = http://blogs.msdn.com/silverlight_sdk/archive/2008/06/04/what-s-new-in-silverlight-2-beta-2.aspx | title = What's new in Silverlight 2 Beta 2? | author = Silverlight SDK Team | publisher = [[MSDN] Blogs | accessdate = 2008-07-06}}
  27. ^ a b c d e f Scott Guthrie. First Look at Silverlight 2. Retrieved on 2008-02-24.
  28. ^ a b c Silverlight. Retrieved on 2007-05-12.
  29. ^ Tim Sneath. Some Great Silverlight Controls. Retrieved on 2007-06-30.
  30. ^ Kim Hamilton. Linq Support in Silverlight 1.1 Alpha. Retrieved on 2007-06-08.
  31. ^ Kevin Hoffman. Silverlight v1.0 Beta vs. Silverlight 1.1 Alpha - Huh??. Retrieved on 2007-06-11.
  32. ^ Scott Guthrie. Silverlight Tutorial Part 3: Using Networking to Retrieve Data and Populate a DataGrid. Retrieved on 2008-02-24.
  33. ^ Michael Schwarz. Silverlight Socket Comments. Retrieved on 2008-03-12.
  34. ^ a b John Lam. Dynamic Silverlight, Part 1: Hello World. MSDN Blogs. Retrieved on 2008-03-12.
  35. ^ a b c d Danny Thorpe (2007-05-02). MIX07: Extending the Browser Programming Model with Silverlight. Retrieved on 2007-05-03.
  36. ^ Tim Sneath (2007-06-07). Silverlight isn't just about presentation. Retrieved on 2007-06-13.
  37. ^ Tim Sneath (2007-06-13). Programming HTML with C#. Retrieved on 2007-06-30.
  38. ^ Silverlight 2 and Deep Zoom - Get ready to build your own photozooming collections. LiveSide. Retrieved on 2008-03-06.
  39. ^ Silverlight 2 'Deep Zoom'. Microsoft Live Labs. Retrieved on 2008-03-09.
  40. ^ a b Shawn Farkas. The Silverlight Security Model. Retrieved on 2007-06-08.
  41. ^ Shawn Farkas. Silverlight Security III: Inheritance. Retrieved on 2007-06-08.
  42. ^ How to: Explore Silverlight Assemblies with the Visual Studio Object Browser. Retrieved on 2007-06-08.
  43. ^ a b Shawn Farkas. Silverlight Security II: What makes a method critical. Retrieved on 2007-06-08.
  44. ^ How to: Create a Silverlight Project. Retrieved on 2008-03-10.
  45. ^ Nigel Parker. MIX07 Your Product is a feature of the Web!. Retrieved on 2007-06-08.
  46. ^ Elizabeth Montalbano. Microsoft Goes Open Source?. Retrieved on 2007-04-29.
  47. ^ Gavin Clarke. Silverlight glow dimmed by cross-platform concerns. Retrieved on 2007-05-05.
  48. ^ Miguel De Icaza. Mix 08. Retrieved on 2008-03-12.
  49. ^ Pre-Mix 08: Moonlight Updates (2008-03-03). Retrieved on 2008-03-08.
  50. ^ Mono: API Implementation. Mono Project. Retrieved on 2008-03-08.
  51. ^ gautam (April 20, 2007). Adobe CEO questions Microsoft Silverlight cross-platform commitment. Java Entrepreneur. Retrieved on 2007-12-06.
  52. ^ ECIS Media Release January 26, 2007. ECIS (2007-01-26). Retrieved on 2007-10-19. “With XAML and OOXML Microsoft seeks to impose its own Windows-dependent standards and displace existing open cross-platform standards which have wide industry acceptance, permit open competition and promote competition-driven innovation. The end result will be the continued absence of any real consumer choice, years of waiting for Microsoft to improve - or even debug - its monopoly products, and of course high prices
  53. ^ Todd Bishop (October 17, 2007). Antitrust filing cites Microsoft Silverlight concern. Seattle Post-Intelligencer. Retrieved on 2007-12-06.
  54. ^ Ryan Paul. Microsoft's Flash-killer Silverlight steals the show at MIX07. Retrieved on 2007-05-06.
  55. ^ David Betz. Silverlight's Adoption as Public De-Facto Standard. Retrieved on 2007-06-20. “Silverlight can be viewed as a web extension of the Windows Presentation Foundation (WPF), a .NET 3.0 technology and not simply as a new web technology. As such, it makes sense that Silverlight uses XAML, not SVG. If Silverlight were based on SVG, then there would be a chasm between Silverlight and the .NET Framework, but as it stands Silverlight's use of XAML makes it part of the .NET family. In fact, it’s important to note that elements in XAML usually represent objects in the .NET Framework; this would simply not be possible in SVG.

[edit] External links