我了解asp.net和winform开发。我不是那种仅仅因为新技术就跳进新技术的开发人员。它需要给我额外的好处,比如更高的生产力。
对于纯业务应用程序,WPF相对于Winforms的优势是什么?我对WPF提供的额外花哨、动画、渐变、图像显示效果等不感兴趣。商业应用程序用于数据输入,数据报告,可能还有一些图表和静态照片显示。
WPF将如何在这些应用中提供帮助?更好更丰富的数据绑定?WinForm是一项成熟且成熟的技术,我喜欢这样一个事实:我可以在Visual Studio和多个集成开发环境(VS & Blend系列)中做任何事情。另外,我认为WPF没有像Winform (DataGridView..etc)那样丰富的数据绑定控件。AFAIK,微软仍将支持Winforms多年。
试着说服像我这样的人换掉。
发布于 2009-03-12 00:24:41
我了解asp.net和winform开发。我不是那种仅仅因为新技术就跳进新技术的开发人员。它需要给我额外的好处,比如更高的生产力。
对于我的团队来说,使用WPF开发应用程序已经被证明比使用WinForms快得多。我们最近在32个工作日内发布了一个中型应用程序。我们的优势是团队中有一位经验丰富的WPF开发人员,而缺乏经验的人渴望学习这项技术。士气高涨,生产力令人印象深刻。
WinForm是一项成熟且成熟的技术,我很高兴我可以在Visual Studio和多个集成开发环境中做任何事情。
你认为自己是手工编码员还是拖放式编码员?如果您认为自己是一个拖放者,那么当前的WPF工具裁剪可能不适合您。也许等着Visual Studio2010?我几乎只在XAML中工作。大多数WPF的人可能会同意,这是目前创建WPF应用程序的最有效的方法。但是,我也会手工制作我的HTML,所以对我来说很自然……
对于纯业务应用程序,WPF相对于Winforms有什么优势?我对WPF提供的额外花哨、动画、渐变、图像显示效果等不感兴趣。
我过去是这样想的,但我最近开发了一个具有渐变、基本动画和效果的业务应用程序。添加这些奇特的功能是为了增强用户体验。为什么商业应用程序应该是战列舰灰色?为什么它们应该是不可用的?诚然,不是颜色、渐变、动画让商业应用变得有用,但使用这些效果可以帮助用户体验,这对我来说很重要。我本可以在WinForms中完成我在WPF应用程序中所做的一切-只是这会花费更长的时间。
更好更丰富的数据绑定?
它对数据绑定的支持确实令人惊叹。这是我在平台上最喜欢的一个特性。查看this wonderful Databinding Cheatsheet。
试着说服像我这样的人换掉。
我已经决定,我不会试图说服任何人切换到WPF。我试图“说服”的开发人员(都是有经验的Winforms开发人员)通常都很难适应这个平台。他们没有投资于这项技术。他们不会“明白”。我鼓励人们检查一下这项技术,看看它是否适合他们作为开发人员。学习的曲线是巨大的。如果你从书本中学习,可以在this SO post上查看一些关于WPF书籍的迷你评论。如果你通过视频学习,请查看windowsclient.net WPF videos。如果你通过示例学习,可以查看this或this帖子。忘记你所知道的关于WinForms的一切。WPF看起来确实比WinForms更接近ASP。创建一些示例应用程序。看看它是否适用于您和您的团队。
由于您是多面手(asp.net/winform技能),您可能会看到WPF中的技能提升的优势,因为它与Silverlight密切相关。Silverlight填补了富客户端应用程序和web应用程序之间的差距。
我个人认为WPF是.NET框架可用的最好的客户端技术,并且在将来的工作中通常会避免使用WinForms进行开发。YMMV
祝你的决定好运。
发布于 2009-03-11 19:52:29
我有相当多的winforms经验,只玩过一点WPF,但我被说服了。
为什么?
发布于 2009-03-12 00:51:14
当我开始研究WPF时,我把它当成了"Winforms with Vector Graphics“,然后径直跑到了学习的悬崖边。从WinForms过渡到WPF的正确方法是采取英雄剂量的任何麻醉药物,以便忘记你所知道的一切,然后从头开始。
不过说真的,如果你使用像Model-View-ViewModel这样的模式,它会更清晰、更容易。请访问The Orbifold、此Google Groups thread和Channel9了解更多信息
然后,在某一时刻,你会有顿悟,并开始数据绑定一切。您的代码隐藏将变成对InitializeComponent()的调用。
https://stackoverflow.com/questions/636028
复制相似问题