Silverlight是否比原始ASP.NET更可行?

时间:2009-08-10 03:05:18

标签: asp.net silverlight

我正在为我工​​作的公司设计解决方案(但刚刚辞职),其中包含非常复杂的应用程序。这个过程接近10个步骤(包括T& C和预览),还有一些非常棘手的UI级业务规则(主要由传统的搭配系统驱动)。

基本上,验证是由先前表格中选择的内容驱动的,而不仅仅是之前的表格。

该解决方案已被确定为ASP.NET应用程序,但我设计的解决方案越多,它看起来就越难以在无状态环境中实现。它最终将以查询字符串参数,页面上的隐藏变量,viewState或会话来传递信息。

然后我建议我看一下Silverlight,给它一个更有状态的环境,让它更容易处理参数的传递。

除了观看演示之外,我从未对Silverlight做过任何事情,所以我没有亲身体验过它,但是从我读过的所有内容来看,我认为它确实有可能解决一些主要问题我试图用标准ASP.NET来解决这个问题。

那我该怎么做:

  1. 考虑到我上面提到的内容,Silverlight是一个可行的选择吗?
  2. 将Silverlight投放到没有任何Silverlight技能的公司?
  3. 你如何处理“但它需要一个浏览器插件”的论点?

3 个答案:

答案 0 :(得分:4)

您所说的问题是关于在多个页面/表单之间保持状态。会话对此有好处(不是那些查询参数或隐藏变量,因为那些可以被篡改,只需要在开发你的应用程序时考虑这种可能性会减慢你的速度。)我建议最简单。< / p>

但是,您也可以在一个页面上放置几个表单并将它们一起提交,但使用javascript看起来像不同的页面。使用任何体面的javascript库都不会太难,但我推荐jQuery(微软正在采用自己作为ASP.NET的标准)

如果您的公司在javascript中没有很多技能,那么与Silverlight问题相同,但至少它不需要插件。

不要误会我的意思,我喜欢silverlight,我非常喜欢它,当它获得类似于flash的市场份额时,我会放弃HTML / css / javascript。虽然它似乎不适合你。

答案 1 :(得分:3)

我目前在一家在Silverlight中构建其主要LOB应用程序的公司工作。

对于您要做的事情,Silverlight可能是一个不错的选择,但请考虑:

  • 使用Silverlight不会降低应用程序的复杂性。
  • 如果您已经熟悉ASP.Net,则可以使用现有习语(会话状态,向导控件或您自己的实现决策树/状态机模型的普通旧CLR对象)来处理复杂的工作流。
  • 如果您的问题确实是工作流程设计的问题,您可以将ASP.Net应用程序与Windows Workflow Foundation集成。但是,“不会降低应用程序的复杂性”也可能适用于此;在我有限的经验中,Windows Workflow Foundation也没有简化构建工作流程。
  • 将状态全部包含在本地客户端对象中所获得的收益很可能小于学习Silverlight及其特性的成本。

话虽如此,在Silverlight中攻击此类问题的想法并没有错。它不是银弹或任何东西; Silverlight有自己的数据访问难题,古怪的UI代码特性,并且需要围绕开发应用程序的另一个模型。

答案 2 :(得分:0)

Silverlight有一个Page类,可让您轻松支持导航,您可以像在浏览器中一样返回上一页。我认为Silverlight页面和导航框架非常适合您所描述的那种应用程序。

使用Silverlight可以创建非常丰富的客户端体验。在某种程度上,在ASP.NET中也可能这样做,但我发现传统Web应用程序(HTML,CSS,JavaScript等)中的所有移动部件及其交互比Silverlight模型复杂得多。如果您没有使用Silverlight的经验,您可以创建一个简单的页面导航原型,而无需任何真实的逻辑来感受体验。如果您满意,那么您可以向管理层展示它以展示Silverlight的强大功能。如果他们喜欢eye candy,你可以改变应用程序的视觉主题,试图给他们留下深刻的印象。但是,如果管理层实际上喜欢灰色战舰,这种策略可能会适得其反。