你需要Flash Remoting嗎? | (24-06-2003) |
Flash MX推出後,Macromedia積極推出很多和Flash有關的產品,有DRK、Flash Remoting、FlashCom、Data Connecton Kit,即將來臨還有Central和Royale……其中最令一般Flash玩家疑惑的是Flash Remoting和Data Connecton Kit,究竟他們有什麼用?兩者有什麼分別?我只用過Flash Remoting,所以只能夠先談一談Flash Remoting有何用途。 簡單地說,兩者都是用來使Flash和Server更容易交換Data,查詢Database等,因此如果只是用Flash來製作動畫、單機小遊戲、演示介面,不接觸Server的工作,就不需要Flash Remoting和DCK。 背景資料 myName=luar&place=hong+kong loadVariable()的缺點是Variable只可以一個一個地傳,而且Flash將收到Variable的Data Type全部認為是String(數字也不例外)。如果要傳一系列的Variables,只有: var1=123&var2=456&var3=789... 或者: var=123|456|789... 然後再自己拆開,Flash 4沒有Array和split(),這是一個甚痛苦工作。遇上Dynamic數量的Variables,還要靠Middleware傳多一個varTotal=10來代表Variable總數,方便拆開Data。 Flash 5支持Array和split(),對傳一系列的Variables,可以方便地用split()拆成Array,不過split()拆大量Data時速度很慢,那時Branden Hall寫了string.as優化split()執行速度。 loadVariable()另一個問題就是非同步延誤,Flash完全不知道Data究竟何時已經load入來,因此新手經常loadVariable()後立即調用那Variable而引致問題,解決方法就是在傳回那個String頭尾加上bof=1和eof=1,例如: bof=1&myName=luar&place=hong+kong&eof=1 然後用兩格Frame不停循環播放,檢查bof和eof是否等於1,例如: [Frame 1] [Frame 2] [Frame 3] [Frame 4] XML時代 <record> XML.onload更使Flash知道Data已經load入來,可以開始進行XML Parsing,意思是將XML中Data轉為Flash可以運用的Data Type,通常都是轉成Array,不過XML Parsing轉成Array,Array Element的Data Type都是只有String。 Flash 5處理XML的速度很慢,廣為人詬病,遇著大量Data,例如10k或以上,XML Parsing甚至會拖垮Flash Player,那時Branden Hall寫了XMLNitro優化XML Parsing執行速度。不過,有時寧願用回loadVariable和拆Array方法,更簡單、方便和快捷。 Flash 6新面貌 Flash Remoting 從Server傳到Flash的Data的Data Type是String,同樣從Flash傳到Server的Data的Data Type都是String,Flash Remoting可以直接將Number、Boolean、Array等在Flash和Server間互相傳遞,這可以減少Client和Server兩端在Data Type轉換上的工作量。例如Server可以將Data直接以Array傳給Flash,Flash可以立即使用,很方便;甚至整個Recordset傳給Flash,配合Data Grid顯示出來。另外,最重要是Flash中使用Flash Remoting的ActionScript是NetServices,它有兩種狀態_Status和_Result。_Status用來處理Exception,例如傳遞失敗等情況,_Result用來處理成功傳送情況。因此在Data傳遞上,Flash Remoting可以使Flash完全掌握整個過程。 第2個功能我認為影響更深遠,因為它使Flash和網絡技術大趨勢Web Services接上。在沒有XML之前,數據格式是各自為政,不同技術、生產商是不同,就算現實工作上,在同一公司,不同部門製作的程序,處理、儲存或輸出格式都是不同,因此在Data互通上做成很大麻煩,要使用人家的Data,就要先寫一個解讀程序。但是有了XML後,加上SOAP通訊協議,不同程序可以用XML來交換Data。換句話說,程序輸出結果是XML格式,其他程序可以「明白」它。Internet是最大交換Data的平台,Web Services就是遠端電腦中程序,其他電腦可以連接使用。 Web Services的影響 總結 |
|
本文章由發表。 |
意見 | |
沒有意見。 |
|
同組文章 |