Web应用程序的新表示层

时间:2010-03-09 17:57:32

标签: asp.net-mvc silverlight presentation-layer

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

如果您只有模型,那么使用哪种技术可以相对较小地交换表示层。

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

1 个答案:

答案 0 :(得分:2)

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

如果你在/ data out app中有一个非常简单的数据,并且不需要很多动态屏幕交互,并且想要快速开发功能,那么ASP.Net就是你要走的路。你可以使用Javascript和Web服务做很多动态的东西,但ASP.Net并不像ASP.Net MVC那样灵活。但是,使用服务器端控件在ASP.Net中快速开发整个屏幕要容易得多。

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

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

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

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