Is Windows forms Simart Client is a legacy thing now? And is it to be replaced by Prism (and/or MVVM)? Should I bother to learn about Smart Client?
Windows窗体Simart客户端现在是遗留物吗?它是否被Prism(和/或MVVM)取代?我是否应该费心去了解Smart Client?
Another question which might be related to is that what are the performance differences between Winforms and WPF apart from all the cool stuff in wpf like data binding and 3D? Does WPF struggle to run on Windows 2000 and Pre2000 OS? This question is important because it can very much decide which platform you are going to use winforms or WPF when you have to support old OSs (for e.g. in NHS)?
可能与之相关的另一个问题是Winforms和WPF之间的性能差异除了wpf中的所有酷炫内容(如数据绑定和3D)之外还有什么? WPF难以在Windows 2000和Pre2000操作系统上运行吗?这个问题很重要,因为当你必须支持旧操作系统时(例如在NHS中),它可以决定你将使用winforms或WPF的哪个平台?
2 个解决方案
#1
6
Having worked with both the Smart Client Software Factory and WPF + MVVM, I'd certainly consider SCSF "legacy". I wouldn't use it on a new project. First, it's based on WinForms, but maybe more importantly, it's a bloated framework. It's cumbersome and does not lend itself well to unit testing. I found, after developing an application with it for the better part of 5 years, that the framework just "got in the way" far too often.
在与智能客户端软件工厂和WPF + MVVM合作之后,我当然认为SCSF是“遗产”。我不会在新项目中使用它。首先,它基于WinForms,但更重要的是,它是一个膨胀的框架。它很麻烦,不适合单元测试。我发现,在用5年的大部分时间开发一个应用程序之后,该框架只是“阻碍”过于频繁。
I can't speak to Prism, but after my experience with SCSF I would shy away from any out-of-the-box frameworks. When I started working with WPF and MVVM I wrote my own "framework" bits. Really, the only things I found I needed were a good IoC container (StructureMap was my choice) and an EventAggregator (two interfaces and one class implementation that I wrote myself, borrowing directly from a post on Jeremy Miller's blog). Other than that, I go with straight WPF and the MVVM model of development.
我不能和Prism说话,但是在我使用SCSF之后,我会回避任何开箱即用的框架。当我开始使用WPF和MVVM时,我编写了自己的“框架”位。真的,我发现我需要的唯一东西是一个好的IoC容器(StructureMap是我的选择)和一个EventAggregator(我自己编写的两个接口和一个类实现,直接从Jeremy Miller博客上的帖子中借用)。除此之外,我使用直接WPF和MVVM开发模型。
Given a greenfield desktop application, my choice would be WPF, MVVM & STructureMap.
给定一个绿地桌面应用程序,我的选择将是WPF,MVVM和STructureMap。
#2
1
I think your first question pretty much comes down to WPF versus Winforms, which have been answered before.
我认为你的第一个问题几乎归结为WPF和Winforms,之前已经得到了回答。
However, regarding your second question about WPF on Win2000 and earlier, WPF is a part of .NET 3.0 and you need at least XP SP2 or Win2003 Server for .NET 3.0 as can be seen here, so if you want to use .NET in a pre XP environment, you'll have to stick with WinForms.
但是,关于你在Win2000及更早版本上关于WPF的第二个问题,WPF是.NET 3.0的一部分,你至少需要XP SP2或Win2003 Server for .NET 3.0,所以如果你想在.NET中使用.NET在XP之前的环境中,你必须坚持使用WinForms。
#1
6
Having worked with both the Smart Client Software Factory and WPF + MVVM, I'd certainly consider SCSF "legacy". I wouldn't use it on a new project. First, it's based on WinForms, but maybe more importantly, it's a bloated framework. It's cumbersome and does not lend itself well to unit testing. I found, after developing an application with it for the better part of 5 years, that the framework just "got in the way" far too often.
在与智能客户端软件工厂和WPF + MVVM合作之后,我当然认为SCSF是“遗产”。我不会在新项目中使用它。首先,它基于WinForms,但更重要的是,它是一个膨胀的框架。它很麻烦,不适合单元测试。我发现,在用5年的大部分时间开发一个应用程序之后,该框架只是“阻碍”过于频繁。
I can't speak to Prism, but after my experience with SCSF I would shy away from any out-of-the-box frameworks. When I started working with WPF and MVVM I wrote my own "framework" bits. Really, the only things I found I needed were a good IoC container (StructureMap was my choice) and an EventAggregator (two interfaces and one class implementation that I wrote myself, borrowing directly from a post on Jeremy Miller's blog). Other than that, I go with straight WPF and the MVVM model of development.
我不能和Prism说话,但是在我使用SCSF之后,我会回避任何开箱即用的框架。当我开始使用WPF和MVVM时,我编写了自己的“框架”位。真的,我发现我需要的唯一东西是一个好的IoC容器(StructureMap是我的选择)和一个EventAggregator(我自己编写的两个接口和一个类实现,直接从Jeremy Miller博客上的帖子中借用)。除此之外,我使用直接WPF和MVVM开发模型。
Given a greenfield desktop application, my choice would be WPF, MVVM & STructureMap.
给定一个绿地桌面应用程序,我的选择将是WPF,MVVM和STructureMap。
#2
1
I think your first question pretty much comes down to WPF versus Winforms, which have been answered before.
我认为你的第一个问题几乎归结为WPF和Winforms,之前已经得到了回答。
However, regarding your second question about WPF on Win2000 and earlier, WPF is a part of .NET 3.0 and you need at least XP SP2 or Win2003 Server for .NET 3.0 as can be seen here, so if you want to use .NET in a pre XP environment, you'll have to stick with WinForms.
但是,关于你在Win2000及更早版本上关于WPF的第二个问题,WPF是.NET 3.0的一部分,你至少需要XP SP2或Win2003 Server for .NET 3.0,所以如果你想在.NET中使用.NET在XP之前的环境中,你必须坚持使用WinForms。