2008-09-11 233 views
10

我们需要建立一个管理门户网站来支持我们的客户端/服务器应用程序。由于我们是一个.Net商店,所以传统的方式就是在ASP.Net中这样做。但是Silverlight 2将在发布日期之前推出一段时间。我们应该考虑用silverlight构建整个网站,而不是使用支持WCF的后端?在整个网站上使用Silverlight?

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

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

StackOverflowers的经验有没有大的no-nos?有哪些重要的积极因素?

回答

9

取决于你的目标。如果管理门户是应用程序的一部分,并且只能从安装应用程序的计算机上使用,那么完全使用Silverlight - 甚至是WPF都有很多好处。

但是,如果您可以看到将从随机PC或任意人员使用的场景,则完全有效的HTML/Javascript版本是绝对必要的。

一些原因是:

  • 大多数人没有silverlight的,你会赚,如果他们需要下载并安装它说脏话的良好的负荷。一些安装它的人保持禁用(连同闪光灯,有时甚至是图像),以避免分心和加速浏览。
  • 当HTML网站失败时,用户会收到错误页面并重新加载。当silverlight失败时,它可能会挂起或崩溃。
  • HTML是所期望的 - 用户和网络浏览器都是这样:后退和刷新按钮按其应有的方式工作,超链接和表单按预期工作。
  • 互联网速度很慢,在偏远地区和移动设备上都很常见。
1

ASP一路。当文字无法做到你想做的事情时,你应该只使用silverlight/flash等。显示视频。

+1

Iain, 为什么?在我看来,Silverlight比HTML/JavaScript有更好的编程模型。为什么我不应该使用它? 这就是我试图找出。 – 2008-09-11 11:14:40

+0

我认为除了显示视频之外,还有太多“文字无法做”的事情。一路上ASP一直误导山姆,因为这真的取决于。 – 2008-09-11 12:31:28

+0

@Sam网页是html。 Html是文本。大胖二进制块不是呈现文本的最佳方式。 – 2009-01-28 15:51:26

15

我会建议不要构建纯Silverlight网站。

Silverlight存在与Flash相同的问题:不直观的书签,打印问题,可访问性问题,无法回退按钮等等。

此外,您需要您的用户安装Silverlight或至少有能力安装它。

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

0

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

5

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

15

我肯定会去一个完整的Silverlight应用程序,特别是如果你有WPF的良好经验。您将能够重用WPF的知识,并且能够快速获取Silverlight。自从Beta 1开始,我一直在使用Silverlight,而目前的Beta 2具有稳定的质量。我想假设一个RTW版本即将到来是安全的。

皮尔夫有一些有效的观点,特别是有关打印。为此,我可能会在服务器端使用SQL Reporting Services或其他报告框架,然后弹出一个包含可打印报告的新窗口。对于链接和书签,问题与其他任何AJAX应用程序没有区别。我今天做了一篇关于Silverlight的博客文章how to provide deep linking and back-forward navigation in

随着WPF的UI自动化API被带入Silverlight,Silverlight也具有良好的可访问性支持所需的所有钩子。我不知道屏幕阅读器厂商是否赶上了。 Silverlight中的样式/模板支持可以轻松地为视觉受损用户提供高对比度皮肤,如果这是一个问题。

0

以前的评论已经处理了使用Silverlight作为网站的大部分缺点,我同意这一点。如果你决心开发富客户端风格并且你的观众很小(仅适用于管理员),那么我可能会推荐使用Silverlight的WPF,因为它目前提供了一套更丰富的工具和控件。

如果你坚持使用ASP.NET,你有没有看过动态数据 - 它是建立后端管理站点的理想选择。

7

我同意所有人都说过的话,我认为这个针对Flash的流程图也适用于Silverlight。

enter image description here

Source of Image

0

我见过的 “Silverlight的只是” 在微软的网站,他们是相当令人印象深刻。但是再次,演示在那里充分利用Silverlight可以实现的全部潜力。当你需要不同的东西的时候,你可能会不走运。除了安装/看到的方式之外,我没有看到Flash那样的Silverlight。但Flash/ActionScript后端真的是不好与Visual Studio可以提供的.NET相比较

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

1

为您的网站使用插件会让它变慢,并且需要用户安装插件。例如,Silverlight排除了所有Linux用户。此外,由于Silverlight相当新颖,如果不尽快恢复,微软将如何保持平台的活力,并不知道如何承诺。

我会坚持到普通的老HTML与服务器端脚本。

此外,对于公共网站:Flash和Silverlight不能被任何搜索引擎,如果你想要的任何访问者都编入索引,所以好运与写作吨的元数据。

1

Silverlight是一个面向内部门户网站一个不错的选择,只是因为这将是一个面向公众的门户网站,如果你已经评估了项目,并决定与门户网站前进。您可以自由地将Silverlight组件集成到现有的ASP.NET应用程序(即“丰富岛屿”)方法中,但是如果您有能力从头开始构建新项目,则不要将完全Silverlight解决方案折扣为有效您可以选择传统的ASP.NET门户。 Silverlight现在是RTW,所以如果这个决定仍然在桌面上,你知道你将不必处理突破性的变化。

3

关于远程管理员的话题,另一张海报声称,如果管理员的连接速度很慢,那么这个论据就是支持HTML的一种说法。我认为,根据信息类型的不同,使用Silverlight可能会更有效率。如果您有一个ASP.NET数据网格填充了服务器端数据绑定,您可以下载大量的标记和视图状态数据。即使你在ViewState上使用更轻的DataGrid的代理,你仍然可以下载很多HTML。

在Silverlight中,一旦你获得了XAP,这可能会比相应的HTML小,XAP被缓存,所以你不应该每次都花费这些成本,你只需要检索数据本身。

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

在ASP.NET中客户端数据绑定会更好,后者与Silverlight和WPF的数据绑定非常类似。

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