Thinking about Windows Forms and Avalon While on Vacation

While I was on vacation last week, I spent a lot of time thinking. Probably too much time. But one of the things I was thinking about was Windows Forms and Avalon. Earlier, I blogged the very high-level guidelines for how to choose what when. Clearly, I've gotten a ton of feedback on this. One of the things I was thinking about on vacation was interop. With .NET Framework 1.0, we invested a huge amount of engineering energy in making COM interop work so you could reuse existing COM components from .NET (and vice versa). Lots of customers use it and it's helped most of them a lot, but nobody really talks about it, except some of the analysts who decided (without even writing a line of code) that performance would be terrible (it's not). But when it comes to Avalon and Windows Forms interop, I'm curious: how many people will use it and what will they use it for? What are the scenarios that we'll see? I have my own opinions, of course, but I'm curious about what you think. I'd like to be able to have a conversation with both teams about what scenarios we should optimize for.

Comments (1)
  1. Kevin Daly says:

    Among other things, logically it’s going to fill a role similar to that of COM interop: in at least the initial phase of Avalon adoption people will be wanting to avoid losing any investment they may have made in purchasing or developing WinForms controls. This may be even more true if VS 2005 + .NET 2.0 spurs growth in the Windows Forms custom control market.

    Like many people, I (naively?) expect something like this: A period where applications are WinForms only, followed by a period where they are a mixture of Windows Forms and Avalon components (whichever is dominant depending on the nature of the application and the comfort zones of the developers), and then a period where *most* things are Avalon (although I suspect Windows Forms will be used by developers for a long time to produce quickie UIs for testing or utility purposes – just like the console)

Comments are closed.

Skip to main content