我们正在开始一个新项目,并试图决定使用Windows窗体或WPF.
我已经阅读了其他一些Stack Overflow帖子,并意识到WPF在数据绑定和外观方面有一些优势,但也有一个陡峭的学习曲线和相当不成熟的工具和控件.
我们希望更好地了解Microsoft是否计划停止Windows Forms技术的新开发并强制所有新开发最终转到WPF,或者是否要维护和改进这两种技术.(或者他们是否只是等着看他们如何下定决心?)
目前,似乎WPF不一定是在UI中不需要额外花哨的业务应用程序的最佳方式.但是,知道WPF是否是我们迟早需要接受的东西会很好.
Nic*_*cki 53
这部分是一个合理的论点,部分是一种令人心碎的咆哮......
WinForms基于自现代Windows诞生以来一直存在的user32/GDI技术.从句子的所有意义上说它都不会去任何地方:它不会得到新的特征; 它不会得到支持.
或者它可能会..NET 4.0中的图表API是新的,为GDI而不是WPF编写.
一般而言,Microsoft的新技术历史如下:
RDO - > DAO - > ADO - > ADO.NET - > LINQ to SQL - >实体框架,折腾了一些ODBC ......有一个"死"的包装技术,现在仍然存在并且仍然存在.这些是数据访问技术,但同样的想法适用; UI框架持续时间更长,因为它们是应用程序中最明显的区域.
如果我戴上我的Nostradomus帽子,我可以肯定地说,当.NET,哦,6.0在2015年出局时 - 听起来很远但是和我们一样接近2003年 - WPF将像Windows一样"死"表单是因为创建了一些其他漂亮的托管界面,可以平滑所有尚未发现的错误和WPF的不便之处.谁在乎?我们今天所讨论的一切都将被弃用.(无论如何,必须在.NET 5.0中提供一些东西,因为框架变得非常大.)
如果有的话,Windows Forms的目的是它基于已经存在了十多年的技术,并且惯性不会很快消失:你输入的浏览器是使用GDI,任务栏是使用GDI,您的即时消息应用程序正在使用GDI,Windows 7中的新功能区控件正在使用GDI,坐在办公桌前的60美元打印机正在使用GDI打印机驱动程序,手机上运行的Windows CE应用程序运行Windows窗体的端口和GDI,新的事件查看器在Windows Vista中使用Windows窗体,并有Windows的背后大量的第三方组件社区窗体平台 - WPF是一个非常小的,小众的产品,只有在管理世界的存在,这本身就是小于其未管理的对应物.
为此,我觉得所有这些"WinForms vs. WPF"的讨论都是不成比例的.这些技术不是互相排斥或劣质/优越,正如微软营销可能让我们相信的那样,微软的开发人员足够聪明地实现这一点.它们完全不同,其中一个恰好比较老.如果我们没有定期考虑这个问题,那么我们将在2005年全部听取Gartner并停止完全构建Windows应用程序并将所有内容移动到Web上的AJAX ...使用我们的SOA接口......暴露了另一个REST接口.在该后端使用TDD DDD模型......由ORM从数据库中抽象出来.
因为害怕它的弃用而如此渴望放弃技术只能向我们的客户保证,我们将在编程软件解决方案中保持一定的经验和无能.
可以肯定的是,WPF是未来的一部分,但它不是未来.就个人而言,我对围栏,看是否WPF"使得它"的用户界面科技感,以前的数据访问技术都没有,虽然Visual Studio中采用它在2010年是一个非常令人欣慰的迹象,表明微软即将它通过实际严重在一个旗舰产品中哄骗它.
总结一下:如果你正在构建一个LOB应用程序,我不会对使用WinForms感到内疚.如果您需要高级布局方案,则始终可以使用WPF互操作,就像偶尔使用Flash对象增强常规Web站点一样.但是对于其他任何事情,你应该向你的客户提出一个将整个团队和shell转换为WPF的好理由; Windows Forms存在问题,但与任何平台争夺的一半就是知道问题和限制是什么,而且世界上大多数人(包括微软)仍在学习WPF.
WinForms不会被弃用,直到Win32 ......这可能是相当有段时间的!
(记住WinForms基本上是对Win32的抽象)
另一方面,WPF对Win32几乎没有直接依赖性,因此可能构成未来版本Windows上"全新启动"UI层的基础.在这一点上,我认为Win32(以及WinForms)将完全被抛弃,只能通过虚拟化获得.正如我所说,这可能是顺便说一句:)
| 归档时间: |
|
| 查看次数: |
17859 次 |
| 最近记录: |