在整个网站上使用Silverlight吗?

时间:2020-03-05 18:51:21  来源:igfitidea点击:

我们需要建立一个管理门户网站来支持我们的客户/服务器应用程序。由于我们是.Net商店,因此显而易见的传统方法是在ASP.Net中进行。但是Silverlight 2将在我们发布日期之前的一段时间内发布Beta版。我们是否应该考虑使用支持WCF的后端在Silverlight中构建整个网站?

该门户网站的主要功能将是:用户,组和权限配置;用户配置文件设置配置;文件上传和下载以支持该应用程序所需的文件。

我认为采用这种方法的主要原因是我们在WPF和WCF方面拥有丰富的经验,但是在ASP.Net中却经验很少。无论哪种方式,我们都必须学习ASP.Net或者Silverlight,而学习Silverlight似乎是对我们当前技能的更自然的扩展。

StackOverflowers的经验有什么大忌?有哪些积极的方面?

解决方案

回答

一路ASP。仅当文本无法完成我们想做的事情时,才应使用Silverlight / Flash等。显示视频。

回答

我建议不要建立一个纯Silverlight网站。

Silverlight遇到与Flash相同的问题:不直观的书签,打印问题,可访问性问题,无法使用后退按钮等等。

另外,我们将要求用户安装Silverlight或者至少具有安装它的能力。

在受控环境中(例如在大型公司或者医疗保健中)或者在移动设备上,情况可能并非如此。

回答

完全在Flash / Silverlight中开发网站有一些弊端,但是如果这些弊端对我们来说不重要或者不会产生影响,那么没有什么可以阻止。选择我们认为更能满足我们需求的任何工具。我不会因为缺点而单纯地在Silverlight中创建网站,因为它给用户体验带来了很多积极的影响。

回答

听起来问题是我们需要富客户端管理应用程序。为什么不使用单击一次?

回答

取决于目标。如果管理门户网站是应用程序的一部分,并且仅在安装了应用程序的计算机上使用,则完全使用Silverlight甚至WPF都有很多优点。

但是,如果我们可以从随机PC或者随机人员那里使用它,则完全有必要使用功能齐全的HTML / Javascript版本。

原因如下:

  • 大多数人没有Silverlight,如果他们必须下载并安装它,则将获得很多的咒骂。有些安装了该软件的人会使其保持禁用状态(与Flash甚至图像一起使用),以免分散注意力并加快浏览速度。
  • 当HTML网站失败时,用户将获得错误页面并重新加载。当Silverlight失败时,它可能会挂起或者崩溃。
  • HTML是预期的-用户和Web浏览器均如此:后退和刷新按钮按预期方式工作,超链接和表单按预期方式工作。
  • 在偏远地区和移动设备中,慢速Internet仍然很普遍。

回答

我绝对会选择完整的Silverlight应用程序,尤其是如果我们有WPF的丰富经验时。我们将能够重用WPF中的知识,并且应该能够相当快地掌握Silverlight。自Beta 1开始,我就一直在使用Silverlight,而当前的Beta 2具有可靠的质量。我想可以肯定地说RTW版本即将来临。

Pilf有一个有效的观点,特别是在打印方面。为此,我可能会在服务器端使用SQL Reporting Services或者其他报告框架,然后弹出带有可打印报告的新窗口。对于链接和添加书签,这些问题与任何其他AJAX应用程序没有什么不同。我今天写了一篇博客文章,介绍如何在Silverlight中提供深层链接和后退导航。

Silverlight还具有强大的辅助功能支持所需的所有挂钩,因为WPF的UI自动化API已引入Silverlight。我不知道屏幕阅读器供应商是否赶上了。 Silverlight中的样式/模板支持使我们可以轻松地为视障用户提供高对比度的外观。

回答

前面的评论已经解决了将Silverlight用于此类网站的大部分弊端,我同意。如果我们确定要开发富客户端样式,并且受众群体很小(仅适用于管理员),那么我可能会建议使用Silverlight上的WPF,因为它目前提供了更丰富的工具和控件集。

如果我们坚持使用ASP.NET,那么我们不需动手就可以了解动态数据,它是构建后端管理站点的理想选择。

回答

我同意每个人到目前为止所说的内容,并且我认为此针对Flash的流程图也适用于Silverlight。

图片来源

回答

我曾经在Microsoft看过"仅Silverlight"网站,它们的确令人印象深刻。但是同样,演示程序在那里可以发挥Silverlight的全部潜能。当我们需要其他不同的东西时,我们可能会不走运。除了安装/看到它们的方式之外,我没有看到像Flash那样的Silverlight。但是与Visual Studio可以通过.NET提供的功能相比,Flash / ActionScript后端确实很糟糕。

问问自己为什么要使用Silverlight?花式效果或者编程模型?

回答

为网站使用插件会使速度变慢,并且要求用户安装插件。例如,Silverlight排除了所有Linux用户。此外,由于Silverlight是一个非常新的产品,因此,如果它很快就无法恢复,微软将保持该平台的生命力并不能说明。

我会坚持使用服务器端脚本编写普通的旧HTML。

此外,对于公共网站:Flash和Silverlight不能被任何搜索引擎索引,因此,如果我们希望有任何访问者的话,可以编写大量的元数据,祝我们好运。

回答

Silverlight是面向内部门户网站的不错选择,就像已经面向公众的门户网站一样,如果我们已经评估了项目并决定继续使用Web门户网站,那将是一个不错的选择。我们可以自由地将Silverlight组件集成到现有的ASP.NET应用程序(即"丰富的岛屿")方法中,但是,如果我们有能力从头开始构建新项目,请不要将完整的Silverlight解决方案视为有效的解决方案选择传统ASP.NET门户所处的位置。 Silverlight现在是RTW,因此,如果此决定仍然存在,我们将知道以后将不必处理重大更改。

回答

关于远程管理者的话题,另一位张贴者表示,如果管理员之间的连接速度较慢,则支持HTML。我认为,根据信息类型的不同,使用Silverlight可能会更有效。如果我们有一个使用服务器端数据绑定填充的ASP.NET数据网格,则可以下载大量的标记和ViewState数据。即使我们使用的是DataGrid的替代品,在ViewState上更轻巧,我们仍然可以下载很多HTML。

在Silverlight中,一旦XAP降低(可能会比相应的HTML小),XAP就会被缓存,因此我们不必每次都花钱,而只是检索数据本身。

再举一个例子,假设我们在一个表单上有一堆下拉列表,这些列表在列表中都具有相同的值。在Silverlight中,我们可以一次获得这些值并将它们绑定到所有dorpdowns,在HTML中,我们每次都必须重复它们。

通过ASP.NET中的客户端数据绑定,该方法会更好,该模型遵循与Silverlight和WPF非常相似的数据绑定模型。

总体而言,我还认为我们将需要为Silverlight实现编写更少的代码,这可以提高生产率并降低维护成本。