从.Net 2升级到.Net 3.5或4系统对客户有哪些好处?

10

最近的一次采访中,我被问到了这个问题:

“如果我们升级到 .Net 3.5/4 对客户有什么好处?”

换句话说,如果我们升级所有系统,所有客户都需要升级他们的机器,如果我们不能为此提供有效的好处,他们不会很高兴。

据我所知,虽然 .Net 4 带有新的 CLR 开销可能会引起问题,但 .Net 3.5 更多的是针对 Dot net 2 核心添加的额外功能,因此不应该对任何东西产生不利影响。从开发人员的角度来看,我可以看到各种好处:

  • Linq
  • List item
  • Lambda 表达式
  • WPF
  • WCF
  • 匿名方法和类型
  • 扩展方法

从公司的角度来看,有吸引开发人员和保持当前员工工作于最新技术的好处。

几天后,我想到了以下答案:

  • 支持 Windows XP 的支持正在逐步停止,任何积极的公司应该已经在升级他们的系统方面做得很好。由于Windows 7已经配备了 .Net 3.5,所以升级不应该是个问题
  • 支持 Sql Server 2008 的最新功能

所以我决定在这里问一下:.Net 2 升级到 .Net 3.5 或 4 对客户有什么好处?

6个回答

6
客户并不关心他们使用的框架是什么,他们关心的是贵公司提供给他们的产品的稳定性。正如您所说,如果客户被迫升级操作系统,那么必须提供新的框架。但请注意,您仍然可以在兼容模式下运行您的应用程序以在Win 7上正常工作。
如果您添加了新功能,比如从Net 4中的TPL,则应要求用户也升级到net 4。

TPL是一个不好的例子,因为你也可以在3.5中使用它。 - adrianm
1
带有发布响应式扩展包的开销 :) - Zenwalker
不需要发布完整的Rx包。只需将3.5版本的System.Threading.dll作为并行程序集使用即可。 - adrianm
但我相信基本的3.5包不会带有这个新的更新的Threading dll,对吗?我认为你必须选择SP1或这个Rx包。如果我错了,请纠正我。 - Zenwalker
是的,您需要从 Rx 获取 dll,但我找不到任何说明您不能将 dll 与应用程序一起部署的内容。 - adrianm

1

既然我们正在谈论客户的利益,如果应用程序是在WPF中,我认为.NET 4上的WPF文本改进可能是对客户最重要的直接利益。请参见http://blogs.msdn.com/b/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx

其他领域更可能产生间接效益。内存映射文件和任务库可以提高性能。沿着同样的线路,我认为有一个论点可以证明,对开发人员有益的东西最终将使客户受益。如果.NET 4.0库的新部分使我更容易开发新功能或减少我维护的代码量,那么这将影响客户体验。

你还可以从http://msdn.microsoft.com/en-us/library/ms171868.aspx中挑选出一些小东西:压缩算法得到了改进;新的内置WPF控件;新的Windows 7 shell支持。我关注的是4.0,但我相信你也可以从3.5中挑选出一些额外的小项目。在我看来,如果你要求升级,我建议直接升级到4.0。


1

我认为客户并不关心框架。他想要的是你的应用程序,所以他会进行升级。他唯一的好处就是非常简单:如果他第二次需要相同的框架,他就不必再次安装它。


相信我,除非客户报告了应用程序的问题并且您需要修复它,否则他们通常不会经常触摸或更新您的系统。如果您碰巧经常拜访他们并表示希望更新或修补某些内容,那么您将被频繁地询问。 - Zenwalker

1

首先,.NET Framework现在是操作系统的一部分,或者作为推荐的Windows更新提供,因此我们可以假设客户端已经拥有最新的Framework。

正如其他人所说,除非他们公司的IT部门有一些严格的“安装”指南禁止安装X版本,否则大多数客户不关心您的应用程序针对哪个框架。

我认为新增功能的好处对最终用户/客户来说并不具有价值。拥有最新的.NET Framework的好处与您的特定软件无关,而是对客户的整体利益,因为他们将能够安装/使用针对3.5、4.0开发的新软件。

2.0 2.0.50727.42 2005-11-07 Visual Studio 2005
3.0 3.0.4506.30 2006-11-06
3.5 3.5.21022.8 2007-11-19 Visual Studio 2008
4.0 4.0.30319.1 2010-04-12 Visual Studio 2010

现在大多数.NET应用程序都是使用Framework 3.5/4.0进行开发,因为2.0已经有6年的历史了。


0

就技术而言?我只考虑转移到.Net 4(3.5和2基本上是你可以接受或放弃的微小步骤)

  1. 动态语言运行时(更多语言选择和所有酷猫所拥有的优势)。如果您使用C#,请不要认为您无法使用它-您可以。
  2. 更优化的CLR(已经进行了大量工作,使其性能更好,规模更大)。
  3. 框架库更加全面(允许您使用提到的技术)
  4. 安全性更易管理

这是主要内容:现代技术来自MS和其他公司,例如AppFabric,MVC,Entity Framework等,未来只会在此平台上看到。

如果需要,请坚持使用旧的技术,但不要低估新方法带来的好处。个人认为保持员工积极主动和教育是一个非常值得赞扬的目标-但这是我的偏见。


0

需要注意的一点是,您可以使用较新版本的C#与.net 2,因为您可以使用新版本的VS并将目标框架设置为2.0。如果您使用第三方实现,甚至可以获得Linq-To-Objects。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接