??
In front of the above, medium, we can see the garden of friends in the comments "after the mountain see!" WPF is better than WinForm! Passion Duel. " See everyone enthusiastic reviews, do the technology I am also very touched. To be honest, how to collect the pen--WPF series articles in this article, I am very nervous; I hope you all read this series of articles: each take, enjoy and return. Frankly, the grape city as a focus. NET technology company (only one of the overseas branches of Xian Grape City has been established 26), we almost traveled around the technical line of Microsoft, regardless of technical foresight, or technical depth are covered. We do the controls and are also very interested to know how WPF will move in the future.
But I'm sorry, I can't predict what will happen to WPF in the future:
WPF to die? or not to die!
I can only disclose the end of this article the Grape City Spread Studio series of technical research and development routes, with everyone:
You can ' t connect the dots looking forward;
You can only connect them looking backwards.
---------excerpts from a speech by Steve Jobs at Harvard University.
Have reason to be relieved??
In the previous 2 articles you certainly think I am in "black" Microsoft, and in fact this is really in "black" Microsoft. But things have two sides, "black" is over, also have to boast about, and then to share some of Microsoft's active and improved WPF place, we continue ...
Still an active team
According to Greg Levenhagen's article Information (WPF is dead?) --No, not dead. There is still a development team focused on the development of WPF, but Greg does not specify the exact numbers, and therefore does not clearly measure the role of the team.
But the obvious point is that Microsoft has not given up on the technology that billions of people use, and still has a full-time development team instead of merging into other teams. This is already a good news.
In addition to the information from Greg, the team is not only maintaining the existing version, but is also actively preparing to proceed to the next version of the development work (Will it be WPF5?). )。 Of course, in the absence of a change note for this version, it is difficult to keep optimistic because it is likely that it is just a bug fix and performance tuning with no major features.
Still in development? (2014-11 months updated)
In November 2014, the WPF team released a new article--WPF roadmap (the Roadmap for WPF), which indicates that WPF is still developing. The team's focus is on fixing the main issues, such as performance, a point of issue that has been enhanced from the beginning of WPF with and has been fixed, plus deep integration with the Visual Studio Development Kit and more.
Perhaps another more important thing is full support for touch devices and high-resolution devices, suggesting that Microsoft has heard the voices of the community and taken relevant steps.
New version of the tool??
I noticed another positive signal on this side of the official tool, Prism, a product made up of a number of column tools and best practices for developing XAML programs, as the WINRT version upgrade has also been updated to version 5.0, as well as a new version for WPF.
As stated in the first part of the article, the official WPF Toolkit has stopped and another project has taken over the baton, which is externded WPF Toolkit, a project developed by a reputable third-party extension provider Xceed. So, from the point of view of a WPF development expert (and in other words, Windows technology), it's a rich collection of controls, and more importantly it's still being developed, and the latest update is July 2014, three months before this article.
Finally there are two upper-level MVVM framework libraries, MVVM Light Toolkit and Caliburn.micro, also alive, the latest version about three months or so.
so WPF's tool ecosystem is still alive and evolving, and it's comforting for businesses to worry about leaving behind a bunch of non-maintainable projects .
Change of management level
At the end of 2012, Steven Sinofsky, the President of the Window division, left Microsoft. Why is that a positive signal to WPF? Because Steven Sinofsky is a thorough. NET opposition and has a bad relationship with other teams (perhaps this is the main reason for his departure). This can also be one-sided reflection of, not for some technical reasons, caused. NET technology does not exist as a basis for next-generation windows, although this Microsoft-created technology is one of the most important parts of software development. Externally, it is difficult to assess the true feelings of Steven Sinofsky in window 8+ and the impact on design decisions.
Operating system market?? Conservative sex
Another good news for WPF is that, in fact, neither companies nor individuals are immediately migrating to the latest operating systems, with a bunch of reasons: such as spending too much, such as too much time, such as too much risk.
Actually migrating to the newest system is really a daunting process, because the compatibility of the application needs to be maintained: This includes those externally supplied, such as the Microsoft Office suite, as well as some internal team development. From my personal experience, the construction of these software will be very easy to spend more than two years.
The proportion of WINRT in PC market share is particularly down in the current (2014):
- Windows 8 + 8.1: ~15%
- Windows 7: ~55%
- Windows Vista: ~5%
- Windows XP: ~25%
As a result, more than 80% of devices in the PC market cannot use WINRT, and there is no choice other than WPF. And in some areas it's even worse for window 8+: In the French company I know, the adoption rate of this piece of finance is zero, almost all of them have not finished migrating to Windows 7, and even many of them I know still use Windows XP, because installing apps is not a problem for them.
Considering the replacement process will take approximately five years, during which timeWPF will be the only choice for a large number of applications .
Application life cycle conservatism?
You should know that migrating an application is a lot of trouble: first you have to participate in a number of meetings and learn about the impact of the business, but also at the right time to try to put the various "controllable risks" on the table, and then through the new application one by one, but also to ensure that can not be repeated. It is common to ensure that both new and old applications work at the same time before completing the complete switchover process, and that you have to call the database team to migrate the data, and the network team to update the firewall rules ...
This is why enterprise applications do not migrate until there is a legitimate business reason, and new technology is not a problem, so many existing WPF programs are parked here, which means that WPF skills still have requirements for the foreseeable future, You just have to look at a large number of existing and newly started WinForm applications to understand that although WPF has been replacing it since 2006.
From a technical point of view, WPF and WINRT are very similar, but not fully compatible: there are still a lot of features in WINRT 8.1 that are not or different, such as WPF can use Clr-namespace to map a namespace into XAML, to WINRT, This is a XAML compatibility issue that makes people feel thin on the ice.
Wpf??? Very mature
It is clear that the development spending of WPF has dropped significantly, which seems worth worrying.
But in my experience, every developer has a similar experience: the first version of the development workload is huge, the subsequent release will benefit from the community feedback, and finally only a small maintenance work.
This is indeed the route that WPF has specified for Windows application development since the first release (WPF 3.0 (which I personally see earlier beta) and WPF 3.5), and then WPF 4.0 removes some controls from the Toolkit (WPF Toolkit), like the DataGrid, While doing performance improvements, the ribbon was introduced to the end of WPF 4.5 while still doing performance improvements.
Mature technology requires less development spending, and over eight years, WPF has matured and its new features and bug fixes have been greatly reduced. By now, WPF can be said to have entered the maintenance state, in its life cycle, there is no need to "hard work" style to do the enhancement of development.
Line of business ecosystem
If you say that WPF is doing well and shining in one area, it must be a line of business application.
First of all, most experts are based on. NET is developed because it is a mature platform, and many companies develop their line-of-business applications on the Windows platform, which will certainly not be discarded, but reused as much as possible.
There's a lot more to. NET-centric tools are not available under WINRT, such as NHibernate in object-relational mapping (ORMS) or the entity Framework, which apply the components necessary to access relational data.
Second, some large line of business applications like trading platforms simply do not benefit from the WINRT platform, because there is no need, even security and mobility, to do so. So large applications like this one once objected to the design specifications and guidance of Microsoft WINRT applications: They only want to display the smallest set of data on the screen!
Learning curve?
If you are an experienced WPF developer, it can be said that more than 80% people do not need to learn is already a WINRT developer, if you are a business expert, then 80% of the experience can be directly applied to the WINRT program.
The reason is that most of the basic tools used to develop WPF applications are the same as WINRT:
- The same programming language: C#,vb.net ...
- The same markup language: XAML
- The same way you associate views and data: Data binding, Data Templates (datatemplates) ...
- The same design pattern and implementation: Mvvm,inotifypropertychanged, inotifycollectionchanged, ICommand ...
So your investments in other XAML-based platforms such as WPF and Silverlight can go on to WINRT and reduce the steepness of the learning curve (remember when you were a novice learning WPF?). )
WPF content Rich??
WINRT is not a WPF clone, and many of its features are not implemented, so if you're just developing desktop applications, WPF is a better choice for technical capabilities. But I put it on the last, because personally, I think it's not very important, WINRT is still moving forward, the gap between them will be smaller, but I still suspect that some developers do not want to develop on WINRT, but want WPF.
Again, the added value of WINRT is not a technical enhancement in its nature, but rather the ability to develop mobile platforms and deploy to Microsoft stores on the development model.
? Future strategy?
Whether you are a business development or a personal development, you should consider slowing down your technology investment in WPF and instead develop your expertise in WINRT.
Business
On the business side, because there are some older versions of Windows, including Windows 7, it is certainly not possible to stop your WPF development work. For apps that already exist, don't worry, there's no need to move to WINRT unless you want to get new capabilities or are compatible with the Microsoft Store. It is foreseeable that Microsoft will support WPF in the near future and backwards compatibility is a very important thing for Microsoft. For example, while it's hard to build a VB6 environment in the latest windows, you can still do it, so your app will always work smoothly with the installation.
Depending on the amount of work you have available, you should focus your time on the technical potential and let some developers take a serious look at WINRT: How to derive benefits, especially in terms of exploiting users, how new applications will be developed, how to reuse existing tools and code, and what is a potential problem to focus on ...
To do an application, to get benefits from WINRT for mobile phones and tablets, the migration route needs to be developed first, and the obvious reason is that many of the features of the WPF species are missing from WINRT. Starting with conceptual design, you should verify that new technologies are applied in your scenario.
Development?
As a development, we do not want our technical skills to be no one wants, but to build strong enough skill sets to meet more business and projects, so as to reduce the risk of being left behind by technology. So, as an experienced WPF developer, in my personal experience, you should choose between continuing to harden your WPF skills or turning to acquiring WINRT development skills.
Or you can continue to wait in the WPF field until the scarcity of WPF development in the market, like today's Cobal and VB6 such as the old technology, but I think it will have to wait ten years. Because with the development of IT industry, any technology in the market will have a lot of developers, especially like WPF, such as the mainstream technology, so I do not expect this.
But there's no need to face the new technology that comes out of nth, and it's a business model for our industry: it needs to create new things all the while (remember that SOA makes a lot of money for big IT companies, their employees, shareholders and contractors) to sell to customers, Just like Apple's iphone series, the iphone is a ... By now it is 6, estimated to be 42 in the near future, but this is the mode of its work. Fortunately, as a developer of us, in a number of barriers to our advantage, we easily make a living, objectively speaking, these new technologies enrich the life of enterprises and individuals.
Conclusion???
In summary, I think these facts are clear: WPF has been brilliant, is still in use, in the near future will be directly competitive with WINRT, but when WINRT get more input and enough market share, WPF will be like today's VB6 and WinForm are deprecated.
The important thing is that we cannot deny that some things are bound to happen and inevitably create pessimism in our minds. Don't expect WPF to be revived and certainly not happen in the IT world (of course, COM can be said to come back through the WINRT), and objectively speaking, WPF does not have any tailor-made highlights on trends and new things.
Of course, the future is not gloomy, WPF is not extinct and obsolete, or dying and deprecated, it is just peaking, and when the enterprise infrastructure is migrated to Windows 8+, future development will choose WINRT, which will slowly fade out of WPF.
Be realistic and transparent: use it when WPF can bring value to your customers, but expose the relevant factors and help them prepare for the future. I have cross-threaded some of the WINRT in my WPF training textbook, containing a few brief summaries to illustrate these things and highlight them in the light of their importance.
But personally, I don't think I should do too much in WinRT, why? Because with more and more winrt intake, I feel the benefits are decreasing at 1.1 points:
- ?? If you're a line-of-business app, your only goal is Windows desktop, and you have to be compatible with Windows 8 systems before, at least windows 7, because from WINRT obviously not an option, you have to use WPF;
- If you're targeting tablets and mobile phones, don't forget that more than 90% of the market share is iOS and Android, so WINRT is not a problem at this point, you should choose to use Web technology (JAVASCRIPT/HTML/CSS) or like Xamarin (C #) or QT (c + +) Such a local cross-platform framework, that is, most scenarios winrt useless. In addition, it should be known that Microsoft is investing heavily in the follow-up technology, it is still too early to ask whether WINRT is dead, but I would be surprised if I tried to winrt as the mainstream development platform.
In my opinion, WINRT is a good platform only for Microsoft internal use, because it can be very good at different Windows system level to do code sharing, imitating Apple's working mode, but for the final developer, WINRT is a very limited way: on the PC, Shared code between tablet and phone but only for Windows family devices. Maybe a lot of business just needs one, but I still doubt it, because today's apps are usually powered by personal devices (BYOD), which can be any device, most likely iOS or Android.
Finish ]
Complete series of articles directory:
- WPF old, still can rice no--say then said the future of WPF This Life (ON): Fear
- WPF old, still can rice no--say then said the future of WPF This Life (middle): strategy
- WPF old, still can rice no--say then said the future of WPF This Life (bottom): Peace of mind
--------------------------------------------------------------------------------------------------------------- ------------------
Appendix I: Route map of the Grape City technology stack
- 1993 Involved Microsoft Ms-basic Technology
- 2002 engagement with Microsoft. Net Framework Technology
Appendix II: Grape City Spread studio product Technology Roadmap
2014 spread Studio has 4 branches of technology: WPF, Winform, ASP, JavaScript (HTML5)
Appendix III: Grape City Products support touch devices and high-resolution devices
Grape City WPF Technology related products Link:
- ComponentOne Studio for WPF
- Spread Studio for Wpf-silverlight
- ActiveReports
WPF old, still can rice no--say then said the future of WPF This Life (bottom): Peace of mind