自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flash與開(kāi)放Web的應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)

開(kāi)發(fā) 后端
現(xiàn)在新Web應(yīng)用開(kāi)發(fā)平臺(tái)不窮,加之各個(gè)技術(shù)廠商不遺余力的宣傳自家技術(shù)的優(yōu)勢(shì),對(duì)開(kāi)發(fā)者來(lái)說(shuō),現(xiàn)在創(chuàng)建富體驗(yàn)Web應(yīng)用時(shí),到底選擇哪一種技術(shù)是一件費(fèi)腦子的事情。真正的挑戰(zhàn)是許多有趣的新Web技術(shù)由不同的組織推廣,對(duì)于一個(gè)開(kāi)發(fā)者或設(shè)計(jì)者來(lái)說(shuō)比較困難的一件事情是,如何從中選出一款實(shí)用且不會(huì)過(guò)時(shí)的技術(shù)。

一般來(lái)講,開(kāi)放技術(shù)通常比專有技術(shù)更普及、生命周期更長(zhǎng),而后者則往往能夠比較及時(shí)的支持高級(jí)功能。因此,Web應(yīng)用開(kāi)發(fā)者需要堅(jiān)持 實(shí)用第一,盡可能的選擇開(kāi)放技術(shù),但是在某些特殊情況下,也應(yīng)該能夠毫不猶豫的選擇專有技術(shù)。這種選擇與開(kāi)放或其它信仰無(wú)關(guān),而只是 為了選擇一種合適的技術(shù),來(lái)最大化目標(biāo)應(yīng)用程序取得成功的可能性。換言之,這不應(yīng)該是一個(gè)私人和情緒化的選擇,而是一個(gè)業(yè)務(wù)和理性的 選擇。

對(duì)于今天的主流富Web應(yīng)用來(lái)說(shuō),主要有兩大技術(shù)可用:Flash和OpenWeb(諸如HTML、CSS、JavaScript、SVG等)。雖然SilverLight和 JavaFX肯定也是非常有意思的技術(shù),但它們依然是未被事實(shí)驗(yàn)證過(guò)的Web事物,本文出于簡(jiǎn)化考慮,將重點(diǎn)討論Flash和OpenWeb。

由于多年研究該問(wèn)題,并且在兩個(gè)陣營(yíng)都花費(fèi)了較長(zhǎng)時(shí)間,我可以坦白的說(shuō)雙方各有自己的優(yōu)勢(shì)和不足,選擇哪一個(gè)要取決于你的富Web應(yīng) 用的要求,你甚至可能需要同時(shí)使用它們。做出合理選擇的技巧是,客觀的了解每一個(gè)技術(shù)的優(yōu)勢(shì)和不足,不帶任何個(gè)人情緒作出理性選擇。

為了幫助解答何時(shí)用什么技術(shù)這個(gè)問(wèn)題,以下是一個(gè)兩大應(yīng)用開(kāi)發(fā)平臺(tái)技術(shù)-功能列表,并附上簡(jiǎn)短解釋。

Flash與開(kāi)放Web的應(yīng)用開(kāi)發(fā)平臺(tái)對(duì)比圖

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—SEO(OpenWeb)

盡管谷歌在索引Flash內(nèi)容上取得了一些進(jìn)展,針對(duì)Flash的SEO依然處于初級(jí)階段,因此,如果你的應(yīng)用程序需要依賴SEO來(lái)取得成功,你 更好的選擇是使用已知的URL和HTML最佳實(shí)踐。對(duì)于未使用任何未經(jīng)驗(yàn)證的SEO技術(shù)的標(biāo)準(zhǔn)頁(yè)面HTML內(nèi)容來(lái)說(shuō),進(jìn)行SEO也不是一件容易的事情 。而一旦以錯(cuò)誤的方式使用了Ajax,對(duì)SEO來(lái)說(shuō)就是一件極具破壞性的事情。舉例來(lái)說(shuō),在很多單頁(yè)面Web應(yīng)用中會(huì)使用“#”URL技巧,這可能 就不利于SEO的實(shí)現(xiàn)。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—移動(dòng)Web(OpenWeb)

移動(dòng)Web是另外一個(gè)Flash技術(shù)依然處于落后局面的領(lǐng)域。盡管Adobe在這個(gè)領(lǐng)域正在取得一些有希望的進(jìn)展,如果你不是在創(chuàng)建一個(gè)2D游戲 或視頻/多媒體為中心的應(yīng)用程序,就沒(méi)有多少理由在已經(jīng)非常強(qiáng)大的現(xiàn)代移動(dòng)Web瀏覽器上再使用另外一個(gè)帶來(lái)開(kāi)支和不確定性的虛擬機(jī)?,F(xiàn) 在,多數(shù)新高端移動(dòng)設(shè)備具有類似桌面的瀏覽器功能(通常是基于WebKit),它可以讓開(kāi)發(fā)者完全利用諸如Ajax和CSS2.1+等OpenWeb技術(shù)。因 此,最大化你的手機(jī)應(yīng)用能力的最佳方式是堅(jiān)持使用OpenWeb技術(shù),并根據(jù)簡(jiǎn)化版瀏覽器來(lái)設(shè)計(jì)你的Web用戶界面。另外,開(kāi)發(fā)者可以充分利用 當(dāng)今的移動(dòng)應(yīng)用商店來(lái)推廣特定手機(jī)的應(yīng)用,不過(guò)這并非本篇文章討論范圍,因此略過(guò)。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—富HTML顯示&編輯(OpenWeb)

盡管Flash10中有一些技術(shù)可以簡(jiǎn)化HTML布局和編輯組件的開(kāi)發(fā),它依然與瀏覽器本身的功能相差甚遠(yuǎn)。有人猜測(cè)稱Flash11可能具有更好 的HTML功能,甚至可能有嵌入式WebKit,但是就目前來(lái)說(shuō),如果你希望顯示和編輯富HTML,毫無(wú)疑問(wèn),Web瀏覽器才是你的最佳拍檔。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—按需性能(OpenWeb)

當(dāng)用戶首次訪問(wèn)一個(gè)Web應(yīng)用時(shí)所獲得的體驗(yàn)就是按需性能,此時(shí)該應(yīng)用的任何信息不會(huì)出現(xiàn)在瀏覽器的緩存中。人們對(duì)個(gè)人Web應(yīng)用常見(jiàn) 的預(yù)期值是,響應(yīng)時(shí)間不要超過(guò)1秒。如大家所知,解釋型頁(yè)面可以更有效的完成按需內(nèi)容及交互的執(zhí)行,而Flash應(yīng)用模式的編譯特點(diǎn)則在進(jìn) 行預(yù)加載執(zhí)行時(shí)更具有優(yōu)勢(shì)。因此,對(duì)于那些要求快速交互體驗(yàn)的應(yīng)用來(lái)說(shuō),OpenWeb模式更適合。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—預(yù)加載性能(Flash)

相反,F(xiàn)lash和類似Flex等框架的編譯方式,使它可以更優(yōu)化地實(shí)現(xiàn)預(yù)加載交互。因此,如果你不介意在你的應(yīng)用程序上有一個(gè)“進(jìn)度加載 條”,并且有一個(gè)高度執(zhí)行性能需求,那么Flash可能是一個(gè)好的解決方案。值得提出的是,諸如谷歌ChromeV8和Mozilla火狐SpiderMonkey中 的新JavaScript虛擬機(jī),正在打破解釋型語(yǔ)言性能的障礙。不幸的是,微軟IE瀏覽器在語(yǔ)言性能方面依然處于落后狀態(tài)。盡管我們認(rèn)為微軟也 正在優(yōu)化它們的JavaScript引擎,但是目前來(lái)說(shuō),獲得高執(zhí)行邏輯性能的最佳方式是使用FlashActionScript3。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—?jiǎng)赢?huà)(Flash)

如果你希望畫(huà)質(zhì)流暢,那么Flash是你最好的朋友。盡管這個(gè)說(shuō)法目前成立,不過(guò)你應(yīng)該知道的重要一點(diǎn)是,通過(guò)現(xiàn)代瀏覽器(包括IE8) 和諸如jQuery等Ajax工具,完全借助于OpenWeb技術(shù)的應(yīng)用程序也可以具有還過(guò)的去的動(dòng)畫(huà)功能。不過(guò),除非動(dòng)畫(huà)是應(yīng)用程序的重要基石,它 不應(yīng)該成為選擇哪一種技術(shù)的關(guān)鍵或決定性因素。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—2D&3D(Flash)

這無(wú)疑是Flash的一個(gè)強(qiáng)項(xiàng)。盡管OpenWeb正在建立某些2D標(biāo)準(zhǔn)和實(shí)現(xiàn)(諸如Canvas和SVG等),但是在像素和矢量圖形創(chuàng)建和管理方面,沒(méi) 有任何一個(gè)技術(shù)能夠比Flash提供更高的性能和功能。盡管Canvas和某些SVG現(xiàn)在已經(jīng)被火狐和其它基于WebKit的瀏覽器(蘋果的Safari和谷歌 Chrome等)所支持,但微軟的IE瀏覽器卻沒(méi)有支持它們。開(kāi)發(fā)者可以通過(guò)使用JavaScript或Flash庫(kù)等兼容方式來(lái)回避微軟這個(gè)限制,但是往 往以犧牲功能和性能為代價(jià)。換言之,盡管以SVG/Canvas/VML建立一個(gè)在線版Photoshop或類似Visio的應(yīng)用是可能的,但是使用Flash技術(shù)創(chuàng) 建它所需要的投入肯定更具吸引力。不幸的是,F(xiàn)lash不支持解釋型模式,因此Web開(kāi)發(fā)者將不得不完全轉(zhuǎn)向Flash開(kāi)發(fā)模式和工具。盡管有一 些有趣的FlashSVG庫(kù)可以剛Web開(kāi)發(fā)者使用Flash來(lái)展現(xiàn)SVG,或使用瀏覽器JavaScript虛擬機(jī)來(lái)運(yùn)行腳本,但是這樣做通常會(huì)以降低性能為代 價(jià)。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—文件處理(Flash)

文件處理功能一直完全被不同的OpenWeb標(biāo)準(zhǔn)和實(shí)現(xiàn)組織所遺忘。創(chuàng)建一個(gè)通過(guò)瀏覽器存取本地文件的有效體驗(yàn)一直是一個(gè)挑戰(zhàn)。即時(shí)是最 新的瀏覽器,其文件輸入模塊近允許一次選擇一個(gè)文件。盡管在這方面Flash也難成完美,不過(guò)它在這個(gè)方面增加了一些不錯(cuò)的功能,諸如多 文件選擇功能,另外還增加了一個(gè)很重要的功能,可以在將文件從客戶端發(fā)往服務(wù)器之前閱讀它們的內(nèi)容。另外一種選擇是使用Java技術(shù), Facebook在其圖片上傳程序中就使用了該技術(shù),它通過(guò)簽名applet幾乎實(shí)現(xiàn)完整的文件系統(tǒng)控制。高級(jí)剪貼板支持是另外一個(gè)被忽視的需求。

應(yīng)用開(kāi)發(fā)平臺(tái)之爭(zhēng)—視頻/音頻回放(Flash)

在HTML5中有兩個(gè)比較大的新功能,一個(gè)是離線支持,另一個(gè)則是視頻和音頻標(biāo)簽。不過(guò),關(guān)于視頻標(biāo)簽的支持格式,目前還存在一些爭(zhēng)論 。其中最大的問(wèn)題之一是最好的視頻格式往往具有版權(quán),盡管諸如Adobe、微軟和谷歌等商業(yè)廠商愿意為它們的用戶支付視頻稅,而開(kāi)源社區(qū) 卻發(fā)現(xiàn)自己處于“雙環(huán)困境”(catch-22)中。因此,從一個(gè)應(yīng)用程序開(kāi)發(fā)者的角度來(lái)看,F(xiàn)lash是迄今為止能夠?yàn)閼?yīng)用程序帶來(lái)高品質(zhì)視頻 和音頻的最佳選擇。而且Flash最近還支持了H.264/mp4,就目前來(lái)說(shuō),沒(méi)有什么比它更適合了。

如上所述,沒(méi)有一種技術(shù)可以滿足所有需求。根據(jù)應(yīng)用程序需要,你可能需要組合使用多種技術(shù)。很明顯,對(duì)于一個(gè)技術(shù)廠商來(lái)說(shuō),希望 自己的技術(shù)被應(yīng)用在盡可能多的場(chǎng)景中;而對(duì)于應(yīng)用程序開(kāi)發(fā)者來(lái)說(shuō),無(wú)論采用哪一種技術(shù),唯一的目標(biāo)就是確保應(yīng)用程序取得成功,開(kāi)發(fā)者 在投入太多時(shí)間和金錢到某一種技術(shù)之前,應(yīng)該理性、客觀的評(píng)價(jià)每一種技術(shù)的優(yōu)缺點(diǎn)。另外,在定義應(yīng)用程序需求時(shí),要真正關(guān)注用戶關(guān)心的事情。

【編輯推薦】

  1. Adobe Flash和Flash Catalyst測(cè)試版第一印象
  2. Silverlight無(wú)法取代Flash的四個(gè)原因
  3. 微軟正式推Flash殺手Silverlight
  4. HTML 5與Flash,不得不談的話題
  5. Adobe公司發(fā)布最新Flash平臺(tái)測(cè)試版
責(zé)任編輯:彭凡 來(lái)源: IT168
相關(guān)推薦

2010-04-14 09:06:28

FlashWeb標(biāo)準(zhǔn)

2013-08-27 10:52:35

Java.Net

2012-03-26 09:23:47

SharepointSalesforce

2013-08-28 14:43:19

2011-07-18 12:49:08

數(shù)據(jù)中心數(shù)據(jù)中心網(wǎng)絡(luò)

2011-11-15 09:10:24

HTML 5

2013-07-24 10:10:57

天翼開(kāi)放平臺(tái)WEB短信API

2011-11-29 14:37:41

2009-01-18 09:57:32

Java.NETSun

2011-02-21 09:10:42

WebHTML 5JavaScript

2011-09-02 16:42:51

Sencha ToucWeb應(yīng)用

2011-08-02 15:11:34

開(kāi)放平臺(tái)Q+WebOS

2019-12-17 11:19:02

AI 數(shù)據(jù)人工智能

2013-12-13 13:54:05

移動(dòng)應(yīng)用

2012-10-11 08:45:46

云計(jì)算甲骨文Box

2012-01-12 14:16:23

響應(yīng)式Web設(shè)計(jì)

2011-12-12 14:12:05

百度開(kāi)放平臺(tái)

2020-08-17 12:55:38

.NetJava軟件開(kāi)發(fā)

2014-07-29 14:42:50

惠普HP Helion云計(jì)算

2014-05-19 16:31:39

京東云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)