10

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

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

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

StackOverflowers 的体验中是否有什么大的禁忌?有哪些大的积极因素?

4

12 回答 12

15

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

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

此外,您将要求您的用户安装 Silverlight 或至少能够安装它。

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

于 2008-09-11T11:27:37.727 回答
15

我肯定会选择完整的 Silverlight 应用程序,特别是如果您有 WPF 的良好经验。您将能够重用您从 WPF 获得的知识,并且应该能够相当快地掌握 Silverlight。我从 Beta 1 开始就一直在使用 Silverlight,目前的 Beta 2 质量可靠。我想可以肯定地假设 RTW 版本指日可待。

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

Silverlight 还具有出色的可访问性支持所需的所有挂钩,因为 WPF 的 UI 自动化 API 被引入 Silverlight。我不知道屏幕阅读器供应商是否已经赶上了。Silverlight 中的样式/模板支持可以轻松地为视障用户提供高对比度的皮肤(如果这是一个问题)。

于 2008-09-11T12:03:19.200 回答
9

取决于你的目标。如果管理门户是应用程序的一部分,并且只能在安装了您的应用程序的计算机上使用,那么完全使用 Silverlight(甚至 WPF)有很多优势。

但是,如果您可以看到将在随机 PC 或随机人上使用它的场景,那么功能齐全的 HTML/Javascript 版本是绝对必要的。

一些原因是:

  • 大多数人没有silverlight,如果他们必须下载并安装它,您将获得大量的咒骂。一些安装了它的人将其禁用(连同闪光灯,有时甚至是图像)以避免分心并加快浏览速度。
  • 当 HTML 站点失败时,用户会收到错误页面并重新加载。当 silverlight 失败时,它可能会挂起或崩溃。
  • HTML 是用户和网络浏览器所期望的:返回和刷新按钮按预期工作,超链接和表单按预期工作。
  • 在偏远地区和移动设备中,慢速互联网仍然很常见。
于 2008-09-11T12:01:41.827 回答
7

到目前为止,我同意大家所说的,我认为这个针对 Flash 的流程图也适用于 Silverlight。

在此处输入图像描述

图片来源

于 2008-09-11T12:05:43.407 回答
5

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

于 2008-09-11T11:41:38.300 回答
3

关于远程和管理员的话题,另一位发帖人表示,如果管理员的连接速度较慢,那么这是支持 HTML 的论据。我认为根据信息的类型,使用 Silverlight 可能更有效。如果您有一个使用服务器端数据绑定填充的 ASP.NET 数据网格,则可以下载大量标记和视图状态数据。即使您使用在 ViewState 上较轻的 DataGrid 的替代品,您仍然需要下载大量 HTML。

在 Silverlight 中,一旦您关闭 XAP(它可能会比相应的 HTML 小),XAP 就会被缓存,因此您不应该每次都有这样的成本,您将只是检索数据本身。

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

这将在 ASP.NET 中使用客户端数据绑定变得更好,它遵循与 Silverlight 和 WPF 非常相似的数据绑定模型。

总的来说,我还认为您需要为 Silverlight 实现编写更少的代码,这可以提高生产力并降低维护成本。

于 2008-10-17T15:30:32.517 回答
1

一路ASP。当文本不能做你想做的事情时,你应该只使用silverlight/flash等——例如显示视频。

于 2008-09-11T11:01:21.940 回答
1

为您的网站使用插件会使其速度变慢,并且需要用户安装插件。例如,Silverlight 排除了所有 Linux 用户。此外,由于 Silverlight 是相当新的,如果不尽快启动,微软将如何致力于保持该平台的活力也无法确定。

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

此外,对于公共网站:Flash 和 Silverlight 不能被任何搜索引擎索引,所以如果您想要任何访问者,那么祝您编写大量元数据好运。

于 2008-09-11T12:37:20.117 回答
1

Silverlight 对于面向内部的门户是一个不错的选择,就像如果您已经评估了您的项目并决定继续使用 Web 门户,那么对于面向公众的门户也是如此。您可以自由地将 Silverlight 组件集成到现有 ASP.NET 应用程序(即“丰富的岛屿”)方法中,但如果您有能力从头开始构建新项目,请不要将完全的 Silverlight 解决方案视为有效的解决方案选择使用传统 ASP.NET 门户的位置。Silverlight 现在是 RTW,所以如果这个决定仍然在桌面上,你知道你将不必处理未来的重大变化。

于 2008-10-17T14:03:57.077 回答
0

完全使用 Flash/Silverlight 开发网站有一些缺点,但如果这些缺点对您来说无关紧要或不会产生影响,那么没有什么能阻止您。选择您认为更能满足您需求的任何工具。我不会因为缺点而推迟纯粹在 Silverlight 中创建网站,因为它为用户体验带来了更多的积极因素。

于 2008-09-11T11:31:09.183 回答
0

之前的评论已经解决了在这样的网站上使用 Silverlight 的大部分缺点,我同意。如果您决心进行富客户端风格的开发并且您的受众很小(仅适用于管理员),那么我可能会推荐 WPF 而不是 Silverlight,因为它目前提供了更丰富的工具和控件集。

如果您坚持使用 ASP.NET,您是否看过动态数据 - 它非常适合轻松构建后端管理站点。

于 2008-09-11T12:05:16.357 回答
0

我在微软看过“Silverlight only”网站,它们令人印象深刻。但同样,演示是为了充分发挥 Silverlight 的潜力。当您需要不同的东西时,您可能会不走运。除了安装/查看方式之外,我看不到 Silverlight 之类的 Flash。但是与 Visual Studio 可以通过 .NET 提供的功能相比,Flash/ActionScript 后端确实很糟糕

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

于 2008-09-11T12:30:24.643 回答