3

我们已经有了一个用魔法编写的现有 Web 应用程序。但现在我们最终希望将现有的 Web 表示层(可能也是富客户端)交换为服务器端表示层。你认为我应该首先看什么(ASP.Net MVC、Silverlight、PHP 中的东西)。

如果您只有一个模型,那么使用哪种技术来交换表示层的工作量相对较小。

是否有可能使用通用表示层,以便我们可以轻松创建新页面。

4

1 回答 1

2

PHP 与 ASP(或其他任何东西,如 Ruby on Rails 等)都是关于偏好以及你知道或认为你想要提升的东西。假设您选择走这条路,让我从 Microsoft Web 开发人员的角度谈谈这个问题。

如果您有一个非常简单的数据输入/数据输出应用程序,并且不需要大量的动态屏幕交互并希望快速开发功能,那么 ASP.Net 是您的最佳选择。你可以用 Javascript 和 web 服务做很多动态的东西,但是 ASP.Net 不像 ASP.Net MVC 这样灵活。但是,使用服务器端控件在 ASP.Net 中快速开发整个屏幕要容易得多。

如果您希望更好地控制 HTML 输出,希望使用 Javascript 进行更动态的显示,并且希望能够更轻松地利用单元测试,那么 ASP.Net MVC 就是您的最佳选择。开发简单的屏幕将比传统的 ASP.Net 应用程序花费更长的时间,但是使用 MVC 来开发服务器生成的 DOM 需要与客户端操作很好地融合的交互式内容会更快。单元测试也是 ASP.Net MVC 的一个小技巧,并且有很多示例可以展示如何构建一个经过良好测试的 MVC 站点。我认为 ASP.Net MVC 也可以更好地扩展,因为您可以更好地控制输出。

如果您需要具有丰富图形和动画的非常漂亮的 UI,并且希望能够对您的应用程序逻辑进行单元测试,那么使用 MVVM 模式的 Silverlight 是您的最佳选择。我现在正在写这样一个应用程序。它非常容易进行单元测试(就像任何单元测试一样简单),很容易模拟数据以使用大型数据集测试 UI,而且 Silverlight 提供了 HTML 中无法获得的图形级别。话虽如此,您将使用 Silverlight 与较小的受众打交道,因为需要该插件才能像 Flash 一样查看 Silverlight。Silverlight 在 iPhone 上也不可用。Silverlight 还会导致下载时间损失,因此您必须考虑一下您的应用程序有多大,而“纯”网络应用程序并非如此。

ASP.Net 和 Silverlight 或 ASP.Net MVC 和 Silverlight 的混合是您的第四选择。您可以在只有部分应用程序需要 Silverlight 提供的丰富 UI 的情况下执行此操作。Silverlight 和 ASP.Net 项目可以共享文件,因此您可以在这两个地方使用您为业务逻辑开发的类(有一些注意事项)。

我希望这会有所帮助,并祝你的项目好运。

于 2010-03-09T20:59:18.013 回答