yafei's profile要做就做到全球最棒 要麼就不做PhotosBlogListsMore Tools Help

Blog


    November 28

    完整、準確地把握Flash ActionScript開發的知識體系——Flash開發用戶入門必讀

    完整、準確地把握Flash ActionScript開發的知識體系

    ——Flash開發用戶入門必讀

    [摘    要]

            本文明確闡述了在應用Flash ActionScript進行應用程式開發和動畫開發方面的完整知識,整理出了“基於時間軸的應用程式開發”的基本體系,從而使得Flash ActionScript開發過程開始清晰起來。完整闡述了ActionScript開發的基本知識,並糾正了錯誤的觀念,目標是為用戶建立正確的認知。

            完整的知識體系總結歸納,為了使用戶能夠將開發建立在合理的符合IT工業標準的基礎之上,我們建立一個邏輯的知識體系,以利於用戶快速、準確、完整地掌握它。

    [關鍵字]

            基於時間軸的應用程式,完整的知識體系,正確的認知,Flash Player,Flash,IDE,ActionScript,FFC,OOP,RIA,FMS,基本語法,時間軸,影片片段,組件,用戶介面,聲音,視訊,濾鏡,網路,移動設備,即時通訊

    [正    文]

            很多年來,每一個應用Flash開發的用戶都有一個夙願:那就是如何完整、系統的把握Flash ActionScript應用程式開發的知識體系。

    這真的是一個難題……

            好在,在黑夜裏不斷的摸索中,在不斷的實踐中,問題逐漸的清晰化,並且理應逐漸的被克服。正如我在前面的文章中所言,夜很長,但天總要亮的……

         瞭解和掌握Flash開發的方式

            相對過去我們熟悉的開發體驗而言,Flash的開發的確是個怪物。

            [1]過去我們熟悉的開發方式

            如果你熟悉Visual Basic、Visual C++、Power Builder、Borland C++或者Delphi等等其中的一個,那麼你可能很快就能熟悉其他的幾個,因為它們都是基於表單(Form)的開發方式,這並不困難;如果你熟悉ASP、JSP、PHP、ASPX等等其中的一個,那麼你也能很快熟悉其他的幾個,因為它們都是基於網頁(webPage)的開發方式。

            但是,當來到Flash時卻困惑了,因為這不是過去我們所熟悉的這兩種開發方式中的一種。這導致非常多的開發者(包括我自己)過去很長的一段時間內都在黑夜中摸索,感到的是一個十分陌生的開發環境,這使得Flash開發一直離整個IT開發世界很遠。

            三年前,我在拙著中提出了“Flash是基於時間軸的應用程式”的開發體系,三年後的今天,我覺得,我的確應該向大家介紹這一開發體系,因為,這一體系已經非常完整,它已經能夠被貫穿到整個開發過程中,並最終能幫助您快速、完整、準確地把握Flash ActionScript應用程式開發的知識體系。

            同時,我也非常樂意向您推薦,在《Flash ActionScript X 開發入門》這本書中,這一知識體系得到了充分的體現。

            現在,無論你是Visual Basic、Visual C++、Power Builder、Borland C++、Delphi等的開發者,也無論你是ASP、JSP、PHP、ASPX等網頁的開發者,你完全可以按照你過去曾經熟悉的方式來學習Flash開發,並遵循這一開發體系,將你的Flash應用融入到整個IT世界,並不見有任何焊接的痕跡。

            [2]什麼是“基於時間軸的應用程式”

            “Flash是基於時間軸的應用程式”是完整的知識體系,事實上,我個人認為它是目前我所知的“唯一”正確的主線。它如同巨大的磁石將全部的開發體驗吸附到“時間軸”這個看起來如此淺顯而又深刻的“現實”中來。

            時間軸的概念對於大多數應用程式開發環境而言是十分陌生的,首先,它看起來僅僅是設計人員感興趣的事,或者是僅僅用於簡單的動畫。但是,您很快就會發現,時間軸是管理一個應用程式各種狀態的方法,它實際上是一個無價之寶。它可以作為一個Wizard(嚮導),一個表單介面,或者是一個智慧按鈕,可以根據當前的情況顯示不同的外觀,做出不同的反應。

            所有的影片片段也都有獨立的時間軸,每個時間軸或者處於播放狀態,或者處於停止狀態。如果時間軸正在播放,它將一直下去,直到遇到一個stop()命令(一個例外的情況是該時間軸僅包含一幀)。

            Flash的設計人員總是使用時間軸來製作動態內容;然而,開發人員總是把影片片段的每個幀停下來,把每個幀用作不同的狀態,甚至,Flash的開發人員在舞臺上純粹使用程式碼建立互動式的動態內容。

            “Flash是基於時間軸的應用程式”,理解它,這非常重要。

            因為在許多看起來簡單得不可思議、但是又無法準確把握的地方,這一知識體系確發揮了無法置信的效果。例如,在任何應用程式開發中,變數的作用域都是最基本的、也是最重要的認知。如果不能正確地把握這一知識體系,實際上就很難理解變數的作用域。

    實際上,在這一問題上,Flash開發人員過去的理解真的很脆弱……

            理解“Flash是基於時間軸的應用程式”,當用戶在處理層、層級和深度時,以及在控制狀態時,你才可能將它們之間的關係理清,這在整個開發過程中是彌足寶貴的。

         要有正確的ActionScript認知

            任何語言都有一定的語法格式,這是用戶首先應該掌握的,並且應該認識到,各種語言之間是相通的,它們之間有很多的相似性:JavaScript與ActionScript很相似。但它們與其它的語言就不很相似了嗎?實際上ActionScript與VB.NET、C#.NET、JAVA等都有很多相似性,因為它們之間都是相互借鑒的,這就為學習ActionScript帶來了便利。

            只要有了基本編程知識的用戶就可以很快地學會ActionScript,但是如果沒有基本的編程知識,那麼就必須從頭開始學習基本語法了,這要稍慢一些,但也非常簡單,因為語法不過就是我們過去小學和中學所學過的加減運算等。

            但是,隨後的一些事情給很多用戶帶來了麻煩和錯誤的認知,即使是那些在這一領域中有多年開發經驗的用戶也未能倖免,這真的讓人很憂心。

            隨著Flash向開發領域疾速邁進的時候,新的事物也層出不窮。當ActionScript的新版本被正式的命名為2.0後,我並不知道這會為錯誤的認知埋下種子,雖然我知道這並不是“錯誤認知”的理由。

            但現在你應正確的認識它們:

    ActionScript 1.0和2.0是兩種截然不同的語言,它們之間不存在進化或升級的關係。

            一旦瞭解並理解了這一點,實際上你就瞭解了ActionScript幾乎全部的內容,實際上,根據這種理解,你可以將這種關係推廣到ActionScript 3.0。

            [1]簡單的邏輯和事實可以幫助你瞭解ActionScript

            用戶要學習Flash開發,首先要接觸到的是ActionScript。過去,ActionScript有兩種語言編寫風格,這就是AS1和AS2。前者遵循的是ECMA-262第3版所制定的規範,而後者遵循的是ECMA-262第4版制定的規範,但它們的實現只有一種,即Flash Player VM(MM稱為AVM1)。

            現在,ActionScript有了第三種語言編寫風格(ActionScript 3.0),而它的實現也增加了一種,這就是AVM2(ActionScript虛擬機第二版),雖然它也內嵌於Flash Player當中,但它與前一個ActionScript實現已有根本不同。

            [2]瞭解Flash Player VM也許能幫你理解ActionScript

            早在5年前,我提出Flash Player虛擬機概念;5年後的前些天,MM提出AVM(ActionScript虛擬機)。所有的應用皆集於Flash Player,這是每一個Flash的開發人員都應該理解的。

            要認識AVM版本間的不同,最好的方法是與微軟CLR做一個對比。主要就是在“實現”上的區別,因為微軟CLR是通用語言運行時,它並沒有為特定的語言編寫風格(C#.NET、JS.NET或者VB.NET)專門定義一個實現。

            AVM也與Mozilla的JavaScript實現不同,因為Mozilla有兩種JavaScript實現:但一種實現使用C完成(也就是眾所周知的SpiderMonkey),另一種實現使用Java完成(也就是眾所周知的Rhino)。它們實現的是同一種語言。

            AS2中的面向物件編程(OOP)功能是基於當前正由ECMA TC39-TG1開發的ECMAScript 4草案建議開發的。由於ECMA-4建議尚未成為一個標準,並且仍然在不斷更改,AS2並不嚴格遵循此規範。

            AS3(同樣遵循ECMA-262第3版),應該是對AS1的完善,這一完善是十分必要的,有必要解除開發人員對ActionScript的誤解:AS2是對AS1的增強——這種看法是完全的錯誤。但也要提醒用戶注意的是,AS3不會取代AS1。

            MM的意圖是很明顯的,它將使Flash Player成為像.NET那樣的CLR,各種風格的開發人員都可以在自己熟悉的環境中編寫程式碼,而在同一個容器中運行,並且可以協同工作。

    現在,Flash離這一目標越來越近...................

            AS2和AS1最終被編譯成相同的程式碼在同一個虛擬機內運行,而AS3保留了AS2的一些語法特點而增強了AS1,當它被編譯成新的程式碼後在新的虛擬機內運行。

            不同的程式師應該選擇自己熟悉的編程風格學習一種ActionScript,另外應該注意的是:ActionScript的版本僅是對創作環境而言,對於Flash Player運行時而言,ActionScript的版本無任何意義。

            [3]範例我想是最有說服力的

            濾鏡是Flash 8新增的功能,用戶不但可以使用AS2語法來完成,也可以使用AS1來完成。

            ActionScript 2.0程式碼:
            as2

            ActionScript 1.0程式碼:
            as1

         掌握和善用FFC

            目前流行的軟體語言基本都是面向物件的開發語言,面向物件編程(OOP)的核心是應用物件(大多數的語言用“類”來建立和管理物件),Flash(不管是ActionScript 1.0抑或2.0、3.0,它們都)是面向物件的開發體系。

            Flash ActionScript提供了若干內建類(各個版本的ActionScript很多內建類的用法是相同的),這些內建類組成了Flash應用的基礎,因此也被稱為Flash Foundation Class(Flash基礎類,簡稱FFC)。

            FFC包括“頂級類”和“Flash專用類”兩部分:

            頂級類

            頂級類被寫入到Flash Player中。這些頂級類中有一些是基於ECMAScript(ECMA-262)第3版語言規範的,也稱為核心ActionScript類。包括Array、Boolean、Date、Error、Function、Math、Number、Object、String和System等都是核心類,它們為應用程式提供了核心功能。

            Flash專用類

            與頂級類對應的是“Flash專用類”。Flash專用類提供對Flash應用程式外觀和行為的運行時控制,包括Camera、MovieClip和LoadVars等都是Flash專用類。還有其他一些類被組織到flash.*包(例如flash.display)中。

            除了可以使用FFC,用戶還可以自訂類,並且可以擴充現有的FFC,添加新的功能或者修改現有的功能,從而進行更為強大的面向物件編程(OOP)。

            雖然有用戶提出ActionScript 1.0無法自訂類,但我並不認為你可以忽略FFC,這結論從前面我們講到的濾鏡範例可以得到。

         現在馬上出發

            作者邀您訪問他的BLOG:http://zhang-yafei.spaces.live.com

         Flash知識體系成員

            是完整的知識體系,更是順承一致的知識體系。瞭解知識體系成員:

            [1]【完整、準確地把握Flash動畫設計的知識體系

            [2]【完整、準確地把握Flash ActionScript開發的知識體系

            [3]【完整、準確地把握Flash動態網站開發的知識體系


         
     


    最新版本》》》》》》:

    《PHP for Flash FMS動態網站開發手札》繁體第三版由上奇科技出版


          

    http://zhang-yafei.spaces.live.com/blog/cns!5358FA09E8EB6188!1264.entry

     
         


    November 15

    完整、準確地把握Flash動態網站開發的知識體系(Flash網路開發用戶必讀)

    完整、準確地把握Flash動態網站開發的知識體系

    ——Flash網路開發用戶必讀

    [摘    要]

            本文明確闡述了應用Flash和伺服器端軟體(包括Java、.NET、ASP、PHP、ColdFusion等)進行網路應用程式開發、除錯和部署的完整知識。

            完備而充足:完全的技術基礎大公開、完全的中文解決方案大公開、完全的安全架構原理大公開、完全的Flash Remoting實現大公開、完全的應用案例大公開。對知識體系進行了總結歸納,建立一個邏輯的知識體系,以利於用戶快速、準確、完整地掌握它。

    [關鍵字]

            動態網站開發,網路三劍客,富媒體應用程式,用戶體驗,Flash Player,Flash,ActionScript,Flash Remoting,RIA,AMF-RPC,FMS,XML,XML-RPC,WDDX,SOAP,.NET,Java,PHP,ASP,Database,PHP for Flash 網站開發手札,Java for Flash 動態網站開發手札,.NET for Flash 動態網站開發手札,ASP for Flash 動態網站開發手札,More

    [正    文]

            “Flash動態網站開發”正是炙手可熱的 “資料驅動的富媒體應用程式”的核心,之所以這樣講,正是出於對用戶和技術的深入理解:

    商業用戶需要的是低成本所帶來的高收益;而最終的消費者需要的是最佳的體驗。

            Flash也許是通向最佳體驗的最佳應用之門。由Flash Player、伺服器端應用程式以及XML構建的架構我最喜歡稱之為網路三劍客(注意區別於網頁三劍客),它提供了使用Flash Player、XML和伺服器端應用程式建立下一代網路應用程式最迅速、最大限度節省投資和最具有挑戰性的方法組合,這一組合能夠滿足商業用戶和最終消費者的需要。

         為什麼是“Flash動態網站開發”?

            為什麼?是啊,這是一個非常有趣的話題。近十幾年來,Internet以前所未有之勢使應用程式開發領域發生了根深蒂固的變化,許多組織越來越依賴於由Internet及相關技術提供的數位資源和通訊通道。現在,在設計和開發應用程式時,幾乎所有人都會考慮如何最有效地結合與利用Internet技術以便充分利用連接計算所帶來的好處。

            [1]C/S到B/S結構

            在過去的幾年,在這樣的網路應用程式開發過程中,開發人員都注意到了一種情況:那就是流覽器已經成為幾乎所有應用的標準用戶端,而包含Web網頁、中間件和資料庫在內的三層架構構成了各種應用的標準支撐平臺,從根本上完成了C/S(客戶機/伺服器)結構到B/S(流覽器/伺服器)結構應用模式的轉變。

            在B/S結構應用模式中,必須仔細地看待由Web網頁、中間件和資料庫構成的三層架構。在這三層架構中:Web網頁處於最頂層,代表著流覽器(或者說是用戶端Web動態和靜態內容的解釋器);最底層是應用程式中的原始資料,動態內容依賴於這些資料,這就是資料庫;中間件是用來執行資料(業務)邏輯運算的組件,對於Microsoft.NET,這個組件是.vb、.cs等檔編譯而成的.dll程式集;對於Java,這個組件是JavaBeans、EJB等Java類;對於ColdFusion,這個組件是CFC;對於PHP,這個組件是PHP類(PEAR);或者還應當包括JSP、Servlet、CFM、ASP、ASPX、PHP等動態網頁。

            [2]終端設備正在不斷的異化,虛擬機是大勢所趨

            同時,也應當注意到,終端設備正在不斷的異化。可以流覽Internet的各類設備正在成幾何倍數地增長,如今移動電話、智慧型電話、個人數位助理(PDA)、互動式電視系統或電話亭,甚至某些家用電器也能做到。為了能夠在不斷異化的終端設備上形成一致的流覽體驗,也為了不斷地降低創作成本,人們都已經認識到,虛擬機已是大勢所趨,它正在不斷成為人們關注的目標。

            [3]“富媒體”應用程式就是未來

            與此同時,一種我們稱之為“富媒體”的應用程式逐漸開始升溫,“富媒體”的核心是位於用戶端的虛擬機,而Flash Player是其中的佼佼者。

            有了Flash極富魅力的流媒體格式,有了ActionScript,便有了Flash影片應用程式,這是極富魅力的富媒體應用程式。在用戶端,承載該富媒體應用程式的是Flash Player。

            正是由於Flash Player的出現使得C/S與B/S之間的界限變得模糊起來,因為使用Flash Player,你可以將Flash影片應用程式當作是C(客戶機)也可以當作是B(流覽器),而這就使得C/S與B/S逐漸走向融合。

            [4]不可獲缺的創作環境和運行時

            從FutureSplash Animator(Flash的前身)到Flash 8,Flash由一個基本動畫創作工具發展到一個完整的多媒體編著環境和網路互動開發環境,它已經是一個名副其實的整合開發環境(IDE)。Flash Player也從一個簡單的動畫解釋器發展成一個稱為富媒體用戶端(Rich Media Client)的東西。富媒體用戶端是一個在內容、通信以及應用程式上具有高度繼承性的瘦客戶(Thin-Client)環境,正如前述,這符合網際網路發展的方向。

            Flash Player是高度整合和極富擴充性的富媒體用戶端,所有的Flash影片應用程式都由Flash Player解釋。Flash Player不但可以作為流覽器的插件,而且還可以作為獨立的流覽器解釋Flash影片應用程式。

            [5]Flash Player與Flash Remoting

            與高度整合和極富擴充性的富媒體用戶端對應,我們也有了各種各樣的Flash Remoting技術:包括XML-RPC、WDDX、SOAP和AMF-RPC等,這是Flash的後端服務。

         Flash動態網站開發的原理

            Flash Player將請求和資料發送給後端伺服器應用程式,後端伺服器應用程式接收到請求,通過HTTP(或者其他的協議)將回應和運算資料發送給Flash Player,Flash Player作為前端解釋器對資料進行解析,並做出邏輯運算。這便是Flash動態網站開發的基本原理。

            隨著應用的不斷深入,各種各樣便利的工具便不斷的應運而生:從Generator到FlashSQLComponentKit,從WDDX到XML-RPC,從SOAP到AMF-RPC,Flash在通向網路應用程式的道路上不斷攀登。

            AMF-RPC,也就是眾所周知的Flash Remoting MX,它不是原有的Generator的更新,而是具有實現新功能的Flash後端伺服器組件,相比起來不可同日而語。它提供了一種基礎架構,使用該架構可以很輕鬆的連接到一個應用程式開發人員要使用的遠端服務和WEB服務。Flash Remoting MX提供了一個強大但是非常簡單的程式模型和運行時,它大大簡化了Flash影片應用程式開發。使用Flash Remoting MX,開發者不需編寫任何封裝程式碼、proxy程式碼、資料配置程式碼,就可以很輕鬆的把ActionScript用戶端邏輯的連接到遠端服務。Flash Remoting MX把精確定義的應用程式API和服務(或者整合在C#內,或者整合在VB內,或者整合在Java內,或者整合在ColdFusion內,或者整合在PHP內)都傳遞給Flash影片應用程式,並作為ActionScript的API。

            這是一件令人激動的事情,有了Flash Remoting MX,有了Flash Player,你可以輕鬆的開發出那種具有炫彩圖像用戶介面,並由資料驅動的應用程式來,而且可以部署到各種設備上——只要該設備安裝了Flash Player。

            XML,它簡單的難以置信,但它也強大的難以置信。任何從事IT行業的工作人員都不能不瞭解它,任何從事應用軟體發展的人員都必須精通它——這一點並不難。

            新的Flash創作環境和運行時已經將架構完全建立在XML之上:為了更好的利用XML文檔,ActionScript程式語言內建了XML物件,可以使用XML物件載入和解析XML文檔,並可以將資料以XML格式發送到伺服器端;而且新的資料組件也都是以XML資料格式為基礎的,這就使得開發環境更具誘惑力,更加符合產業發展的方向。

            你可以在伺服器端使用多種方法接收從Flash影片應用程式傳遞的資料,也可以從伺服器端向Flash影片應用程式傳遞資料。方法多種多樣,但都要使用我們稱之為“中間件”的東西,傳統的中間件包括JSP、ASP、CFM、PHP、ASP.NET等,這些都是WEB網頁。

            Flash Media Server伺服器(簡稱FMS)的出現給全世界的人帶來一種全新的通訊方式。有了FMS,您可以參加即時網路會議;使用FMS,您可以在工作中進行協作以及通過Internet或企業Intranet共用資訊。

            使用FMS和Flash Remoting MX的整合,從而可以輕鬆連接資料庫以及驅動應用程式伺服器以建立功能更強的應用程式,並將其融入到Flash Player當中,從而為終端用戶帶來全新的富媒體應用程式體驗。

            現在你可以充分利用Flash Player的強大性能建立RIA(Rich Internet Application,富Internet應用程式),而不是枯燥的網頁加動態的圖片拼湊了。更值得一提的是,Flash Remoting MX已經成為Flash伺服器端策略的核心,不管你是使用Flash創作環境作為開發工具建立富Internet應用程式,還是使用FLEX建立富Internet應用程式,Flash Remoting MX都是你必不可少的應用核心。

         現在馬上出發

            作者邀您訪問他的BLOG:http://zhang-yafei.spaces.live.com

         Flash知識體系成員

            是完整的知識體系,更是順承一致的知識體系。瞭解知識體系成員:

            [1]【完整、準確地把握Flash動畫設計的知識體系

            [2]【完整、準確地把握Flash ActionScript開發的知識體系

            [3]【完整、準確地把握Flash動態網站開發的知識體系

         
     


    最新版本》》》》》》:

    《PHP for Flash FMS動態網站開發手札》繁體第三版由上奇科技出版


          

    http://zhang-yafei.spaces.live.com/blog/cns!5358FA09E8EB6188!1264.entry

     
         


    关于《.NET for Flash动态网站开发手札》

    This book will be released!!!!

    在网上书店预订和购买此书:华储网上书店第二书店互动出版网 

    November 02

    关于《Java for Flash动态网站开发手札》

            如果說【完整、準確地把握Flash動態網站開發的知識體系】是一個規範的話,那麼本書是他的一個實現,我想開發人員會很樂意聽到這句話,因為這才是行業術語。通過本書,一個在Java架構基礎下的Flash網路應用體系最終得到完整體現。

          本書共分四大主題

            第一篇 Java for Flash 基礎入門

            第二篇 Flash 網路應用程式和Flash Remoting

            第三篇 Flash 網路應用程式和FMS

            第四篇 大規模開發、除錯與部署

            以深入淺出的實例,說明如何利用Java來輔助Flash應用程式的開發,並加強Flash Remoting的安全性,為您的資料庫把關。最新、最IN的flash應用整合,敎您設定FMS(Flash Media Server )並與Java完美結合,讓您的動態網站盡善盡美!透過一個完整的餐廳訂位系統案例,循序漸進地指導讀者完成使用者註冊、驗証、線上訂位、查詢、資料庫建置與維護等功能,並且你還可以學習怎樣透過FMS與Java的結合,使店員和食客能夠即時的交流。Flash設計師,可以藉由本書,學習到更為進階Flash應用技巧,加強功力;Java程式設計師,也可以藉由本書,學習到如何利用Flash來製作出界面更加華麗的應用程式。

     

            本書特點

        • 與FMS(Flash Media Server)結合,讓Java for Flash有聲有色,更加完整。
        • 新一代Flash結合Java和資料庫,提升運行和開發效能。
        • 透析Flash網路應用的安全核心,加強Flash Remoting在會話及對應物件的安全性。
        • 理論與實務並進,用開發理論的闡述,佐以實際案例的開發,學習效果最佳!
        • 最符合中文環境的需求,中文處理問題解決方案大公開,讓您可以完全滿足客戶的需求!
        • 直擊Flash Remoting核心技術,包含多種Java平臺下的Flash Remoting實現(XML-RPC、WDDX、SOAP、Flash Remoting MX和OpenAMF)。

     

           在网上书店预订和购买此书:华储网上书店第二书店互动出版网 


         
     


    最新版本》》》》》》:

    《PHP for Flash FMS動態網站開發手札》繁體第三版由上奇科技出版


          

    http://zhang-yafei.spaces.live.com/blog/cns!5358FA09E8EB6188!1264.entry