For reasons I don’t understand at the moment, it seems that many developers who attended the recent PDC-2010
conference (Microsoft’s Largest Developer Conference - Approx. Translator ) were very surprised that Microsoft decided to shift the emphasis in developing
RIA 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, though not quite clearly, that priorities change 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 (which is closed, some of the code became the basis for HTML5), OpenLaszlo , etc. - Approx. Translator ). Although there are some differences. Silverlight is still aimed at software developers, while Adobe Flash is leaning towards web designers, although both platforms covered the same market for complex interactive applications delivered via a web browser.
Naive developers who came to listen to speeches dedicated to MS Silverlight, disappointed. Bob Muglia (
President of Microsoft’s server division - Approx. Translator ) said that Microsoft’s development strategy for developing RIA had shifted to HTML5.
In a
statement on ZDNet , in which CEO Steve Ballmer and Bob Muglia announced that Silverlight will continue to evolve, but on the Web will receive priority HTML5 markup language.
It is quite possible to understand the developers who have been tempted by Microsoft’s repeated assurances in the recent past that Silverlight will knock Flash off the stage and will become an extraordinarily promising powerful tool for implementing projects. And now the developers who are going to create their own projects based on Silverlight, hear from the company that, de-supposedly, Silverlight is good, but we’ll score on it, because HTML5 is shakier and cooler. Yes, there is something to grind with your teeth, but you have to be objective - Microsoft talked about this before (
During the development of the Gazelle browser which has now transformed into a completely different project) and the first IE9 previews, some developers indicated in their blogs and interviews that HTML5 would be basis - Approx. translator ).
The development of IE 9 was supposed to be the first bell for programmers aiming at Silverlight. Microsoft blamed at every step that the browser just met all the web standards, that IE best supported CSS3 and HTML5 (
Then it was a lie, what many Internet resources caught the corporation, although now it is a reality. IE 9 PP6 is not Chromium 9 is not inferior on average. I conducted the testing of Chromium 9 on the W3C, so do not kick hard (translator comment ). Now, Microsoft has almost created a high-performance, web standards-compliant browser, which is not just a bell to the RIA developers at Silverlight, but simply a bell.
At the same time, the browser's development team would have been telling about this, so also the
Silverlight developers, firstly, gently hint that Silverlight will become just a small HTML5 gadget, because the new markup language, for example, is not yet able to transmit streaming 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 is still dominant.
Second, Silverlight developers talk about autonomous use of the module. Separately 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 on XNA, but non-game applications for a new mobile OS are easier to write in Silverlight (A
lot was said about this at the Student Day conference at Moscow State University on November 1, and it will be said tomorrow in Kiev - Approx. Translator ).
In fact, Bob Maglia did not announce new strategies, but simply put everything on the shelves. Silverlight leaves for Windows Phone, and everything else is at the mercy of HTML5. What is the reason? But in what:
Apple problem
Despite Microsoft’s efforts to make Silverlight cross-platform, the task failed. Windows was captured, Mac OS X was halfheartedly supported, Linux was handed over to Novell, which began writing a crutch in the form of Moonlight, only “parodying” the closed Silverlight. Difficulties began in the mobile market, namely with iOS. As it is known, Apple banned the execution of plug-ins in the mobile Safari environment, which caused hype among users of applications on Adobe Flash, although it affected Silverlight, but due to the small popularity of the module, it did not cause much resonance. It turns out that Microsoft gives the market for Internet tablets and wildly popular iPhones without a fight. (
Microsoft is trying to stimulate manufacturers to produce tablets for Windows 7, but it looks pale against the background of Android, iOS, webOS, Jolicloud - Approx. Translator ). Therefore, the only way to gain a foothold there is HTML5.
A similar problem overtook Flash, but Adobe turned around with a number of bypassing tools (
as well as a number of third-party fan and other developers, such as the SkyFire browser, which, like Opera Mini with traffic compression, will process Flash content on its servers - Note of the translator ).
Still, it is unclear what will be the main focus for Cervelata: stand-alone PC applications, Windows Phone 7 applications or a “gadget” over HTML5?
')
New Development Silverlight
Paradoxically, Silverlight was no less important than before, although 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 any serious. Adobe has a convenient free open source framework Adobe Flex, which is very difficult to push out Visual Studio and Expression Blend, which, moreover, are free of charge or contain a number of limitations. In such a situation, it is very difficult to force out Flash. Therefore, the return of the entire web segment to the HTML5 language is fully justified. Objectively, Silverlight did not have any great chances to force out Flash.
Silverlight also has a big chance as a platform for developing applications for Windows Phone 7. And then a big question arises: can Windows Phone 7 take a bite out of a pie that Nokia, Google, Apple, Research in Motion and HP are sharing with its webOS? If not, then all funds invested in the development of Silverlight will be wasted. But Microsoft has reason 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 in the dynamics of the Microsoft market it is possible to bite off a piece of cake and keep it in your teeth, then there will be chances for expansion to the shares of competitors. Having such a powerful platform for developing applications like Silverlight, MS has a future in this segment (
And that's why at all conferences and blogs Microsoft representatives are desperately chanting “Start programming under Windows Phone right now!”. If there are no third-party applications, then WP 7 will die without being born properly - Approx. translator ).
Silverlight on the desktop
Silverlght is far from the worst framework for developing stand-alone 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 is different - in the policy of Microsoft.
At the last PDC-2010, little was said about Silverlight, but they didn't talk about desktop applications at all. Yes, there are excuses for this: this year Microsoft has the main theme - Windows Phone 7 and Windows Azure, which were priorities, but they forgot about Windows 7 already. On the development of Windows 8, we will most likely hear next year and that is not a fact. From here it is clear that Microsoft “flew away” to the “clouds”, sending everything else in the closet.
Desktop Silverlight is a special beast. It is essentially a derivative of the .NET Framework and the Windows Presentation Foundation (WPF). It eliminates features that are not needed outside of web applications for faster and more productive execution. That is, if you can write applications in C # or WPF, then you can easily write in Silverlight, and vice versa.
Nevertheless, the Silverlight module was originally conceived by a browser plugin. Yes, developers can choose between .NET / WPF and Silverlight (it even has advantages for working under Mac OS X), but with the help of more powerful .NET / WPF there is a much wider range of developed applications. In terms of functionality, WPF and Silverlight overlap in some aspects.
Such a "rivalry" between the two products is indicative of some of the shortcomings of the Microsoft policy in the field of desktop applications. Back in time, when Windows Vista was just being developed, then known as Longhorn. Then the .NET code was regarded as the future in the development of Windows applications, and everything was clear: WPF was an application development platform, and Silverlight (then WPF / Everywhere) was a stripped-down version for multiplatform web applications. In the first builds of Windows Vista, there were even opportunities to write
scalable WPF applications, which would have been a powerful step towards the modern concept of “three screens”
However, as you know, the Longhorn project itself was restarted, the notorious Windows Vista was released, and .NET was in deep shadow. It looked like Microsoft was afraid to use .NET, at least on desktop systems. Instead of releasing a WPF-based system, WPF was ignored, and only with the launch of Visual Studio 2010 did Microsoft start building applications built on this technology. At the same time, in Windows Vista, the clever scaling was removed when installing the first service pack. For what reasons - it is not clear.
Looking at all these throwings, it is not entirely clear what Microsoft is going to do (it seems even she does not really understand what to do). The basic principles of WPF are very impressive, and the development of Windows applications on WPF is much more preferable than under Win32, although there are still a lot of doubts.
With Windows 7, the Redmond giant provided Direct2D technology, which neither WPF nor Silverlight use, but which underlies the high-performance processing of HTML5 in Internet Explorer 9. It turns out that WPF can die, although it can coexist with Silverlight together, or vice versa , both technologies can go into the shadows. Before the advent of Windows Phone 7, I thought that the last thing was going to happen, but now with the mobile OS and
Visual Studio Lightswitch, I understand that WPF will go to the back, losing to Silverlight.
Silverlight on the Web still makes sense
Now that Silverlight has lost priority in the development of web applications, and has an obscure future on desktop applications, one can see the frustration of many developers who realized that their applications are no longer needed in the form in which they thought. The strangest and most puzzling is that Microsoft’s strategy is not entirely clear, as they state only common phrases, without revealing their specifics.
I don’t think that there are any doubts that HTML5 will take a dominant position in the market (
Google’s policy, Apple’s and Adobe’s actions really don’t doubt this - Approx. Translator ), but not now. While Internet Explorer is dominant in the browser market, HTML5 support in them 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. Over the 18 months of its existence, Internet Explorer 8 won about 50% of the total share, while the remaining 50% share 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 up some significant share. While Silverlight and Flash are available right now any version of the browser.
Even if HTML5 now occupies a large part of the web technologies market, development would be difficult. Many specifications exist, but far from the final stage of development, browsers on different engines perceive markup in their own way, showing completely different results. It turns out that the developers have two choices - work with HTML5 and spend a lot of time trying to customize, cut, test 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 HTML5 has not yet come up with intelligent tools for development and design. Yes, Adobe introduced a tool for converting Flash to HTML5, but it is a tool for the future, but not for today, whereas both Microsoft and Adobe have powerful development tools and add-ons for them to work with Silverlight and Flash, respectively. Therefore, do not zealously bury both modules.
Do not forget that HTML5 does not know much. For example, DRM-protected video, which is used in the service Hulu. Streaming video is very difficult to create using HTML5, and working with webcams and microphones is very far from ideal. In short, HTML5 does not know much about what Flash and Silverlight can do.
HTML5, or even something that may soon appear on its basis, will not be able to take on great popularity even next year, and perhaps in a year. There are also quite a few areas where Flash and Silverlight are much preferable to HTML5 as plugins and as development tools.
Against this backdrop, Microsoft’s decision to start minimizing Silverlight’s web orientation seems at least strange. Yes, in a year it would be necessary, but now? The World Wide Web Consortium (W3C) takes great pains to create a standard, but the work is so far from complete that killing technologies such as Silverlight and Flash without having a full replacement is just the real frenzy.
But Microsoft is time to make a decision and stop puffing the brains of developers. What will be the platform for writing applications on desktops? Win32 (with or without Direct2D is no longer important)? Silverlight? WPF? Or something else altogether? Three ways to design, sorry, but this is hard. The alternative is good, but if today there are three ways of development, and the developers split equally and start writing applications, and tomorrow Microsoft will dig in two ways, what if the developers are sitting at the broken trough? If the future is for Silverlight and WPF, then connect Direct2D to them to work smartly and look the same with other applications, but if they are not the future on desktops, then let the developers say so, so that they are ready for change, and not drive them for nose.
Although you can guess about the plans of Microsoft. Direct2D is currently the best way for developers to write high-performance user interfaces, as well as the best way to work with HTML5 in IE9. Will Redmond be able to cover all of HTML5 with its capabilities and capabilities, plug holes with W3C that do not allow HTML5 to “beat” Flash and Silverlight, and then use it all in Windows? Something like this is starting to do Apple in iOS.
Strange things are happening, weird.
Article by
Peter Bright , developer of applications in C ++ and C #. Comments marked "Approx. translator "my.
Please forgive possible translation errors, for I was in a bit of a hurry. There is no article yet.