Why is WPF alive?

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

    So why did we, the GoSharp conference team (yes, yes, it's about C #), decide to focus on desktop development in the context of WPF ? Next, I want to show what light and dark moments are in the existing position of the framework and why is it worth investing time and energy 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 a halt, or even better stagnation, in the database itself, in the WPF visual framework. Significant updates for him have not been here for about 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 those same 5 years. At the same time, companies specializing in custom components, such as DevExpress and Telerik, successfully release updates and make plans for the future regarding WPF. Even if you are focused on new products, the components for WinRT still use the concepts and the general XAML structure, which does not go anywhere.
    Further, we want to present the reasons why some people consider WPF irrelevant, and a 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 go briefly on the main ones.

    The WPF team blog has not been updated for a long time.

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

    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, after all, was once a platform for running in new components that were openly updated and, if successful, merged into the main releases of the framework. This state of affairs may also inspire suspicion that we do not have to wait for anything new and will only have to buy components from large companies or do something on our knees, for a long and painful time, if this is not a profile area of ​​your activity. But the unofficial toolkit Extended WPF Toolkit is more alive than all the living ones and the last release was on February 13, 2015. Those. last week was. This toolkit supports Xceed, but the investments go into the open source project, which means they see the future behind it. The banner banner unambiguously expresses optimism on this score.

    Moreover, referring to one of the largest component resellers, 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 main certification for WPF 70-511 ends in 2015 and will not be renewed. This is not true, as you can see for yourself by clicking on the link.

    WPF certification is still valid and actively sold, although the support service recognizes this course as somewhat outdated. However, there are no reports that this certification is becoming obsolete or retiring.

    No integration with Win 8+

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

    Microsoft's new strategy

    In February 2014, Satya Nadela became the new CEOthat came from the "cloud" department, which might hint. Satya replaced Ballmer, who somehow did not seek 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 advancement of Azure. Now the company is moving under the slogan “cloud and mobility first” , which leads to a departure from the traditional model of desktop applications and the active use of WPF.

    Windows Store

    Publishing WPF applications to the Windows Store is not possible. You can make a business card application that downloads and installs a full-fledged application, but it looks like a workaround. However, Microsoft is trying to generate some conditioned reflex, like Apple and Android users, that all applications are installed only through the Store. This is also some of the bells and whistles against WPF.

    Mobile Market

    This is the twilight zone for WPF, as it has never been conceived as a tool for mobile development. Silverlight for Windows Phone read this role, but everyone knows the fate of this venture. The realities of the world now are such that we are consuming an increasing amount of content using mobile devices and many are developing mobile versions for major programs. If this is your case, then most likely you will use a stack of technologies other than WPF.

    Cross-platform The

    existence and development of Mono allows us 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 enthusiasm in this regard are making it clear that WPF can still move to Mono and act as a user interface provider.

    Many troubling considerations are leveled or canceled by recent Microsoft actions. And it really looks like real activity, not the appearance of activity. In addition, there are more reasons to cancel the panic and continue to use WPF than there are negative aspects.

    Positive moments for the future WPF

    Active WPF

    Team The WPF team really woke up and their blog began to be updated.

    There is potential for development.

    The WPF team is working to improve the performance of the framework and to support touch-screens and high-density screens, and these are the characteristics of modern mobile devices. Debugging and profiling support 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 development practices for WPF, has been updated to version 5. Next, an unofficial extended toolkit for WPF Extended WPF Toolkit is actively developing, which was updated just a couple of days ago. In the development of new tools, flagships such as DevExpress are not inferior.

    The two most popular MVVM frameworks: 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 this is not a single check-in 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 business, because it will not be left with its problems one on one in case of anything.

    Management Changes

    At the end of 2012, Stephen Sinofsky resigned as President of the Windows Division and Microsoft in general. Why is this a good sign for WPF? Because he was known as a noble .NET hater and got along badly with other teams. Perhaps this is the main reason for his resignation.

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

    OS market inertia OS

    market inertness is both good and good. This is good for WPF now becausebusiness 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 simply useless.

    For companies, migration to a new OS is always a headache and problems. It is necessary to verify the compatibility of all services, all of their developments. Make sure that vendors can provide relevant experts and support, and train their staff. In general, the transition to a new OS can be 2 years or more. Against this background, the statement that every 2 years Microsoft will release new versions of its products, including the OS, looks somewhat strange and intriguing. You don’t have to go far for an example, many companies do not switch from seven to 8 and 8.1, expecting quite naturally how things will be with the new version and whether it is worth switching immediately to it.

    Currently, Microsoft's OS distribution looks something like this:
    • Windows 8 + 8.1: ~ 15%
    • Windows 7: ~ 55%
    • Windows Vista: ~ 5%
    • Windows XP: ~ 25%

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

    Inertia ALM

    Not many people know that writing a program costs a lot of money. First, in a series of meetings with all interested parties, it is necessary to assess what impact the software has on current processes in the overall business process. Find key users and convince them that a software update is required. Then, new software must 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 missing and everything works at least at the same level, no worse. The guys from their DB departments are also involved to work 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 enough to understand that there will be no applications for technologies that have just appeared for a long time to come. Business support for WPF will be strong, because it is already a stable technology for which there are specialists, and you can build your processes on this. By the way, Delphi5 or Fortran specialists are sometimes required to support applications and they are now very expensive. Although overall you don’t have to go that far, a huge number of applications written using WinForms are still relevant, so it would be too premature 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, we can consider the release of WPF 3.0 and WPF 3.5. After defeating children's sores, the applications on WPF 4 have already become “complete”, the developers began to pay attention to speed, which hints at the stability of the main technological base. Finally, in version 4.5, developers added more embellishments 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 shows maturity. But, as I 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 an area in which WPF not only survives, but dominates and shows itself in the best way. Why?

    Firstly, because a wealth of experience has been gained in developing applications on WPF and deploying them in the system. Because it is a .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’s much easier to use existing programmers to cover all your business needs. In addition, the integration of applications on one platform will be significantly easier.

    Another reason why WinRT cannot replace WPF yet is that there is no such toolkit. For example, things like ORM in the spirit of NHibernate or EntityFramework, which are necessary for any in-house application.

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

    Integration with WinForms

    For more than 10 years, companies have created a huge number of applications on WinForms and it is not possible to remake them at one time using other technologies. A huge plus in this case is the mutual between WinForms and WPF the ability to use each other's components and implement each other. Thus, migration from one technology to another can take place gradually and relatively painlessly.

    As far as I know, so far WinRT cannot be implemented in any way in WinForms components, forms.


    As you can see, there are many more positive aspects and this is what inspires us with optimism that WPF will not be forgotten and will be in demand for interesting tasks for a long time to come. WPF does not die and goes into the sunset. Now it is at the zenith of its development and that is why we want to make a conference on how to better create business applications using WPF and best practices for organizing enterprise user interfaces.

    If you are also involved in WPF development, 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 their opinions on everything aforesaid - welcome to the conference. We have something to tell each other about!

    More specifically, we will discuss topics:
    • The history of user interfaces and how to make UI \ UX convenient for the corporate user. Through the windows into the clouds.
    • Do not create slow zombie apps. Use Rx! On a real example. Also, what did you underestimate in TPL?
    • EF th big applications live alone?
    • Application prototyping
    • How to write sensible UT on the user interface. Real development experience.
    • Holivar on the topic of a complete and anemic domain
    • And other exciting stories!


    Sign up! Until March 23, a special price is valid.


    Also popular now: