WPF作为一种技术有多流行?

时间:2020-03-05 18:45:59  来源:igfitidea点击:

我与一些同事进行了讨论,提到没有太多的项目可以利用WPF为Windows应用程序创建UI(我们几乎总是使用Windows窗体)。

  • 体验是否相同-即没有太多采用这种技术?
  • 你为什么这么认为呢?我们是否有机会看到更多WPF?

解决方案

回答

尽管WPF是在几年前推出的,但在实际应用中使用WPF太原始了。阻止WPF广泛采用的主要问题是缺少RAD工具和现成的组件。目前,我们有Blend,或者多或者少都可以使用Cider,但是这些工具的可用版本不久前就出现了。另一个原因是完全不同的体系结构,由于延长了开发人员的学习/采用期限,因此与WinForms相比,导致开发时间更长。
我认为未来几年WPF将会上升。

回答

看看这项调查是由澳大利亚的Windows Forms Contol供应商完成的。
就我个人而言,去年我参与了两个不同程度使用WPF的商业项目。

WPF的采用正在增加。我相信微软会将所有的精力都放在wpf篮子中。

回答

绝对采用率很小。有很多炒作,但似乎没有实现。

我使用WPF进行了一个项目,我可以肯定地说它在我的口中留下了未完成的味道。达到简单的事物太困难了,整个事物有很多粗糙的边缘,其背后的原因确实存在,但并不明显甚至根本不可见。 Visual Studio设计人员对我的大多数页面完全犯了错误,而我却从不搞清楚为什么...

总而言之,从开发人员的友好角度来看,WPF几乎不是beta质量的。

回答

当人们真正要获得生产力时,人们通常会跳入技术潮流。可以弥补采用新平台时通常发生的所有生产力损失的某种补偿。 WPF尚不存在。与Forms应用程序相比,构建WPF应用程序仍需要花费更多的精力和时间,而且需要花很长时间。

与Windows窗体相比,这与WPF在网络上的文档更少,具有WPF经验的人员更少,在WPF上的博客更少,在WPF上的书籍更少,更少的技巧/窍门等相结合。

而且不要让我开始使用XAML。是XML吗?是剧本吗?是代码吗?他们为什么确定超链接只是标签属性?许多事情仍然需要解决。

我无法在WPF中建立我的下一个项目,这样做(在人力和时间上)将花费我更多的钱,而没有任何回报。目前,我们在WPF中所做的只是纯粹的内部研究兴趣项目。

回答

WPF在技术上可以发挥作用。这只是地球上最好的UI构建技术(我认为)。但是,在学习和掌握它方面有大量的初期和长期投资。同样从工具的角度来看,它也有像无法使用的苹果酒设计师之类的障碍,我们必须混合使用才能进行样式设计等。

我敢肯定它将流行起来,但是需要时间。但是现在它还不那么受欢迎。

  • 在WPF上检查此线程
  • 在msdn论坛上查看有关WPF for LOB应用程序的对话

回答

我目前正在第一个WPF项目中工作。学习曲线非常陡峭,但最终我认为WPF是一项很棒的技术。潜力是巨大的,特别是对于促进数据可视化的状态。我真的很喜欢数据绑定功能以及样式的潜力。但是,确实需要一些时间来解决这个问题。

我认为Silverlight的采用最终将推动WPF在台式机上的普及,或者可能不会有台式机,因为Silverlight可以完成的大部分工作将取代许多以前的台式机应用程序。

回答

我在和WPF玩耍,我必须说我没有留下深刻的印象。我寻求一种可以帮助我在创建业务应用程序方面富有成效的技术。我记得我建立了第一个经典的ASP网站,并对构建一个简单应用程序所需的意大利面条代码感到厌恶。查看单个页面时,我发现HTML和Java脚本与vbscript混合在一起,并包含包含文件和对com对象的调用-简而言之,这是不合逻辑的混乱。我认为,拥有一个简单且具有标准的VISUAL开发模型非常重要。我构建了许多VB6和.Net Windows应用程序,它们具有简单的开发隐喻,使未编写原始应用程序的开发人员可以轻松调试和修改它们。表单封装了表示逻辑,引用程序集中的模块和类封装了业务逻辑和数据逻辑。 ADO.Net和其他工具使数据访问功能强大,可扩展,动态且可自定义。使用Win Forms可以轻松地调整Windows控件和图形的大小以适合监视器分辨率或者客户端的首选项。

WPF可能在图形中具有许多高级功能,但是对于大多数商务应用程序,表单应该遵循功能-换句话说,我并没有在我的银行Windows应用程序中放置愚蠢的动画图形。

我不喜欢Web开发的原因之一是因为相对简单的应用程序需要多种多样的不断变化和复杂的技术,而这些应用程序并不能在实际功能结果中带来足够的重大改变。

哦,那是我的两分钱。

)

回答

我们为我工作过的一家大型投资银行部署了一个相当重要的WPF应用程序。事实证明,它非常成功,涉及OLAP数据的3D可视化,可以更快地进行趋势分析。它被广泛使用。