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

Comparison between WPF MVVM and ASP MVC applications relative to time's estimation

也许我的问题会很奇怪: 我们有一个应用程序,其中包含:

  1. 创建数据库
  2. 添加必需的 UI 来处理某些数据库的 crud 操作 table
  3. 所有文本区域都很丰富,即它允许我们放置一些文本、更改文本的样式(字体、大小、...)、导入 pdf 文档以及导入或创建模式。
  4. 在 UI
  5. 中可视化 PDF 文件的内容

在我看来,最后两个特征是最难的。我们必须在 WPF with MVVM design patternAsp.Net MVC 应用程序之间做出选择。我们要选择哪个提供时间最少的 estimation.The 团队成员对这两个选择有相同的经验。

这些是我们、我和我的同事的观点:

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

  1. 我们必须选择 WPF,因为 Always 桌面应用程序的时间估计比 Web 应用程序短。
  2. 如果我们选择Web应用程序,我们将花费大量时间使其与IE浏览器兼容,并且我们必须添加一些Javascript 片段

我的意见(针对 Asp.net MVC)

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

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

  3. Model Binding的特性可以帮助我们快速生成界面

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

谢谢,

这似乎是一个相当自以为是的问题,没有绝对的答案。然而

  1. 兼容IE浏览器已经不是问题了。 ie6 不再是主导浏览器,如果您的客户正在使用它,您必须问问自己为什么。使用 modernizr, htmlShiv、jquery、bootstrap 等库,除非您处于最前沿,否则这很少是主要问题。

  2. 添加 javascript 库是非常重要的,不应该是一个问题,如果有的话,它是 Web 开发的 "pro",因为有太多可供选择与 WPF 及其组件的较小程度相比。

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

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

  5. WPF 也有模型绑定。在那张纸条上。 Aspmvc是一个mvc框架吧。然而,传递给视图的模型不是可观察的,所以从技术上讲它不是*纯 mvc 框架。它确实大量使用了视图模型,因此可以被认为是一个 mv(vm)c ,它实际上与 WPF MVVM 非常相似。这里要给WPF加分。它的绑定非常易于使用,并且在 xaml 上分层意味着您可以非常自由地使用交互性和更好的 UX 感觉。 WPF morden UI 是一个非常好的布局起点,如果你还没有检查过的话

  6. 我觉得主要关注的应该是。

您希望用户如何使用该应用程序?您是希望他们能够快速打开浏览器并使用该应用程序,还是希望他们下载应用程序然后使用它,知道所有用户都有足够的能力下载和安装没有任何问题。

您的用户中有任何人会使用 mac 或 linux 吗? 因为那时您必须考虑使用 mono project如果您在 WPF 中开发以适应这些用户。

您希望您的客户能够离线使用该应用程序吗? 在浏览器上使用 localstorage 可以帮助离线消费,但达不到 WPF 的可用性程度。使用 WPF 还允许您更深入地插入 windows ,如果您想利用 windows 操作系统允许的可扩展功能,这将非常方便。即插入 outlook 以发送 pdf

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

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