Silver light of the web. Silverlight, HTML5, and Microsoft's opaque development strategy Silverlight execution blocked because installed version

Hello everyone) Today I will tell you about such a plug-in as Microsoft Silverlight, which is needed for the operation of any multimedia on the site. Well, that is, there is some kind of animation, audio and video playback, in general, Microsoft Silverlight is needed for this! But what's interesting, as I understand it, it's like something like Adobe Flash Player, only from Microsoft, now that's interesting! That is, with the help of this Silverlight, a video can be played on the site without using a regular flash!

And here's an unexpected joke, that's what I found out. So I don’t know if you know or not, but I’ll write - in 2015, support for NPAPI format plugins was disabled in many browsers. And that's why Microsoft Silverlight no longer works in browsers such as Opera, Mozilla Firefox, Google Chrome! Because of what there was a mountain of discontent on the Internet and all that, many users began to look for an option on how to enable NPAPI, but alas, this is no longer possible. However, you can use the old version, for example, I used the old version of Chrome and you can enable NPAPI there! If you are interested, then I wrote about it.

Microsoft Silverlight Debriefing

Some users write that they installed Microsoft Silverlight and their browser stopped lagging when playing videos. How true this is, I do not know, but I think it is quite possible. However, many users still write that there is zero use for this thing, they downloaded it, installed it and did not notice the difference. Well, I understand all this, especially considering that Microsoft Silverlight no longer works in many browsers ..

I also read comment one that the browser may freeze due to a site that uses Microsoft Silverlight, and all because the browser no longer supports this thing! Maybe because of this it hangs that the site has something that the browser does not support. Well, it's logical..)

As I understand it, at the moment Microsoft Silverlight only works in the Internet Explorer browser. If you use this browser, then you may not need to remove Microsoft Silverlight, and if you do not use it, then I think that you can remove it. Well, think for yourself, this thing is no longer supported by popular browsers, but YouTube generally wants to switch to the format WITHOUT flash, using only HTML5 for video .. That's it ..

Here I also have this Microsoft Silverlight, and not just, but three pieces - the usual one, version 4 of the SDK and version 5 of the SDK. Where it came from, I don’t know, I didn’t put this thing myself ..

In general, I don’t know about you, but I will delete this thing)

So, as I understand it, this thing is installed in these folders:

C:\Program Files\Microsoft Silverlight\
C:\Program Files (x86)\Microsoft Silverlight\
C:\Program Files (x86)\Microsoft SDKs\Silverlight\
C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\
C:\Program Files (x86)\Microsoft SDKs\RIA Services\v1.0\Libraries\Silverlight\

In general, not only in these folders, maybe somewhere else. To check, then open the system disk and where the search field is, well, that is, in the upper right corner, then write the word Silverlight there and see a lot of things, here's what I have:


A few thoughts out loud. It may be worth looking not for the word Silverlight, but for the phrase Microsoft Silverlight. I think so, because maybe the Microsoft Silverlight program is one thing, or there may be some other program, the name of which includes the word Silverlight .. Therefore, to be more precise, it is better to use the full name, that is, Microsoft Silverlight!

How to remove Microsoft Silverlight from a computer completely?

So, now about the removal. You can remove both in a simple way, and with the help of a certain remover. I mean with the help, its trick is that it will help to remove the program and also help to remove the remnants of the program in Windows. In general, it removes and cleans afterwards. But today I'll show you how to remove it manually and then how to manually clean Windows from residues ..)

Now a moment of attention. In general, I advise you to make a restore point before deleting. It's not difficult, in the end you will protect yourself from glitches, so to speak, it's a good insurance in case something goes wrong. How to do it, I already wrote in an article about, I advise you to look.

So, to uninstall, you need to click Start and select Control Panel there:


If you have Windows 10, then cool, no doubt, but there this item is in another menu, to call it, press the Win + X buttons!

Then we find the Programs and Features icon there, here it is, run it:


A window will open with all installed programs, you can’t just delete anything here! Well, that is, you can’t delete anything, because there may be glitches and all sorts of jambs! In this list, find Microsoft Silverlight, right-click and select Uninstall:


Then such a message will pop up, then click Yes (well, if you haven’t changed your mind of course):


Then this window will appear:


The whole removal took about ten seconds. But, in the window, well, where the list of software is, then I personally still have Microsoft Silverlight versions 4 SDK and 5 SDK there:


They also need to be removed, but they are removed in the same way as the first version, where there is no SDK. In general, I think that you will not have problems with this)

How to clean Windows after uninstalling Microsoft Silverlight?

In general, you deleted Microsoft Silverlight, but it is possible that there are remnants of this program in Windows. You can clear Windows of these residues, see how to do it. So first I'll show you how to remove file garbage. So open the system disk and there, at the top right in the search field, write the name of the program, that is, Microsoft Silverlight (if you just use the word Silverlight, the results will be less accurate):


You will find folders with files related to the Microsoft Silverlight component, although we have already removed it. It's all POSSIBLE to delete, BUT before that, make a checkpoint, see how to create it. To create or not is up to you, there may be jambs after removing the remnants, but this is rare. But if anything, then with the help of a previously created restore point, you can return everything as it was. In general, guys, I warned you!

Well, here's everything that was found on your system disk, it all belongs to Microsoft Silverlight and it can be deleted. To immediately save yourself from problems, well, that one is removed and the other is not, then I suggest you install the utility. This utility helps to remove even that which does not want to be deleted. But you can delete it in a simple way by simply selecting Delete from the menu. In general, I selected all the folders, well, I completely forgot to select all the lower couple, and then I right-clicked on them and selected the Unlocker item (I already have the utility installed):


Then select Delete from the menu and click OK:


Unlocker started deleting everything that I highlighted, and to be honest, it was a little scary, because even such a message popped up, then I clicked Yes:


In general, it deleted a lot of things, I directly felt how all the roots of Microsoft Silverlight were being torn out of Windows ... Fear still didn’t leave me, because I advised you to make a restore point, but I didn’t do it myself ... Well, it’s ...)

This is how it went for about five minutes:

In general, everything went well, now I will reboot to check later that there will be no glitches and jambs in Windows ... I made a shorter reboot, launched browsers and everything seems to be working fine. There were no errors, folders opened normally, in general, Windows worked fine)

So I'm not 100% sure, but deleting file garbage seems to be safe!

Now I'll show you how to remove junk from the registry, which is left over from Microsoft Silverlight)

So look, hold down the Win + R buttons and write the following command there:

And click OK:


The registry editor will open, do not delete anything there for no reason. Here we will look for garbage in it. To do this, hold down the Ctrl + F buttons and write there such as:

Microsoft Silverlight

In principle, you can just use the word Silverlight .. But with the full name, the accuracy will be higher ..


Everything, after that the search will begin. All that will be selected later, then all this can be deleted. It can be either folders (on the left) or keys (on the right). Right click on them and select Delete. Then press the F3 button to continue the search and so on until a message appears that the search is over! For example, I found some kind of DisplayName key, if you double-click on it, you will see this:


That is, you see, even if there is not a word about Microsoft Silverlight in the title, it will still be inside! This is what I mean by what is searched not only by name, but also by content, so be sure that everything that is found is all related to Silverlight and can be deleted! In general, here is an example of how to delete a key:


I didn’t find any trash folders, but it’s also easy to delete it, right-click on it and select Delete there!

As you can see, everything is simple. If you do everything clearly as I wrote, then there will be no errors. Well, if you are in doubt, it is better to do nothing at all, the stability of Windows is more important! But the most ideal option is to make a restore point! Let me remind you again, I wrote about this!

By the way, in this way I also deleted the Avast antivirus and cleaned the trash after it, if you're interested!

Well, all the guys, good luck to you, I wish you a good mood and that you have no problems!)

18.08.2016

I wanted to ask Microsoft specialists, because all other methods have been exhausted, no one can help. The problem is that I wanted to install Silverlight (more precisely, I don’t need it as such :), but Netflix doesn’t work without it).

Yes, I’ll say right away, the system is 7 32 bit. Multiple browsers installed - IE10, FireFox, Chrome.

And every installation attempt fails. I tried to run from different browsers, without a browser at all silverlight.exe - the result is the same - "Failed to install." And at first the button "Additional information" did not work at all. Then it suddenly started working and began to display on the Microsoft website with the message:

Message ID: 1622

The installation log file could not be written. Verify that the Temp folder exists and that you can write to it.

I did not understand why such nonsense. How many programs I set, and not one complained. There are no problems with the file system. The windows\Temp directory exists and is accessible. Moreover, I even specially created C: \ TEMP for him, I thought, maybe he swears at it. The same.

Accordingly, the question is: what can prevent the program from being installed? I read somewhere on the site here that, as an option, this can be related to the system language? But why doesn't it stop all other programs? Is there some way to install this bullshit though? I'm just curious, after all.

Microsoft Silverlight is an XML and .NET based technology originally intended to replace Adobe Flash. Another, similar, competing development is JavaFX launched almost simultaneously. So what does Silverlight developers do? Having experience with XAML in programming - use it to its fullest, allowing yourself to manipulate with vector graphics, animation and video. Silverlight itself is subset Windows Presentation Foundation with all the above features. It also includes a full version of the .NET CLR called CoreCLR, which allows you to write in Silverlight in any of the .NET programming languages.

While Silverlight and Flash have a lot in common, the functionality and capabilities of the two development environments differ markedly.

Silverlight is a cross-platform development environment and is implemented for Windows, Mac OS 10.4 and higher. The compatibility problem, at the moment, is the partial lack of support for Opera, which is used by a huge number of users. Here Flash has an undoubted advantage - its complete cross-platform. However, the recently released Silverlight 2 Beta 1 works on the latest version of Opera 9.50 for Windows. But, of course, for complete stability, you will have to wait for the final version.
The first beta version of Microsoft Silverlight was released in December 2006. First stable version– in the middle of 2007. Unlike most Microsoft products, Silverlight has a part of the Dynamic Language Runtime available under terms open source code.
A few days ago, on May 16, under the auspices of the project Mono developers have released an open source version of the Silverlight plug-in for operating systems linux. This development is called moonlight. More about her below.

On March 5 this year, the beta version of Silverlight 2.0 was released, included in Microsoft Visual Studio 2008. The latter has the following useful features:

Templates for Visual Basic and C# projects.
Intelligence and code generators for XAML.
Application debugging.
Web reference support.
Integration with Expression Blend.

But in the very second Silverlight, many useful and pleasant additions were made, such as:

Developers can write in any .NET language: VB, C#, JavaScript, IronPython, and IronRuby.
Easier to embed UI elements (as part of WPF UI Framework), added rich controls ( TextBox, CheckBox, RadioButton, Slider, ScrollViewer, Calendar, DatePicker and so on.).
‘rich networking’ support: call support REST, WS*/SOAP, POX, RSS and other standard HTTP services. I will immediately mention, once again, about cross-domain access to various resources.
Rich Base Class Library, including gigantic functionality (collections, IO, streams, globalization, XML, etc.), as well as the ability to use API for HTML DOM/JavaScript integration with .NET code.
Silverlight 2 does not require you to install the .NET Framework on your computer, because the installer (by the way, its weight is much higher than the first version - 4.3MB) has everything you need.

Since we mentioned Silverlight in light of the Flash comparison, it's worth looking at what the differences are between these authoring tools. Rich Internet Applications(functionally rich applications).
Now Adobe has released a direct competitor to Silverlight - this is a language and development environment Flex, we will somehow devote a separate article to it. And here is a list comparing Silverlight and Flash:

SilverLight does not require a video codec to play .WMF video
Flash requires a codec to play .WMF video. There are also restrictions on playing other video formats.

Silverlight supports full screen video.
Flash does not support scalable full screen video.

Silverlight uses an animation model, WPF, which is based on time rather than frame animation.
Flash uses frame-by-frame animation.

Silverlight does not support GIF and BMP formats. Only JPG and PNG image file formats are supported.
Flash today supports all graphic formats.

Silverlight allows you to embed text in your project, and set it up with object loading.
Working with fonts in Flash is quite difficult.

Silverlight uses XAML and it's still declarative.
Flash-ActionScript

Silverlight does not yet allow you to work with pixel graphics, and use various effects and filters.
Flash allows you to do this already from version 8

Silverlight uses XAML which is based on text information and can be easily modified using simple XML objects.
Flash uses binary (binary) notation forms.

Silverlight allows you to use various technologies when creating a project - JavaScript, C #.
Flash allows you to use only ActionScript programmatic features.

Using Silverlight Streaming you can create a complete video site using a free service.
No streaming service is available for free in Flash.

Today, Silverlight has practically got rid of its inferiority and is a completely cross-platform application.

Despite the fact that the comparison of Silverlight and Flash is a very common occurrence, it does not seem true to everyone. Indeed, Silverlight can be used for about the same purposes as Flash, but the former is more like a modern lightweight analogue of Java applets with support for advanced UI creation technologies. The general trend, let's call it the goal, Silverlight technologies is a soft "thickening" of the web client and the departure of currently popular technologies Javascript/AJAX/Flash.
In the same vector, and develop, however, with some differences. If the main goal AIR & Prism is " domestication of the internet”, then Silverlight tries completely tame the web.
Microsoft Silverlight itself is implemented very elegantly. When it was created, it was clear to everyone that it was not difficult to write a browser plug-in to support an analogue of Java applets, only based on .NET. Naturally, the framework itself at the same time has a rather big weight and is not installed by every user. Therefore, Microsoft programmers acted as follows - they implemented the applet responsible for Silverlight 2.0 in the browser, which contains an impressive part of the framework necessary for the normal operation of Silverlight applications. And it has, at the same time, a weight of less than 5 mb, although the site says: 1 mb (here the employees of the Redmond giant embellished - they love).

For Silverlight development you will need:

plugin for the browser. Its beta version can be downloaded. Versions for Windows (IE, Opera, Firefox) and Mac OS X are available.
Silverlight SDK A containing tools and documentation. Available for download.
Silverlight Tools for Visual Studio is a handy add-on that allows you to develop SL projects directly in the Visual Studio IDE. The Express version is not yet supported, but this feature will be in the final version of the product.
Microsoft Expression Blend 2.5 March 2008 Preview - something between a development environment and a graphical editor for developing WPF applications.

Of the interesting developments directly related to Silverlight, it is worth noting the recent release of the closed beta version of Popfly.

Popfly is a Silverlight application that allows the user to create mashups, widgets, and other applications using a simple web interface. All such projects appeared on the wave of success Yahoo Pipes- a tool for creating all the same mashups and mini-applications using drag'n'drop interface. Microsoft came to this market niche in a timely manner and, according to the authoritative TechCrunch, is now ahead of all its competitors.
And it is ahead of them for one simple reason - providing more opportunities. In Popfly, you can create mashups, applications, web pages, widgets, combine all this into a social network (as part of the Live Spaces platform). In Live Spaces, in turn, you can team up with other users and application creators. In general, all-round communication. In addition, since recently, PopFly has been able to not only “befriend” services, but also create “casual” games, and even those who have never done this before can do this.
Initially a beginner game developer a set of more than 15 game templates, hundreds of pictures, animations, sounds and other elements of future games is available. All this is created and edited in a clear visual mode. You can also play there.

Interface - makes you freeze in amazement. Creation and management takes place by dragging and connecting blocks, as shown in the screenshot:

Each block acts as a module that uses the web service API. Today there are several dozen such blocks, which provides ample opportunities for working with various services.

As promised - a few words about moonlight. This is the result of a joint collaboration Microsoft and Novell, who signed an agreement last autumn, the main idea of ​​which was: porting Silverlight applications to operating systems linux.
And most recently, the release of Moonlight 1.0 took place. It allows you to run applications written in Silverlight 1.0, but now, in parallel with the Silverlight 1.1 Alpha - Silverlight 2 Beta 1 branch, work is underway on the next versions of Moonlight.

Another interesting detail about Microsoft Silverlight is the launch of the first channel based on this technology. From October 9, 2007, a wide audience can get acquainted with the benefits of this solution. The executor of the order was the company SMS Media Solution, which was assisted by the Russian representative office of Microsoft. Well, the last small achievement was the broadcast of the inauguration of the new Russian President Dmitry Medvedev live using ... what? silver light. Broadcast could be embedded in any site that supports iframe, by simply pasting a piece of code.

Editor of the authoritative online publication ReadWriteWeb, Richard McManus, in his forecast for 2008, noted that technologies like Silverlight would gain more and more fans: developers and users. Especially considering the fact that Microsoft was not too lazy and ported Silverlight to mobile devices. In March, Nokia announced support for the technology in its S40 and S60 series phones, as well as the Nokia 770 and n8x0. Addition to them is available as a plugin for browsers of supported platforms.

Looking at some examples of how Silverlight applications work, you are surprised - nothing like this existed until recently.

Naturally, not even every fifth person will try to create their application in Silverlight just to see its possibilities with their own eyes. In addition, how to see with your own eyes the possibilities of Silverlight as a platform for developing interactive business solutions.
For this reason, Microsoft has launched a website for the operation of the hospital. Patient Journey Demonstrator is a project of the British branch of Microsoft, already ready for preliminary public viewing. This is not the final version, but the main functionality is available and is of some interest.
The application consists of three parts, together representing "a day in the life of a medical institution from the point of view of various users." A fully interactive interface will guide you through the entire application, and a built-in "guide" will show you how to take advantage of all the features.
There really is something to look at, at least work with cardiograms using technology can be noted. DeepZoom– Lots of graphical information that is easy to use.

Until recently, Microsoft has promoted its product mainly through partners and has achieved some success in creating an alternative to Flash technology. At a minimum, the Silverlight plug-in can be installed in any browser, but the critical mass was not typed in any way. And a few days ago, the corporation dealt a powerful blow that could change the situation.
Along with the start of testing a new site Microsoft Download Center, which was created using Silverlight, each user accessing the resource will receive an offer to download and install the Silverlight plugin, otherwise some of the content and functionality of the site will not be available to him.

Silverlight Applications

Silverlight uses the traditional technology of extending the functionality of browsers - add-ons (plug-ins) .

The advantage of the add-on model is that in order to view content created by different people and companies, the user only needs to install a single component, the Silverlight add-in. To do this, the user just needs to download one small file from the Microsoft website for free and enter confirmation in a single dialog box. The whole procedure takes no more than a minute. When the add-on is installed, the browser will be able to process any content compatible with it without user intervention.

The figure below shows two views of a page containing a Silverlight object. Above is the page that the user sees when the Silverlight add-in is not installed. At this point, the user can click on the Click now to install button to go to the Microsoft site, where they will be prompted to install the add-on. Below is the same page after installing the Silverlight add-on:

Currently, the Silverlight add-on is installed on 75% of computers connected to the Internet (including desktop computers and mobile devices). Considering only computers that have Windows and Internet Explorer installed, the percentage of Silverlight will be higher. These figures are impressive, but Flash add-ons are still installed on more web devices (96%).

Silverlight system requirements

It is very important that any web technology be compatible with as wide a range of computers and devices as possible. Silverlight technology is currently under development, but it is already compatible with most operating systems:

Windows

Silverlight 5 version runs on computers running Windows 8, Windows 7, Windows Vista, and Windows XP. The minimum versions of browsers that support Silverlight are Internet Explorer 6, Firefox 1.5 and Chrome 4.0. Work add-ins are also running Windows 2000, but only with Internet Explorer 6. Other browsers such as Opera and Safari (for Windows) currently also support the Silverlight add-in, but it is not yet documented for them.

Macintosh

Silverlight add-ons work on Macs running OS X 10.4.8 or later. An Intel processor must be used (PowerPC hardware is not allowed). For Silverlight, the minimum browser versions are Firefox 2 and Safari 3. Silverlight applications are not supported on Apple mobile devices, including the iPhone, iPod Touch, and iPad.

linux

Silverlight 5 add-ons don't work on Linux at this time, but the Mono team is creating an open source library for Silverlight (a Moonlight project endorsed by Microsoft). The latest stable official version of Moonlight supports Silverlight 2 applications, but a beta version that supports Silverlight 4 has already been released. Progress is slow, so it is not yet known when Moonlight will support Silverlight 5, if at all.

Windows phone

Silverlight is one of two officially supported application development technologies for Windows Phone 7 and 8 (the other being Microsoft XNA).

Installing the Silverlight add-on requires a small file (less than 10 MB) that is easy to download, so installing the Silverlight add-on is no more difficult than installing Flash.

Silverlight and Flash

Currently, the most successful and popular browser add-on, Adobe Flash, is installed in over 96% of browsers worldwide. Flash technology has a long history - more than ten years. Initially, Flash was a simple tool for adding animated graphics, but over time it has gradually evolved into a powerful interactive content development platform.

For .NET developers, building websites with Flash content feels like a natural fit. However, Flash needs separate development tools - a completely different programming language ( ActionScript) and another programming environment ( Flex).

Worst of all, there are no easy ways to integrate Flash content with .NET server-side code. In particular, accessing a Flash object to a .NET component requires a lot of effort. Using .NET server code to render Flash content (for example, to create an ASP.NET control that manipulates Flash content) is even more difficult.

Compared to Flash, Silverlight makes it much easier to manipulate .NET content. The main purpose of Silverlight is to enable the creation of applications that are as powerful and cross-platform as Flash, based on the first-class .NET programming platform. This allows developers to write Silverlight client code in the same language (C# or VB) as server code. In addition, developers can use the same abstractions in Silverlight client code as in server code, including I/O streams, controls, collections, generic objects, and LINQ tools.

Silverlight and HTML5

When Silverlight technology was created, it was assumed that its main purpose would be the development of powerful web pages, and its main competitor was Adobe Flash technology. However, after the release of several versions of Silverlight, the world has changed. Adobe Flash applications are still supported by almost every desktop computer, but they have been dropped from popular Apple products such as the iPhone and iPad. As a result, the mobile niche has gravitated toward other solutions, such as single-platform custom applications (running on only one operating system) and HTML5.

At the moment, everyone agrees that HTML5 is the future of the Internet (but not now, but someday later, and when exactly is unknown). However, the features promised by the HTML5 platform in the indefinite future are already implemented in Flash and Silverlight technologies. In addition, Flash and Silverlight provide many additional tools. For some applications, these additional features are not very necessary.

Without a doubt, the position of HTML5 will grow stronger over time. But until then, developers have to choose between tools that are supported now (Silverlight and Flash) but will never be supported on mobile devices, and tools that are not currently supported but will be supported by all devices, including mobile devices, in the future. In the latter case, the developer will prefer HTML5. This is the dilemma of choosing between powerful and affordable tools. Silverlight is powerful and HTML5 is affordable because it is now supported by all desktop browsers (but not all mobile devices).

Because of these trends, many Silverlight developers are unsure if this technology has a place in the future of the Internet. Since the future is rather uncertain at the moment, consider the following factors:

    The implementation and support of HTML5 is not yet complete. In particular, not all HTML5 features are supported in Internet Explorer. In IE 10, some HTML5 features were promised but never arrived. Many features are available in IE 9, but there are almost no HTML5 features in IE 8. This is too bad, because IE 8 is still the most popular browser for the Windows XP operating system, which does not think to leave the scene (it is still installed on most desktop computers). For these reasons, HTML5 remains a less supported technology than Silverlight, and this will not change for at least a few more years.

    Silverlight has features not found in HTML5. Even browsers that fully support HTML5 are far behind Silverlight in some key areas. They do not provide powerful video streaming, graphics hardware acceleration, invoking Windows components, accessing files, running applications outside the browser, networking, and so on. It's hard to imagine that the HTML5 platform will ever be able to compete with some of Silverlight's special features, such as PivotViewer controls, which combine the tasks of animation, data filtering, and image scaling into one easy-to-use package.

    Silverlight is based on high-level APIs. It is possible to create applications without using tools such as data binding, templates, and styles, but they allow you to do it quickly and efficiently. Many of the tasks that can be done in HTML5 require discipline and careful planning. They can be solved with JavaScript, but its syntax does not support strong typing, which makes it almost impossible to create large applications in JavaScript. In addition, all animation procedures in JavaScript must be written by hand, and multithreading support is extremely clumsy, which does not allow complex tasks to be performed in the background.

    Silverlight is supported by high-level development tools. With Visual Studio, developing Silverlight applications is as easy as developing desktop applications. Expression Blend greatly facilitates the creation of complex user interfaces containing powerful graphic effects and animations.

    Silverlight integrates seamlessly with ASP.NET . In particular. Silverlight allows you to send queries to a back-end database through a web service. Because of this, many experts believe that even after HTML5 takes over the Internet, Silverlight will remain the technology of choice for closed corporate networks.

The future of the Silverlight platform is rather vague right now. It may remain the platform of choice for developers of .NET-based enterprise applications, or it may gradually evolve into a niche tool for creating powerful PC games and video players. One thing is certain: Silverlight will never replace HTML as the primary language for building traditional open websites. However, this was never planned.

Silverlight and Metro/Windows 8

When Microsoft announced that Windows 8 was building on a new powerful client programming model called Metro, the development of the Silverlight platform ground to a halt. Many developers have wondered if a new programming model will become a Silverlight killer in the near future.

The answer to this question is a resounding "No!". Metro technology is designed to make it easier to create a completely different kind of application: lightweight, touch-centric, and data-intensive. These applications are designed for future generations of Windows 8-based tablets. Metro (like its closest cousin WPF) competes with the iPad platform. Metro applications cannot run on non-Microsoft platforms, and even more so on any version of Windows other than Windows 8. For this reason, Metro technology is not a competitor and is not of interest to Silverlight developers.

In the future, the Silverlight niche may shrink. It seems to be sandwiched between cross-platform HTML5 applications, which are gradually gaining more and more market share, and Metro and iPad applications for mobile devices. So far, however, Silverlight occupies (and will continue to occupy) a vast space between these technologies for a long time to come.

Silverlight and WPF

One of the most interesting aspects of Silverlight technology is that it borrows from .NET the powerful WPF model used to create complex client interfaces.

WPF is designed for building complex Windows applications. WPF tools not only simplify the development process with convenient high-level tools, but also provide higher performance by rendering any content directly through the DirectX pipeline.

Obviously, Silverlight cannot duplicate all of the WPF features, since many of them depend on operating system features, including Windows-specific drivers and DirectX features. Yet, instead of inventing an entirely new set of controls and classes for the client side, the Silverlight developers adopted a subset of the WPF model. If you have experience with WPF, you will be surprised at how similar Silverlight is to WPF. Listed below are a few common features:

    The Silverlight user interface (the collection of elements that populate the content area) uses XAML markup, just like WPF. You can even display data in Silverlight using the same data binding syntax as WPF.

    Silverlight borrows many of the core controls and templating from WPF (for changing the appearance of standard controls).

    Silverlight uses shapes, paths, transforms, and brushes to draw 2D images. All these features are almost the same as in WPF.

    The Silverlight workbench provides a declarative animation model based on a storyboard sequence that works the same as the WPF animation model.

    To play audio and video files, the MediaElement class is used, just like in WPF.

Development of Silverlight

The Silverlight 1 version was quite "humble". It contained support for two-dimensional drawing and playback of multimedia files. It didn't even have a CLR runtime driver and a .NET language compiler, so developers were forced to write code in JavaScript.

The Silverlight 2 version has been radically changed. It added the CLR, a subset of the .NET Framework classes, and a WPF-based user interface model. As a result, Silverlight 2 has become one of the most anticipated technologies in Microsoft history.

Future versions of Silverlight are not as ambitious as Silverlight 2. Silverlight 5 retains the Silverlight 2 development model and adds several carefully selected new features. Here are the benefits of the latest version:

Productivity increase

Silverlight 5 applications launch faster, support 64-bit browsers, and display smoother small fonts more clearly.

Vector print

Improved print model by adding PostScript drivers. As a result, printing is faster and requires less memory.

Hardware accelerated 3D graphics

Silverlight provides an application with part of the Microsoft XNA infrastructure for creating XBox games. A powerful low-level interface for displaying 3D scenes has been added. Most importantly, all calculations are performed in hardware, providing a significant performance boost. You can also note the reduction of audio latency by supporting Microsoft XNA tools when playing audio files. This is especially useful in video games where lag is unacceptable.

Flexible playback

You can now play a video clip faster or slower without changing the pitch of the audio. This allows you to view content (such as a video tutorial) at the selected speed.

Viewing pivot tables

Added a control that allows you to view huge collections of data. Many functions are combined in one control, such as image scaling, data filtering, and transition animation. Best of all, when using this control, the developer almost never needs to write code.

Debugging XAML

You can now fix data binding errors by setting breakpoints in binding expressions.

Child windows

Silverlight applications running outside of the browser can now display additional windows like Windows desktop applications. It doesn't even need elevated permissions.

Support for file access and P/Invoke calls

Applications running with elevated permissions can access any files on the hard drive that the user has access to (except those that require administrator privileges). On a Windows computer, you can use P/Invoke calls to access legacy C functions from the Windows API libraries.

Silverlight 5 backward compatibility

Can an existing Silverlight application developed in a previous version run on a computer that has the Silverlight 5 add-on installed? This is not as simple a question as it might seem at first glance, because Silverlight 5 has made some subtle changes and fixed a number of bugs that can affect the operation of the application and even change its behavior.

To prevent changes from affecting existing applications, Silverlight 5 uses the quirks (non-standard). When a Silverlight 5 add-in loads an application compiled for previous versions of Silverlight, it automatically enables custom mode, which closely emulates the runtime behavior of the previous version of Silverlight.

For more information on the subtle differences between Silverlight 5 and Silverlight 4, see Ensuring That Your Silverlight Applications Work with Silverlight 5 on MSDN.

  • Translation

For reasons I don't understand at the moment, it appears that many of the developers who attended the recent PDC-2010 conference ( Microsoft's largest developer conference - Approx. translator) were very surprised that Microsoft decided to shift the focus of RIA development from Silverlight to HTML5. Although this surprise of developers is no less surprising - at recent conferences and announcements ( for example, announcements of the development of Internet Explorer 9 - Approx. translator) Microsoft representatives made it clear, although not entirely clear, that the priorities are changing to a more cross-platform solution. What is the secret?

When Microsoft released the first version of Silverlight in 2007, the plug-in was positioned by the press as an analogue of Adobe Flash ( although there are a number of other similar solutions: Adobe AIR, JavaFX, Google Gears (whose development is closed, part of the code became the basis for HTML5), OpenLaszlo, etc. - Note. translator). Although there are still some differences. Silverlight is still aimed at programmer developers, while Adobe Flash is leaning towards web designers, although both platforms covered the same market for complex interactive applications delivered through a web browser.
Naive developers who came to listen to speeches on MS Silverlight were disappointed. Bob Maglia ( president of the server division of Microsoft - Approx. translator) stated that Microsoft's RIA development strategy has shifted to HTML5.
In a statement on ZDNet, in which CEOs Steve Ballmer and Bob Maglia announced that Silverlight will continue to evolve, but HTML5 markup language will take precedence on the Web.
It's understandable for developers to have been swayed by Microsoft's repeated assurances in the recent past that Silverlight will knock Flash off the stage and become a surprisingly powerful tool for delivering projects. And now the developers, who are going to create their projects based on Silverlight, hear from the company that, supposedly, Silverlight is good, but we will forget about it, because HTML5 is sharper and cooler. Yes, there is something to grind your teeth from, but you have to be objective - Microsoft has talked about this before ( During the development of the Gazelle browser (which has now been transformed into a completely different project) and the first previews of IE9, some developers in their blogs and interviews indicated that HTML5 would be the basis - Approx. translator).

The development of IE 9 was supposed to be the first wake up call for programmers targeting Silverlight. Microsoft trumpeted at every turn that the browser complies with just all web standards, that IE is the best at supporting CSS3 and HTML5 ( Then it was a pure lie, which many Internet resources accused the corporation of, although now it is a reality. IE 9 PP6 is in no way inferior to Chromium 9 on average. I tested Chromium 9 at the W3C, so don't kick too hard - Note. translator). Now, Microsoft has almost created a high-performance, web-standards-compliant browser that isn't just a wake-up call to the Silverlight RIA developers, but a bell.
At the same time, it would be nice if the browser development team kept talking about this, so the Silverlight developers, firstly, gently hint that Silverlight will become just a small gadget for HTML5, because the new markup language, for example, is not yet able to stream DRM-protected video. That is, in the end, Silverlight is not even positioned as a competitor to HTML5, but remains a competitor to Adobe Flash, which so far occupies a dominant position.
Second, the Silverlight developers talk about using the module standalone. Apart from the browser, the plugin can be used as a platform for desktop applications (Seesmic example) or, more importantly, writing applications for Windows Phone 7. Games, of course, will be more convenient to write in XNA, but non-game applications for the new mobile OS are easier to write in Silverlight ( This was discussed a lot at the Student's Day conference at Moscow State University on November 1, and will be discussed tomorrow in Kyiv - Note. translator).
In fact, Bob Maglia did not announce new strategies, but simply put everything on the shelves. Silverlight is leaving for Windows Phone, and everything else is at the mercy of HTML5. What is the reason? And here's what:

Apple problem
Despite Microsoft's best efforts to make Silverlight cross-platform, the task has failed. Windows was embraced, Mac OS X was woefully supported in half, Linux was handed over to Novell, which began to write a crutch in the form of Moonlight, only "parodying" the closed Silverlight. Difficulties began in the mobile market, namely with iOS. As you know, Apple banned the execution of plug-ins in the mobile Safari environment, which caused a stir among users of applications based on Adobe Flash, although it also affected Silverlight, but due to the low popularity of the module, this did not cause much resonance. It turns out that Microsoft is giving away the Internet tablet market and the wildly popular iPhone without a fight. ( Microsoft is trying to encourage manufacturers to release tablets for Windows 7, but against the background of Android, iOS, webOS, Jolicloud, it looks pale - Approx. translator). Therefore, the only way to gain a foothold there is HTML5.
A similar problem caught up with Flash, but Adobe turned around with a number of bypass tools ( as well as a number of third-party developments by fans and other developers, such as the SkyFire browser, which, in the image and likeness of Opera Mini with traffic compression, will process Flash content on its servers - Note. translator).
Still, it's not clear what Servelat's main focus will be: standalone PC apps, Windows Phone 7 apps, or an HTML5 tweak?
New Direction for Silverlight
Paradoxically, Silverlight has remained just as important as it used to be, though not in the same direction as originally intended.
All this clowning in the past, where Silverlight was positioned as a "Flash killer" did not look at all serious. Adobe has a convenient free open source framework Adobe Flex, which is very difficult to displace Visual Studio and Expression Blend, which, moreover, are paid or contain a number of restrictions. In such scenarios, it is very difficult to displace Flash. Therefore, the return of the entire web segment to the HTML5 language is fully justified. Objectively, Silverlight didn't have much of a chance of supplanting Flash.
Silverlight, on the other hand, stands a good chance as a development platform for Windows Phone 7. And here comes the big question: will Windows Phone 7 be able to bite off a piece of the pie that Nokia, Google, Apple, Research in Motion and HP are fiercely sharing with their webOS? If not, then all the money invested in the development of Silverlight will be wasted. But Microsoft has reasons to think positively - the smartphone market is a potentially promising market ( over the year, the share of mobile devices in Internet traffic grew by 2% - Approx. translator). If Microsoft manages to bite off a piece of the pie in the dynamics of the market and keep it in its teeth, then there will be chances for expansion into the shares of competitors. With a powerful application development platform like Silverlight, MS has a future in this segment ( And that's why at all conferences and blogs, Microsoft representatives are desperately chanting "Start coding for Windows Phone right now!". If there are no third-party applications, then WP 7 will die without being born properly - Approx. translator).
Silverlight on desktop
Silverlght is by no means the worst framework for developing standalone applications for personal computers, considering Expression Blend and Visual Studio are the most powerful development tools. Together with them, it is relatively easy to create a design and code base for similar Silverlight applications. The problem lies elsewhere - Microsoft's policy.
The last PDC-2010 didn't talk much about Silverlight, but didn't talk about desktop applications at all. Yes, there are excuses for this: this year Microsoft's main theme is Windows Phone 7 and Windows Azure, which were a priority, but Windows 7 has already been forgotten. We will most likely hear about the development of Windows 8 next year, and that is not a fact. From this it is clear that Microsoft "flew" into the "clouds", sending everything else to the back burner.
Desktop Silverlight is a beast of a special kind. It is essentially a derivative of the .NET Framework and Windows Presentation Foundation (WPF). It eliminates features that are not needed outside of web applications to get faster and more performant performance. That is, if you can write applications in C# or WPF, then you can easily write in Silverlight, and vice versa.
However, the Silverlight module was originally conceived as a browser plugin. Yes, developers can choose between .NET/WPF and Silverlight (it even has advantages for running under Mac OS X), but with the more powerful .NET/WPF, the range of applications they develop is much wider. In terms of functionality, WPF and Silverlight overlap in some respects.
This "rivalry" between the two products is indicative of some of the shortcomings of Microsoft's policy in the field of desktop applications. Let's go back to when Windows Vista, then known as Longhorn, was just beginning to be developed. Back then, .NET code was seen as the future of Windows application development, and it was clear: WPF was an application development platform, and Silverlight (then WPF/Everywhere) was a stripped-down version for multi-platform web applications. The first builds of Windows Vista even had the ability to write scalable WPF applications, which would be a powerful leap to the modern concept of "three screens"
However, as you know, the Longhorn project itself was restarted, the notorious Windows Vista was released, and .NET fell into deep shadow. It looked like Microsoft was afraid to use .NET, at least on the desktop. Instead of releasing a system built on top of WPF, WPF was ignored, and it wasn't until the launch of Visual Studio 2010 that Microsoft began making applications built on top of the technology. At the same time, in Windows Vista, the same smart scaling was removed when installing the first service pack. For what reasons is not clear.
Looking at all this throwing, it is not entirely clear what Microsoft is going to do (it seems that even she does not really understand what needs to be done). The fundamental principles of WPF are very impressive, and developing Windows applications in WPF is much more preferable than under Win32, although there are still many doubts.
With Windows 7, the Redmond giant provided a Direct2D technology that neither WPF nor Silverlight uses, but which underpins Internet Explorer 9's high-performance HTML5 rendering. So WPF may die, though it may coexist with Silverlight, or vice versa. , both technologies can go into the shadows. Before Windows Phone 7, I thought the latter would happen, but now with the mobile OS and Visual Studio Lightswitch, I understand that WPF will go to the margins, giving way to Silverlight.
Silverlight on the web still makes sense
Now that Silverlight has lost its focus on web application development, and has an uncertain future on desktop applications, one can see the frustration of many developers realizing that their applications are no longer needed in the way they were intended. The strangest and most puzzling thing is that Microsoft's strategy is not entirely clear, since they only state general phrases without revealing their specifics.
I don't think there is any doubt that HTML5 will dominate the market ( Google policy, Apple and Adobe's actions really leave no room for doubt - Approx. translator), but not now. While Internet Explorer dominates the browser market, and HTML5 support ranges from zero (Internet Explorer 6) to negligible (Internet Explorer 8)
Yes, Internet Explorer 9 significantly and qualitatively changes the existing support (or rather not support) of web standards by the browser, but it is absolutely unknown when it will be officially released. During the 18 months of its existence, Internet Explorer 8 won back about 50% of the total share, while the remaining 50% is shared by the morally and technically obsolete IE 6/7. That is, even if Microsoft releases the "nine" right now, it will take about a year until it takes some significant share. Whereas Silverlight and Flash are available right now in any version of the browser.
Even if HTML5 now dominated the majority of the web technology market, development would be difficult. Many specifications exist, but far from the final stage of development, browsers on different engines perceive the markup in their own way, showing completely different results. It turns out that developers have two options - to work with HTML5 and spend a lot of time tweaking, sawing, testing the markup in each browser, or take the Silverlight plugin, which looks the same in all supported browsers and systems. And do not forget that smart development and design tools for HTML5 have not yet been invented. Yes, Adobe has introduced a tool to convert Flash to HTML5, but it's a tool for the future, not for today, while both Microsoft and Adobe have powerful developer tools and add-ons for working with Silverlight and Flash, respectively. Therefore, do not zealously bury both modules.
Also, don't forget that HTML5 doesn't do a lot. For example, a DRM-protected video that is used in the Hulu service. Streaming video is very difficult to create with HTML5, and working with webcams and microphones is very far from ideal. In short, HTML5 doesn't do a lot of things that Flash and Silverlight do.
HTML5, or even something that may soon be based on it, will not be able to gain much popularity even next year and perhaps a year from now. There are many more areas where Flash and Silverlight are much more preferable than HTML5 as plug-ins and as development tools.
Against this backdrop, Microsoft's decision to start phasing out Silverlight's web focus looks odd to say the least. Yes, in a year it would be necessary, but now? The World Wide Web Consortium (W3C) is making a big effort to create a standard, but the work is so far from complete that killing technologies like Silverlight and Flash without a viable replacement is sheer madness.
But it's time for Microsoft to make a decision and stop bullshitting developers. What will be the platform for writing applications on desktops? Win32 (with or without Direct2D doesn't matter anymore)? silverlight? WPF? Or something else altogether? Three ways to develop, sorry, but it's tough. The alternative is good, but if today there are three ways of development, and the developers are divided equally and start writing applications, and tomorrow Microsoft digs in two ways, so what, the developers are left with nothing? If Silverlight and WPF are the future, then connect Direct2D to them so that they work smartly and look the same with other applications, but if they are not the future on desktops, then let them declare it to developers so that they are ready for change, and not drive them behind nose.
Although you can guess the plans of Microsoft. Right now, Direct2D is the best way for developers to write high-performance user interfaces, and also the best way to work with HTML5 in IE9. Will Redmond be able to embrace all of HTML5 with his vision and capabilities, plug the holes with the W3C that prevent HTML5 from "overcoming" Flash and Silverlight, and then use it all in Windows? Apple is starting to do something similar with iOS.
Strange things happen, strange things.
Liked the article? Share with friends: