C# WPF MVVM和ASP MVC应用程序相对于时间的比较;s估计

C# WPF MVVM和ASP MVC应用程序相对于时间的比较;s估计,c#,asp.net,asp.net-mvc,wpf,mvvm,C#,Asp.net,Asp.net Mvc,Wpf,Mvvm,也许我的问题会很奇怪: 我们的应用程序包括: 创建数据库 添加处理某些数据库表的crud操作所需的UI 所有的文本区域都是丰富的,即它允许我们放置一些文本、更改文本的样式(字体、大小等)、导入pdf文档以及导入或创建模式 在UI中可视化PDF文件的内容 在我看来,最后两个功能是最困难的。我们必须在使用MVVM设计模式的WPF和Asp.Net MVC应用程序之间进行选择。我们必须选择提供最低时间估算的项目。团队成员对这两个项目有相同的经验 以下是我们,我和我的同事的观点: 我的同事观点(适用于带M

也许我的问题会很奇怪: 我们的应用程序包括:

  • 创建数据库
  • 添加处理某些数据库表的crud操作所需的UI
  • 所有的文本区域都是丰富的,即它允许我们放置一些文本、更改文本的样式(字体、大小等)、导入pdf文档以及导入或创建模式
  • 在UI中可视化PDF文件的内容
  • 在我看来,最后两个功能是最困难的。我们必须在使用MVVM设计模式的WPF和Asp.Net MVC应用程序之间进行选择。我们必须选择提供最低时间估算的项目。团队成员对这两个项目有相同的经验

    以下是我们,我和我的同事的观点:

    我的同事观点(适用于带MVVM的WPF)

  • 我们必须选择WPF,因为桌面应用程序的时间估计值总是低于web应用程序
  • 如果我们选择web应用程序,我们将花费大量时间使其与IE浏览器兼容,并且我们必须添加一些Javascript代码片段
  • 我的意见(针对Asp.net MVC)

  • Web应用程序时间估算与桌面时间估算之间的比较取决于项目本身。第一点我不同意他的意见

  • 在这个项目中,我们有执行crud操作的UI,我认为asp.NETMVC平台的脚手架特性可以帮助我们减少开发时间

  • 模型绑定的特性可以帮助我们快速生成接口

  • 我需要知道谁是对的?这个项目的最佳选择是什么


    谢谢,

    这似乎是一个相当固执己见的问题,没有绝对的答案。不过

  • 与IE浏览器兼容不再是一个问题。ie6不再是主流浏览器,如果你的客户正在使用它,你必须问问自己为什么。对于诸如jquery、bootstrap等库,除非您处于最前沿,否则它很少是一个主要问题

  • 添加javascript库不是一件小事,如果说它是web开发的“专业”的话,也不应该是一个问题,因为与WPF及其组件相比,有太多的选择

  • 两者之间的时间估计实际上取决于开发人员对html/css/javascript与xaml的了解程度。您可能有兴趣知道VisualStudio有一个将xaml转换为css/html的扩展

  • 脚手架是一个方便的功能。但它们的默认形式相当基本。创建您自己的模板相当容易,但在编写t4模板时需要使用一些细微差别,尤其是在使用viewmodels/ParialView或标准模型之外的任何东西来查看概念时。还有一个扩展来帮助格式化

  • WPF还具有模型绑定。在这方面。Asp mvc是一个mvc框架。然而,传递给视图的模型是不可观察的,因此从技术上讲,它不是一个纯mvc框架。它确实大量使用viewmodels,因此可以认为是一个mv(vm)c,它实际上非常类似于wpfmvvm。这里应该给WPF一个要点。它的绑定非常容易使用,而且在xaml上分层意味着您可以非常自由地使用交互性和更好的UX体验。如果您还没有签出,这是布局的一个很好的起点

  • 我认为主要的问题应该是

  • 您希望您的用户如何使用该应用程序?您希望他们能够快速打开浏览器并使用该应用程序,还是希望他们下载并使用该应用程序,同时知道所有用户都有足够的能力下载并安装而不会出现任何问题

    <强>您的用户是否将在Mac上,或Linux?< /强>,因为您必须考虑使用在WPF中开发的以适应这些用户。 您希望您的客户端能够脱机使用应用程序吗?在浏览器上使用localstorage有助于脱机使用,但不能达到WPF的可用性程度。使用WPF还可以让您更深入地插入windows,如果您想利用windows操作系统允许的可扩展功能,这可能非常方便。Ie插入outlook以发送pdf的

  • 踢者。如果您决定使用Asp mvc,那么为什么不直接使用Asp web api呢。这样,您就可以以web格式构建服务,并将数据推送到您需要的地方。您可以有一个基于浏览器的选项和一个WPF选项,这两个选项的大部分工作都只倾向于界面开发。因此,您无需付出太多额外的努力就可以做到两全其美。如果您决定使用phonegap创建一个手机应用程序,这也将允许一个相当直接的开发过程。是一个很酷的介绍视频到webapi与浏览器和WPF解决方案

  • 我知道在大多数情况下,我只是被告知使用什么,有时甚至是客户。所以,享受这项研究吧,不是所有人都能权衡利弊。

    谁能说得出来?这取决于很多因素,不仅仅是“javascript代码片段”。@Will:谢谢你的回复,但你能详细阐述你的想法作为答案吗。此外,安装程序的部署、托管和创建对我们来说都不是问题,所以我只需要比较一下应用程序开发时间,我会选择ASP.NETMVC。它将给你一个希望,这个解决方案将比WPF实现活得更久,web解决方案将给你更多的用户。否则,如果您对js框架不是很熟悉,最好选择WPF解决方案,这样做就不会有任何问题。WPF非常好,但它只是桌面(当然,如果你不想在fresh上创建应用的话)