From the translator: it should be understood that all of the following information is only a speculation of a non-Microsoft author, and is presented here solely for understanding the problems facing Windows.
First part
Oh brave new world
The next version of Windows will include two executable environments — a new version of .NET (currently labeled 4.5) and a classic C ++ environment (from a technical point of view, this is COM or some derivative of it) called WinRT. Also in Windows 8, a new built-in user interface development library will appear - DirectUI - based on API Direct2D and DirectWrite, which were introduced in Windows 7. The new version of Silverlight, presumably still called Jupiter, will work using DirectUI. Both WinRT and DirectUI will be directly accessible from .NET via built-in access tools.
WinRT provides a modern API for a variety of functions that were previously represented by the Win32 API. Roughly speaking, WinRT is a new Win32 designed for use from the “modern” C ++ (as opposed to the old, 25-year-old Win32 architecture developed for C), and also to fit nicely into the .NET concept. Of course, it is unlikely that in Windows 8 WinRT will completely replace Win32, which is too large for a quick upgrade, but in future versions this may well happen. WinRT positions are strengthened with each new assembly, "merged" from Redmond.
')
WinRT is not just an improved version of the existing Win32 API - Microsoft also extends the functionality available to developers. For example, there will be comprehensive support for asynchronous operations to provide a simple way to perform protracted operations in the background process, and the clipboard API will become more flexible and easier to use.
DirectUI is based on a subset of current WPF / Silverlight technology and provides rich markup for user interfaces that Win32 never had. Programs written in C ++ will be able to use DirectUI, and this will be the same tool that .NET developers will be able to use.
Jupiter - in fact, Silverlight 6 - is a full-featured flexible set of tools for building applications. How exactly DirectUI and Jupiter relate is still unclear - it is possible that they perform the same functions, and DirectUI will evolve until it reaches the Silverlight level, and perhaps DirectUI implements only the basic functionality for more complex frameworks. It may also be that Jupiter is only intended to create full-screen, touch-oriented applications of the new format.
Developing user interfaces using tools like XAML, WPF and Silverlight is a priority for Microsoft in the future. A confirmation of the importance of this direction is the structural reorganization of the company, which occurred at the beginning of this week. The XAML development team, previously hosted under the DevDiv wing, was divided into three parts - the XAML developers for Windows went to WinDiv, and for Windows Phone, Xbox and browser plug-ins - in Windows Phone. Only that part of the staff that worked on development tools, such as Visual Studio and Expression Blend, remained in DevDiv. Microsoft's internal letter explains that the XAML team worked with WinDiv throughout the development of Windows 8, and the current changes only formalized their relationship.
The uniform modern unified Windows API
If now Win32 / C ++ and .NET are completely different platforms, each with its own capabilities, then in the near future they should become equal. If Microsoft adds new APIs to the Windows kernel, they will be directly accessible from managed code, which negates the main advantage of C ++ over .NET. On the other hand, existing applications written in C ++ will be able to use the new user interface without unnecessary gestures. This is also true for Microsoft itself: the equation of the two platforms opens the door for the .NET applications that come with the system.
For example, we can see the version of Office, whose interface for the first time in a decade, and maybe even more, will use standard Windows components.
So far it is not entirely clear what fate awaits WPF. WPF and Silverlight are developed by the same people, but the market perceives Silverlight much better than its older brother. WPF can do what Silverlight cannot do, and it will be regrettable if its abilities are not used in Windows 8. WPF and Silverlight are very similar, and perhaps Jupiter can combine their functionality.
From the point of view of the Microsoft ecosystem, the underreporting of WPF and the promotion of Silverlight are justified. Silverlight is used in developing applications for Windows Phone, and there is strong evidence that the Silverlight version for Xbox is also in development. The presence of Silverlight on Windows, Windows Phone and Xbox implements the ideology of Microsoft, called "three screens and the cloud", which is designed to provide a unified experience and experience of using applications on a computer, entertainment center and mobile phone.
However, there is no reliable information on how well this ideology will work in Windows 8. Windows Phone application developers are not sure that their products can be easily transferred to Windows tablets, unlike their counterparts specializing in iOS and Android . Both Windows and Windows Phone support Silverlight, but the specificity of a mobile phone requires additional functionality, which currently has no equivalent on a personal computer.
In the future, not scary
After the presentation of Windows 8 a few weeks ago, many had the feeling that applications for the new system interface would be developed only using HTML5 and JavaScript, which naturally caused considerable excitement in the Silverlight community of developers. Some topics on the official Silverlight forum got hundreds of answers and tens of millions of views — more than the rest of the forum won over a month. Developers want to develop applications for the new interface, but do not want to use HTML5 and JavaScript.
And they will not have to. Want to write such applications in C ++? No problem. Want to use C # and Silverlight? Similarly, both of these technologies are supported. Instead of leaving the entire development experience in the past - it was the impression that many had after watching that presentation - Windows 8 will make both C ++ and C # first-class tools for developing touch-sensitive apps and tablets.
As for the bundle of HTML5 and JavaScript, it will also be supported. By the way, Microsoft has already tried the soil of HTML applications in the form of its HTA technology (HTML Application). HTA executables consisted of HTML, JavaScript, CSS, and other content and were run in a special trust mode. Because of this, the limitations of ordinary HTML pages, such as the lack of access to local resources, did not affect HTAs, which could use the file system, work with the network, and so on. In other words, these were web pages devoid of many of the flaws that prevented them from replacing desktop applications.
New HTML5 applications are not based on the HTA, but their principles are very similar. Like the HTA, HTML5 applications will have more interaction with the operating system than regular web pages — so they can use the Windows API functions and have an interface that looks more like a desktop application. Ideally, they should be on the same level with .NET and classical programs, with the only difference that they use HTML5 and JavaScript as markup and programming languages. The result should be a development method familiar to web developers, but without the functional limitations inherent in web applications.
Windows 8 is not a developer’s nightmare at all, but on the contrary, a big step forward: a step that can make the development of Windows applications equally convenient for developers using C ++ or C # and web developers. Unification of .NET and classic code, full hardware acceleration, modern API, Avalon as the main solution for building Windows interface - everything that Longhorn promised many years ago can become a reality with Windows 8.
Mysterious silence
Against this background, complete silence on the air from Microsoft is even more difficult to explain. The company knows how the community reacted to their statements, but does not consider this a real problem, but only a trifle bloated by bloggers. The decision not to say anything except “Wait for the BUILD conference in September” was discussed more than once inside Microsoft at the highest level, but it remained unchanged - not to say anything, leaving developers unaware.
It seems to me that their position slightly cracked a week and a half ago, and I think that this crack is only getting bigger today. Ten million visits to the Silverlight forum is not a trifle bloated by bloggers. Windows Phone developers are already saying that they can change the platform, because the uncertainty of the future of this platform is not at all bloated by bloggers.
The fact that Microsoft does not want to reveal all the cards right now, is understandable. Windows 8 is still far from complete, and a lot can change to BUILD. But the developers are not asked to tell everything, they just want to know some important details. Will it be possible to develop applications for a new interface using C ++ or .NET? Will XAML be supported? By answering just these two questions, Microsoft could reassure bewildered developers.
If the direction of development of the system does not change after BUILD, then the answer to both these questions will be positive, and the development of applications for Windows will make the most important leap that it has not experienced since the advent of the 32-bit Windows API in 1993. This is a great prospect, but Microsoft wins nothing, leaving important questions unanswered.