📜 ⬆️ ⬇️

Why is WPF alive?

I have long been a desktop systems developer. At first it was WinForms, then more powerful and flexible WPF. Since then, a lot of time has passed and there are a lot of rumors and opinions that WPF is ending its life, because now there is so much talk about writing desktop applications on JS. And Microsoft is pushing the WinRT platform to develop new applications to the masses. This could not leave me and my colleagues indifferent.

So why are we, the GoSharp conference team (yes, yes, this is about C #), decided to focus on desktop development in the WPF context ? Next, I want to show what the light and dark moments are in the existing position of the framework, and why it is worth investing time and effort into it.


')
There is an opinion that the development of desktop development has stopped in its development and there are several prerequisites for this. One of them is to stop, or even better to say, stagnation, in the database itself, in the WPF visual framework. Significant updates for him was not already 5 years, as it may seem. The official toolkit has not been updated for a long time, more precisely since February 2010, i.e. that's just the very 5 years. At the same time, companies specializing in custom components, such as DevExpress and Telerik, successfully release updates and make future plans for WPF. Even if you are focused on new products, the components for WinRT still use the concepts and the general structure of XAML, which does not go anywhere.
Further, we want to present the reasons why some consider WPF irrelevant, and the refutation of these reasons.


Reasons for concern


Reasons for concern can be identified with a dozen. But not all of them are really so scary and significant. Let's walk briefly on the main ones.

The WPF team blog hasn't been updated for a long time.

Just like any other team, the WPF team has a blog in which the plans and achievements of the team should be described. Unfortunately, the blog has long been no new information. This may suggest that everyone has been dispersed or that there is nothing to write about. However, this is not the case and the blog was updated 4 months ago and the last entry appeared 20 days ago. Moreover, a master plan for the development of the framework has appeared, as well as brief descriptions of new features available with the latest CTP.

The official WPF toolkit has not been updated for a long time.

The official WPF Toolkit page on CodePlex has not been updated since 2010. And this was once a platform for running new components, which were openly finished and, if successful, poured into the main releases of the framework. This state of affairs can also inspire suspicions that we don’t have to wait for anything new and will only need to buy components from large companies or do something on our knees, long and painfully if this is not a core area of ​​your business. But the unofficial Extended WPF Toolkit toolkit is very much alive and the last release was on February 13, 2015. Those. last week was. This toolkit supports Xceed , but the investment goes to the open source project, which means they see the future behind it. The title banner unequivocally expresses optimism on this account.



Moreover, by turning to one of the largest reseller components in the Best Sellers section, you can see that the components for WPF are in the top 5 sales among all products.

WPF certification

On the Internet, you can find rumors and reports that the basic certification for WPF 70-511 ends in 2015 and will not be extended. This is not true, as you can see for yourself by following the link.

WPF certification is still in force and is being actively sold, although the support service recognizes this course as somewhat outdated. However, there are no reports that this certification is outdated and does not retire.

No Win 8+ integration

During the release of WPF4, a significant part of the improvements was devoted to integration with Windows 7, but this is not the case with new operating systems. Already on the nose of Windows 10, and no new features related to the capabilities of the OS in WPF are not observed.

New Microsoft Strategy

In February 2014, the new CEO was Satya Nadela , who came from the cloud department, which might hint. Satya replaced Ballmer, who somehow did not want to develop towards the mobile market and cloud technologies. Perhaps this is the reason for such a sharp jerk of Microsoft towards mobile development and such promotion of Azure. Now the company is moving under the slogan “first clouds and mobility” , which leads to a departure from the traditional model of desktop applications and the active use of WPF.

Windows store

Publishing WPF applications in the Windows Store is not possible . You can make the application a business card that will download and install a full-fledged application, but this looks like a workaround. However, Microsoft is trying to create some kind of conditioned reflex, like Apple and Android users, that all applications are installed only through the Store. This is also a bell against WPF.

Mobile market

This is the twilight zone for WPF, as it has never been thought of as a means for mobile development. Silverlight for Windows Phone was considered this role, but everyone knows the fate of this idea. The realities of the world now are such that we consume more and more content using mobile devices and many are developing mobile versions for basic programs. If this is your case, then most likely you will use a different technology stack than WPF.

Cross platform

The existence and development of Mono makes it possible to talk about some cross-platform .NET stack, and for most frameworks there is a version for Mono. However, not for WPF. Although the recent discovery of source codes and the enthusiasm in this regard makes it clear that WPF can still move to Mono and act as a user interface provider.

Many disturbing considerations are leveled or canceled by the latest actions of Microsoft. And it really looks like real activity, not creating an appearance of activity. In addition, there are reasons to stop panic and continue to use WPF more than negative things.

Positive moments for the future of WPF


Active WPF team

The WPF team really woke up and their blog began to update.

There is potential to develop

The WPF team is working to improve the speed of the framework and support for touchscreens and screens with high density, which are the characteristics of modern mobile devices. Support debugging and profiling in the new studio. Publication of global plans. All this is encouraging. By the way, on this occasion you can watch an interview on Channel9 about the future of WPF .

New tools

The popular Prism tool, a set of tools and best practices for development on WPF, has been updated to version 5. Further, the unofficial extended set of tools for WPF Extended WPF Toolkit is being actively developed, which was updated just a couple of days ago. In the development of new tools are not inferior and flagship type DevExpress.

The two most popular MVVM frameworks are MVVM Light Toolkit and Caliburn. Micro are also active. For the first, the last check is dated February 21, 2015, for the second, March 16, 2015. And these are not single chekins every six months, but regular work.

We can say that the ecosystem of tools for WPF is alive and evolving, which is especially important for a business, because it will not be left alone with its problems in case of anything.

Management changes

In late 2012, Stephen Sinofsky left the post of President of the Windows Division and Microsoft in general. Why is this a good sign for WPF? Because he was known as a notable .NET hater and did not get along well with other teams. Perhaps this is the main reason for his resignation.



This also partially explains, along with technical reasons, why .Net was not used as the main technological stack for the new Windows operating systems, whereas in fact it is one of the best Microsoft products. Outside, of course, it is difficult to assess the loyalty of rumors and gossip around Stephen and his influence on how Windows 8 and above turned out.

OS inertness

The inertia of the OS market is both good and good. Now for WPF, this is good, because business and private users do not instantly switch to new versions of the OS , for a number of good reasons: it costs money, it takes time, it is always a risk, and often it is just useless.

For companies, migration to a new OS is always a headache and a problem. It is necessary to ensure the compatibility of all services, all their developments. Make sure vendors can provide relevant experts and support to train their staff. In general, the transition to the new OS can be 2 years or more. Against this background, it seems somewhat strange and intriguing to say that every 2 years, Microsoft will release new versions of its products, including the OS. There is no need to go far for an example, many companies are not switching from sevens to 8 and 8.1, it is quite natural how things will be with the new version and whether it is not necessary to go straight to it.

Currently, Microsoft’s OS distribution looks like this:

Those. WinRT functions are not available on more than 80% of machines and only one option remains - WPF. Taking into account that the cycle of updating the OS and applications is about 5 years, now WPF is the only choice if you decide to make the application not for the weekend and for the next six months.

ALM inertness

Not many people know that writing a program is worth a lot of money. First, in a series of meetings with all stakeholders, it is necessary to assess the impact of the software on current processes in the overall business process. We need to find key users and convince them that a software update is required. Then new software should be developed, while the old should work as if nothing had happened. The new application should work side by side with the old one, so that you can compare the results and understand that nothing is lost and everything works at least at the same level, not worse. The guys of their DB departments are also involved in working with backups, network engineers to set up new rules for firewalls, and so on.

And this is only a small part of the whole process, but it is also enough to understand that there will not be any applications for the newly emerged technologies. The support of WPF from the business side will be strong, because it is already a stable technology for which there are specialists and with this you can build your processes. By the way, until now, sometimes Delphi5 or Fortran specialists are required to support applications and they are now very expensive. Although on the whole it is not necessary to go so far, a huge number of applications written using WinForms are still relevant, so it would be too early to write off WPF.

WPF mature technology

For many developers, it is obvious that the first version of the application takes the most time and effort. In this vein, you can consider the release of WPF 3.0 and WPF 3.5. After defeating childish sores, applications on WPF 4 have already become “full”, developers have begun to pay attention to speed, which hints at the stability of the main technological base. Finally, in version 4.5, the developers added more decorations and further increased productivity.

The more mature the technology, the less labor it requires. Thus, after 8 years of development, WPF support is almost not required, which indicates maturity. But, as I already wrote above, the developers decided not to abandon it, but decided to revive the framework in accordance with the spirit of the times.

Line of Business (LOB) Application

Local business applications are the area in which WPF will not only survive, but dominate and show itself best. Why?

Firstly, because they have accumulated vast experience in developing applications on WPF and deploying them to the system. Because it is .Net platform, which in itself is already a mature product. If companies have enough applications on .net, then there is no reason to stop and switch to another stack. It is much easier to use existing programmers to cover all business needs. In addition, the integration of applications on one platform will be significantly easier.

Another reason why WinRT cannot yet replace WPF is that it does not have the same toolkit. For example, such things as ORM in the spirit of NHibernate or EntityFramework, which are necessary for any in-house application.

Security, for many, is a cornerstone, for example in financial applications. Therefore, the use of WinRT may not only be unnecessary, but also not desirable.

Integration with WinForms

For more than 10 years, companies have created a huge number of applications on WinForms and it is not possible to redo them at once by other technologies. The great advantage in this case is the reciprocal ability between WinForms and WPF to use each other’s components and embed each other. Thus, migration from one technology to another can take place gradually and relatively painlessly.



As far as I know, so far WinRT can not be embedded in WinForms components, forms.



As you can see, there are much more positive moments and this is what inspires us optimism that WPF will not be forgotten and will be in demand for interesting tasks for a long time. WPF does not die and does not go into the sunset. He is now at the zenith of his development, and this is precisely why we want to make a conference on how best to create business applications using WPF and best practices for organizing an enterprise user interface.



If you are also involved in development using WPF, create complex interfaces, work with a complex business domain, you are interested in issues related to best practices and trends in desktop applications, and you want to find colleagues and like-minded people to share your opinion on everything the above - welcome to the conference . We have something to tell each other!

More specifically, we will discuss topics:



Sign up! Until March 23 there is a special price.

Source: https://habr.com/ru/post/253341/


All Articles