設(shè)計思考:FlashWeb的四層結(jié)構(gòu)淺析

字號:

前言:我剛接觸Flash的時候是Flash6末期,國內(nèi)的Flash Web(也就是Flash網(wǎng)站)還是很少的,牛X的更是屈指可數(shù),而且這個時候所謂的牛X,一般都是指效果很酷,技術(shù)強的基本沒有。早期的Flash web開發(fā)者大都是由Flash動畫制作者或是網(wǎng)頁設(shè)計師轉(zhuǎn)變而來。他們非常熱衷于片頭和過渡效果,為此不惜犧牲瀏覽者的等待時間并吃掉瀏覽者的CPU,所以好多人一談起Flash web就覺得它體積大,效率低。當然如果是個人網(wǎng)站,信息量小,大多都是一次性瀏覽的網(wǎng)站,酷眩的效果可以讓人過目不忘,這是普通HTML網(wǎng)頁所不能企及的。
    后來MM公司對Flash的連續(xù)兩次升級都把重點放在了AS上,AS內(nèi)置類快速膨脹,功能急速擴展,AS2.0更是趨向標準的面向?qū)ο笳Z言。這時候一大批程序員又被吸引進來了,尤其是那些有C或者JAVA背景的牛人們??上麄兛傁矚g用程序員的思維去評判Flash web,甚至用軟件開發(fā)的標準去往Flash web開發(fā)上硬套,結(jié)果肯定是失望,很多人武斷的就把責任推給了Flash:“Flash web結(jié)構(gòu)混亂,基于時間軸的AS寫法奇怪,F(xiàn)lash web不適合大規(guī)模的商業(yè)應(yīng)用開發(fā)!”。就這樣Flash web的前途被宣判了死刑。
    于是造成現(xiàn)在一個非常有意思的現(xiàn)象:很多以前動畫很牛的前輩們,都去職業(yè)搞動畫片制作了,并為Flash動畫的產(chǎn)業(yè)化和商業(yè)化勇敢探索著,有些已經(jīng)取得了輝煌成就;而Flash7之后進來的程序牛人們,直接從事Flash游戲開發(fā)和Flash RIA應(yīng)用開發(fā)了,他們更習慣基于事件的編程和面向?qū)ο蟮拈_發(fā)模式,時間軸對他們的意義已經(jīng)不再重要。這樣以來Flash web開發(fā)成為一個中間斷檔帶,也是人才最稀缺的地帶。很多目前從事Flash web開發(fā)的人員應(yīng)該都是從HTML網(wǎng)頁制作人員簡單學了一些Flash后過渡過來的,他們即非動畫高手也非程序高手,更多的是網(wǎng)頁設(shè)計高手。然而這些設(shè)計高手又總愛拿Flash跟PS比,結(jié)果Flash web開發(fā)還是沒得到好的口碑。
    我從最開始學習Flash就是以做網(wǎng)站為目的,這兩年多來,我所學的一切都是以Flash web開發(fā)和應(yīng)用為核心,我?guī)缀鯂L試了所有常見的Flash web結(jié)構(gòu)形式,我時時刻刻的都在考慮如何在保存Flash優(yōu)勢的情況下,又能開發(fā)出有實際應(yīng)用價值的高效率的商業(yè)作品,最終將Flash web開發(fā)模式化,快速化。
    那么Flash web的優(yōu)勢在那里呢?對于展示性的網(wǎng)站,當然是Flash酷眩的效果,這點已經(jīng)被大多數(shù)人所共識。但對于包含大量信息,需要經(jīng)常更新的Flash web,它的優(yōu)勢就不再可能是效果,因為Flash的效率實在不敢恭維,大量的效果會影響人們對信息的查詢效率,現(xiàn)在網(wǎng)絡(luò)帶寬也不容樂觀,大量的動畫必將造成SWF體積膨脹,影響瀏覽速度。那么大中型信息類Flash web的優(yōu)勢到底是什么呢?在筆者看來,優(yōu)勢只有兩點而已,一是界面布局靈活,二是數(shù)據(jù)的無刷新更新。還記得我們以前在DW中拉表格的痛苦嗎?還會為了網(wǎng)站布局工整寫一堆CSS和JS嗎?還用得著每次更新數(shù)據(jù)就打開一個新頁面嗎?Flash web的兩大優(yōu)勢使這些歷史的痛苦都成為了過去。而且,這兩點如果處理恰當?shù)脑挘鸵呀?jīng)足夠給普通的瀏覽者帶來全新的用戶體驗了。
    我這兩年來一直也都是處在學習和探索階段,還不是真正的理論研究階段,兩年時間太短了!我的很多想法和理論還很不成熟,甚至是幼稚的。我現(xiàn)在拿出來和大家分享,不求說服誰或者證明什么,只求能給大家一些啟發(fā),同時自己也好好總結(jié)一下。下面就粗淺的談?wù)勎夷壳皩lash web尤其是Flash web結(jié)構(gòu)的認識吧。
    Flash web結(jié)構(gòu)概述
    現(xiàn)在的Flash web真是百花齊放,形形色色的Flash web使人應(yīng)接不暇。自由靈活是Flash web的生命力所在,但這也正Flash web商業(yè)化的主要瓶頸之一。商業(yè)最看重的是效率,而無規(guī)則便無效率可言。那么Flash web是不是真的就一點規(guī)律都沒有呢?非也!縱觀現(xiàn)在所有的Flash web(Flash RIA應(yīng)用程序除外,比如Flash涂鴉板、地圖等等),不管它們技術(shù)怎么牛,效果怎么酷眩,都不能逃脫以下四層結(jié)構(gòu):
    1  動畫層(Movie)
    2  背景層(Background)
    3  數(shù)據(jù)顯示層(Display)
    4  數(shù)據(jù)層(Data)
    這些概念其實都不新穎,看到這些我自創(chuàng)的名詞,一些有經(jīng)驗的開發(fā)者們肯定立刻都能猜出一二來。為了以后論述方便,簡稱MBDD式。
    我以下的所有討論都將緊緊圍繞這四層結(jié)構(gòu)進行,因為在我看來,F(xiàn)lash web的靈魂就是它的結(jié)構(gòu),一個Flash web的技術(shù)含量不是看它某些特效多眩,更不是看這個WEB中有個什么新穎的、牛X的技術(shù)應(yīng)用,關(guān)鍵是要看它通過什么手段有效的把各種元素統(tǒng)一起來的!
    最后我要提前說明的一點是,MBDD式是對所有Flash web的概述,很多Flash web根據(jù)其功能不同可能缺失其中某些層,后面的文章我會繼續(xù)仔細講解。