2008-08-26 60 views
3

我负责设计一个显示非常大的地理数据的Web应用程序。其中一个要求是它应该被优化,以便在我国郊区常见的拨号上网的个人电脑也可以使用它。针对低带宽优化

现在我被允许使用Flash和/或Silverlight,如果这将有助于有限的开发时间和用户体验。

地理数据的大部分被分块成瓦片,然后像谷歌地图中的地图块一样加载,但这意味着我需要大量的HTTP请求。

我应该只用javascript + HTML吗?我最终会得到一个关于Flash/Silverlight的更快的应用程序吗?因为我可以在这2种技术上做一些复杂的算法(比如DeepZoom)。尽管部署桌面应用程序是不可能的,因为我们没有那么多维护资金。

它只是需要要快......真快..

附:更快的是在“下载更快”的意义上

回答

1

我不认为你会发现Flash或Silverlight会为这个应用程序提供太多的帮助。无论哪种方式,您将要使用平铺图像,并且图像在两种情况下都将具有相同的大小。使用Flash或Silverlight可能允许您向应用程序添加一些整洁的动画,但您在此处获得的任何内容都会对拨号连接上的客户端造成额外开销。我会坚持使用简单的Javascript/HTML。

2

是否可以接受Gears?这将允许您在本地存储数据以限制重新请求。

我也会远离flash和Silverlight,直接转到javascript/AJAX。 jQuery是一个很好玩的游戏。

2

我建议你看看Silverlight和DeepZoom

0

我相信微软的Seadragon是你的答案。但是,我不确定开发者是否可以使用它。

它看起来像它的一些已经找到了进入的Silverlight

1

您也可以通过现有的Ajax库之一看看异步下载您的瓷砖。假设您的用户可以一次查看9个贴图并滚动/缩放。下载他们可以看到的9个贴图以及处理第一次加载时这些贴图的缩放所需的任何内容;那么你需要使用缓存策略来异步预取其他信息。

在一个地方,我工作的规则引擎需要太长时间才能返回结果,因此他们选择向用户显示“确认此”屏幕。用户审查并点击下一步花费的时间足够多,以返回结果。它使得应用程序在用户看起来很快的时候变得轻松,实际上它花了更长的时间。您必须记住,用户对性能的感知在某些情况下与实际性能一样重要。