Choosing C # with WPF for an urgent project?

I participate in a project where a development team develops a very long-term infrastructure project to replace the existing 10-year system. By the term "very long" I mean that it must work, be supported and maintained for at least 10 years in the future from the date of release. Taking into account ~ 2 years of development, this means that at this stage we must choose a technology / language / structure in order to last at least 12 years. We have full control over the computers on which the project is running, their operating systems, etc. I was the developer of a 10-year system that will be replaced, and I help the team build the new one correctly.

The application has a very sophisticated user interface. The user interface is dynamically created from the configuration files at startup, each component of the user interface depends on the logic and other components of the user interface that it should receive at run time. The user interface elements themselves are very complex, imagine user sensors, graphs, buttons, etc.

The project has already made two options that I do not judge or try to change:

  • This will be a desktop application.
  • It will be developed in C #

Now we are at the point of choosing the right structure to make our very flexible user interface system โ€œeasy to developโ€, i.e. reduce the number of developer mistakes, relying on a well-established infrastructure already created.

The team reviewed the Microsoft CAB (Composite UI), which is very well suited for its purposes, but the fact that Microsoft discontinued it in 2007 is a huge problem considering the long-term aspects of the project (think about whether it will be revealed in 6 years - who will be provide support? - and I know that we could fix the code in the CAB itself, but this is something we would like to avoid).

One thing that obviously catches your eye relies on Microsoft WPF. This seems to be the "future" of the development of the user interface, but it scares me, thinking about it for a long time. My main problem is that the market will not agree with this, that after 3 years Microsoft will stop it, and that after 6 years I will not be able to get proper support for it.

However, I see no alternative besides writing my own structure. I do not want to disrespect third-party framework developers, but for such a long-term project I can use the products / frameworks / etc from a very well-established provider.

I would appreciate that choosing WPF is the right challenge, given the context above (and if not, the right โ€œcomplex user interface structureโ€ for such a long-term desktop application project using C #?).

Thank you (and sorry for the long question)

+1
source share
4 answers

Ultra long-term? 10 years? COBOL STILL is in use!

Joking aside, I think WPF is your best bet. Microsoft has invested heavily in WPF and XAML over the past few years, and using the same underlying infrastructure in Silverlight (which Microsoft really cares) is a strong point to stick with for enough time. I do not think that WPF will be dropped soon.

+7
source

The fact that the Visual Studio 2010 interface has been rewritten in WPF is pretty convincing evidence that some of them will support it for a while.

+7
source

It may be useful if you have not looked at them yet.

+2
source

The level of adoption of WPF is still rather low, although it seems to me that in the coming years Microsoft will be more and more oriented in this direction. You may not be unusually happy at this, but this is the only solid option that comes to mind.

+1
source

All Articles