我们的团队对此有所分歧,我希望得到一些第三方意见.
我们正在构建一个应用程序,无法决定是否要将.Net WPF桌面应用程序与WCF服务器或使用jQuery的ASP.Net Web应用程序一起使用.我想我会在这里提出一些问题,并提出一些规格,看看使用任何一方的利弊是什么.我有自己的最爱,觉得我有偏见.
理想情况下,我们希望尽可能快地构建软件的初始版本,然后放慢速度并花时间构建我们以后想要的其他功能/组件.最重要的是我们希望软件快速.用户整天都会查看记录,加载记录或刷新屏幕的延迟会影响他们的工作效率.
申请细节:
要考虑的项目(可能最初在某些情况下,但在将来的版本中):
我们的开发人员:
环境:
基于此,你会选择什么,为什么?
我特别感兴趣的是那些有ASP.Net和WPf经验的开发人员.
Ray*_*rns 39
选择WPF的原因:
选择ASP.NET和jQuery的原因:
在你的场景中,我肯定会选择WPF.
为什么不考虑混合解决方案 - Silverlight
使用Silverlight,您可以获得WPF的大部分优点和状态(几乎完全相同的XAML和代码),还可以获得ASP.NET的部署特性
许多人认为Silverlight是ASP.NET/AJAX之后的下一步,它肯定会提供与您的场景相关的WPF的所有好处.
首先,我会坐下来写下业务要求和规范.使用什么技术并不重要 - 正确的计划会影响您的项目时间表而不是技术选择.对于内部定制应用程序尤其如此.
就开发而言,我会采用这些要求并布置后端功能.我实际上会在WCF中实现后端,无论客户端技术如何 - 如果需要,你可以使用两种方式中的最佳方式(例如,对于手机集成,你可以编写一个独立的WPF应用程序).使用jQuery的ASP.NET可以轻松地将WCF服务(JSON或XML版本)与桌面客户端一起使用.
就客户端表单的开发而言,这在很大程度上取决于开发人员的经验和您未来的计划.我不打算在这里开发网络软件的优点/缺点 - 在过去10年中有大量关于基于云/网络的软件(例如salesforce)的文章.我宁愿专注于可交付成果 - 您的团队在今天和未来最舒服的是什么.从开发的角度来看,WPF和Web开发之间存在巨大差异,它需要完全不同的体验.
毫无疑问,WPF是可行的方式.我同意@Ray Burns所说的一切.
因为:
绝对使用WCF通过实体框架提供后端,请参阅分层体系结构中的实体框架.您可以在本机应用程序中与后端进行更好的集成,因为它可以被内联调用 - 不需要回调或ajax.我已经为WPF构建了组件,这些组件通过EF链接到业务逻辑,为验证等简单的东西提供感知控件.将客户名称字段放到表单上是非常好的,它只是起作用.
要添加其他组件,您需要使用经过深思熟虑的插件架构来构建它.这两种环境都是一样的.我对此有一些想法,我在我的期刊" 应用程序的设计插件架构 "中记下了这一点
构建WPF应用程序时,您将使用一种语言(例如C#)+标记(XAML)编写.在构建asp.net时,您最终会使用两种语言+标记,因为您始终需要编写一些Javascript代码.
因此,根据您的要求,它必须是WPF/WCF(EF).基于Web的应用程序将是更多的工作,更复杂,而不是很好.
大约12个月前,我很幸运能够自由地为新应用选择技术.我花了将近一个月的时间来评估所有选项,并得出结论,它必须是C#,WPF,实体框架.编写应用程序后,我可以确认这是正确的选择......
1.即使你的程序员必须先学习WPF,它仍然会更容易.WPF更好的思考,伟大而可爱.很可爱.它运作正常.