2011-10-11 29 views
3

我想编写一个类似于Prezi.com用户体验的Web界面。那么最好的技术是什么?Prezi般的网络界面。 Flash或HTML5?

项目要求:

  1. 快速执行(这是一个演示) - 我会很感激的粗略估计
  2. 大量的数据 - 需要动态内容加载/卸载。

我的自然人选是Flash和HTML5。

Prezi.com是使用单画布缩放/平移/旋转控件而不是经典的逐个幻灯片界面的演示文稿的替代平台。一个例子是here

编辑

我的网站的可视部分需要在画布上显示多个小部件(图片,视频,文本),并允许用户通过缩放和平移来导航。每个小部件都有自己的原始缩放。然而,小部件的数量是巨大的,同时只有少量的小部件可见。

+0

你想构建一个“展示”的工具,像他们或试图建立一个整个网站? – therin

+0

@therin我正在关注将覆盖大部分网站的“演示文稿”组件。这不是一个演示文稿,但是,它分享了许多视觉特征。 – Xyand

回答

1

如果您需要它,我认为您可能会从整个应用程序套件Adobe获得开发基于Flash的应用程序的好处。

Android平板电脑应该可以运行它以及所有桌面浏览器。只有iOS(iPad和iPhone)会被忽略。

恕我直言,HTML5还不成熟。

或者,您可以使用Adobe AIR并在本地编译为Web,iOS和Android。

+0

我不是Flash开发人员。通过快速说出,你有什么期限?当然,对于一个有经验的开发者 – Xyand

+0

我还没有广泛使用prezi,但整个事情看起来很简单。从他们拥有的公众来看,毫无疑问,他们已经进行了相当多的优化。我不确定。也许2到3周为有经验的开发者。顺便说一句,我不是一个很棒的评估者。 –

2

Felipe是对的,如果快速是你的目标,那么Flash就是要走的路。话虽如此,但我认为,当我说纯粹的Flash网站几乎从来没有做对的时候,大多数人都会同意我的看法。尽量少用它,只适用于真正需要动画的东西。

+1

噢。我也不喜欢纯粹的Flash网站。但是您可以将Flash嵌入到您的网站中,同时保持整个结构仍为HTML/CSS。 –

+0

在纯Flash中编写“演示文稿”组件似乎是否合理? – Xyand

+0

是的,如果这就是你想要的。我只是强调一个事实,即巨大的Flash网站并不是最佳的,它们不易编辑,而且无法访问。明智地使用Flash请=) – therin

1

我刚刚完成了一个几乎像prezi.com的应用程序,而不是演示文稿,我们有视频。我建议你使用整个应用程序的GWT和你想开发的视觉特性的HTML5。我不确定您对视觉特征的具体需求,但如果它们与prezi有某种相似性,那么您可以使用画布。

关于时间和成本估计我会破坏应用程序分为两个部分

1)总的网站,登录的Facebook /谷歌登录集成添加新prezi的,查看流行prezi的,与验证码注册,忘记密码,查看自己的自己的prezi's,在prezi's上输入评论和评分。开发这个网站应该不超过3周。

2)视觉特征组件。如果你能与我们分享更多细节,我可以告诉你更多关于此事的信息。我认为prezi的组件将需要大约3周。

+0

我对上述第1点的估计可以作为一个很好的估计,而对于第2点,我也不确定在得到关于该项目的更多信息后能否给出更好的估计。 –

+0

我在帖子中添加了更多信息。 – Xyand

+0

所以主要是你需要缩放和平移图像/文本和平移。正如你所说,画布上一次可以显示许多小部件,每个小部件都可以有自己的缩放,所以我想这应该至少需要5周时间。我对canvas的使用经验是,它非常棒,但它不是跨浏览器,我们必须努力使它在所有浏览器(特别是在IE中)看起来相同或几乎相同。因此,请记住跨浏览器问题的边界。 –

5

如果它仍然对你很重要,Webpgr正是你正在寻找。它基于HTML5,您可以使用点击和轻扫手势来浏览页面。有一个像Photoshop一样的在线编辑器。它处于测试阶段,但您可以申请一个帐户。

1

现在有layerJS,这是一个开源库,可以创建Prezi-like HMTL5网页界面。如果您需要某些元素独立移动,它甚至允许多个图层

这是超级简单:只需添加一个阶段格放一个或多个层中,当你想与你可以有变焦添加尽可能多的,平移和旋转转换

通过使用与“画布”不同的层布局类型,Prezi不仅仅是像过渡一样。

的HTML代码应该是这样的:

<div data-wl-type="stage"> 
    <div data-wl-type="layer" data-wl-layout-type="canvas"> 
    <div data-wl-type="frame" data-wl-name="frame1" data-wl-x="100" data-wl-width="1000" data-wl-rotation="45" ...> 
    </div> 
    <div data-wl-type="frame" ...> 
    </div> 
    </div> 
</div>