2011-10-11 64 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>