Silverlight、WPF还是Windows Forms?

4
我需要创建一个Windows桌面应用程序,但我不确定该选择哪种技术。事实是,该应用程序必须与本地资源进行交互:
- 与SQL通信(需要支持SQLite和MSSQL - 本地和远程,并希望使用NHibernate;甚至可能使用Castle的ActiveRecord) - 通过蓝牙、以太网、USB和串行(COM)端口与连接的设备进行交互。我需要从连接不同协议的传感器中读取字节流。
最好我会选择Silverlight 4,并允许应用程序在桌面上以完全信任运行。但我预见到这两个要求存在问题。是否有任何SL4的解决方案?如果没有,我应该选择什么替代方案?我不限于WPF或WinForms,但由于它应该在.NET上运行,我更多或者更少地限制在这三个选项上(或者是吗?)
3个回答

5

使用Silverlight应用程序,如果没有创建服务,您将无法连接到SQL源,并且很难(或根本无法)访问本地资源,例如COM端口。如果您的应用程序是基于内部网络的,则建议使用WPF并进行一次点击式部署。


3

了解如何使用 WPF/Sliverlight 控件、模板和数据绑定后,您将永远不想再碰 WinForms——不仅是因为 WPF/SL 提供了更丰富的 UI 可能性,而且它们使创建应用程序(特别是数据绑定)更加容易、减少了错误。

而且,看起来您需要相对较低级别的硬件访问,即使 SL 可能做到,但使用完整的 .net 会更容易。

因此,我会选择 WPF。

只需记住,WPF/SL 有一个学习曲线,如果您从未构建过 WPF 项目,请预留一些时间来学习这个平台。


3
WPF将是您的首选工具。API方面,WPF基本上是Silverlight的超集。此外,您可以完全控制并完全访问本地资源。如果您使用.NET 4.0,您可能会喜欢Entity Framework,作为NHibernate的替代方案。虽然它在任何方面都不超过NHibernate,但它与套餐完美集成。但正如Nir所说,WPF有一个学习曲线。

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