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

Blog


    June 22

    我們宣佈《萬維網應用程式開發綱要(RFC)》——萬維網應用程式開發所宗,初入門必讀

    自從20世紀70年代互聯網誕生以來,以WWW技術為支撐的萬維網近十多年來迅猛發展,滲透到社會生活的各個方面。從聖法蘭西斯科郊外的矽穀,到新竹日夜通明的半導體工廠,它是如此深刻地改變著我們工作和生活的方式。

    全世界有3/4的人還從未接觸過互聯網,這也預示著我們這些已經從事互聯網工作,和即將從事互聯網工作的設計者、開發者都將有一個美好的明天。

    用戶首先必須掌握萬維網的基本常識,這是萬維網的基本知識結構,也是拙著《開發王》這套書所基於的基本理論基石和貫穿於始終的綱要,亦是萬維網應用程式開發的綱要。並且,這也不單單是一個知識結構的問題,其實任何的技術知識都是隨著技術本身的發展慢慢積累起來的,是技術不斷變化、不斷延伸的結果,所以知識結構往往也是一個怎樣正確認識技術發展史的問題。下面我們就來簡要介紹一下萬維網的技術簡史和萬維網的基本知識結構,這也是閱讀《開發王》這套書的基本前提。

         
     
    此之外別無其他
    每個開發者都必須將知識建立在兩個最基本的基石之上,除此之外別無其他。每一本圖書和教材都應該幫你做到,這也正是你從業互聯網的最堅實的技術基礎。
     
         

    WWW也就是我們經常提到的萬維網,它是Internet上那些支援WWW和超文本傳輸協定(HTTP)的客戶機與伺服器的集合,透過它可以存取世界各地的超文字檔案,內容包括文字、圖形、聲音、動畫、資料庫、以及各式各樣的軟體等。

    HTML是萬維網所基於的標準的格式化語言,它自從被發明以來就構成了整個萬維網設計和開發的核心,這也是我們每個從業人員都必須熟知於心的、了然於胸的,它是我們從業萬維網的基石。

    鑒於HTML扮演的重要角色和萬維網不斷發展的客觀要求,我們需要不斷改進和細化它的功能——將結構、內容和樣式分離已是大勢所趨,這也是為何CSS(層疊樣式表)出現的原因。

         
     
    你不得不瞭解它
    它是進行萬維網應用程式開發的認識論基石,也是實踐的指南針,設想存在一個不遵守該指南的萬維網應用程式是不可能的。
     
         
    在樣式表沒有出現之前,HTML用於呈現的功能實際肩負著兩種責任:一種是語義的呈現,一種是表現形式的呈現。例如,b元素(英文bold的縮寫)既要表現加粗的語義,實際上還要用作呈現的標示——也就是資料的結構。

    樣式表的出現簡化了HTML語言並且減輕了HTML對表現形式的責任,它使設計者和用戶都可以控制文檔的表現形式,包括字體資訊、對齊方式、顏色等。

    HTML和CSS一道構成了萬維網應用的用戶端基石,它們又被稱為萬維網應用程式的展示層。

             
     
    它們有一個響亮的名字
    展示層利用用戶端腳本和插件技術開始分擔業務邏輯層的部分運算,它們有一個響亮的名字,被稱為“富用戶端”。
                    
    誇誇其談並不可取
    所傳達給用戶的知識要麼必須有堅實的事實基礎,要麼是由嚴謹的邏輯推導而出,而這樣的邏輯也應被所有讀者輕鬆的理解。
     
             

    萬維網在不斷的前進,人們對於新功能的渴望也在不斷地增強,而這些新功能應當,而且理所應當能夠針對不同用戶的需求做出不同的回應,這也就是為什麼動態網頁技術層出不窮的原因。

    在這個目標的驅使下,微軟創造了ASP技術,進而又創造了ASP.NET;SUN創造了Servlet,進而又創造了JSP;Adobe創造了ColdFusion;而萬維網的技術社區會聚著不計其數的開發者,他們中的傑出者創造了PHP並使之成為流行的動態網頁開發技術。

    這些動態網頁技術可以針對用戶的不同請求做出不同的回應,「請求/回應」正是萬維網應用程式的基本模式(不管是靜態網頁還是動態網頁),不同的動態網頁開發技術有不同的應對於「請求/回應」的語言特點,但它們也都有共同的實現特點,那就是針對請求生成不同的HTML網頁,並把它傳遞到用戶的用戶端軟體中,正如你經常用到的那樣,這個用戶端軟體被稱為「流覽器」。

    由於動態網頁總是位於伺服器上,而它生成的HTML網頁又總是被流覽器流覽,所以這個開發經常被描述成B/S,也就是Browser(流覽器)和Server(伺服器)的縮寫。

    所有的基於WWW技術的動態網頁技術都會生成HTML網頁(網頁中也許會包含樣式表,也有可能僅僅是裸資料而不包含HTML標籤),這也是為何你會看到不同的動態網頁技術卻可以創建同樣呈現結果的根本原因。

    同樣,在用戶端流覽器中你也看不到動態網頁的源代碼,因為這些源代碼在伺服器上就已經被解釋、執行,最後被轉化成HTML格式的代碼並被傳遞到用戶端。這些網頁之所以被稱為動態網頁,也正是因為它們能夠根據不同的請求生成不同的HTML網頁,這個作為結果的HTML網頁是「動態」產生的。

    這些動態網頁技術和支援它們的底層技術一道也被稱為中間件,它們構成了網路應用的中間層,由於這個中間層包含了用於分析用戶不同請求,並對不同請求做出不同回應的業務邏輯代碼,因此,這個層又被稱為業務邏輯層。

    位於業務邏輯層之下的是資料服務層,用戶請求所要獲取的資料從這裏被「篩選」出來,並經過業務邏輯層被發送到用戶端——它們被包含在HTML檔中。

    出於對資料海量存儲和便於查詢訪問的渴望催動著整個資料服務產業的發展,關聯資料庫(Relational Database)憑藉其自身的特點從它被發明那天起就成為整個資料服務產業的核心,Oracle也正是憑藉其著名的關聯資料庫產品Oracle9i成為軟體產業中僅次於微軟的軟體巨擘。IBM DB2、微軟SQL Server和開源的MySQL也都是關聯資料庫產品中的佼佼者。

    而微軟Office產品組中的Access以其高智慧、輕量化和簡單易用性的特點在辦公自動化軟體(OA)領域內廣泛應用,它也是很多開發人員學習資料庫開發的極佳入門工具。

    資料服務層不僅僅是資料庫,而且還包含了其他可以用作資料的資源,例如XML。XML已經成為互聯網間標準的資料交換格式,它也正在日益成為資料存儲的標準格式

    。 展示層、業務邏輯層、資料服務層構成了當前萬維網應用程式的基礎架構,它們也被統稱為「三層架構」。

    實際上你不得不瞭解它,它是進行萬維網應用程式開發的認識論基石,也是實踐的指南針,設想存在一個不遵守該指南的萬維網應用程式是不可能的,同樣,設想任何的不瞭解該指南而進行的萬維網應用程式開發也是近似荒謬的。

    在《開發王》系列圖書中,我們針對每種不同的萬維網技術,對三層架構作了精確的、同一的闡述,這是你在全球其他任何的地方都無法完整系統地獲得的。不管你願不願意承認,你永遠都無法擺脫它。

    在萬維網軟體發展日益區分為涇渭分明的三層架構後,市場和技術並未停止它們前進的步伐,它們依舊在不斷地向前延伸。在技術廠商的推動下,在萬維網的技術社區的遙相呼應下,三層架構中的每個層次都為了某些特殊的應用不斷向其臨近的層次延伸,首當其衝的便是展示層向邏輯層的滲透。

    展示層利用用戶端腳本和流覽器插件技術開始分擔業務邏輯層的部分運算,而且,它們還有一個響亮的名字,被稱為「富用戶端」。 JavaScript、Flash和Java Applet目前是實現展示層分擔業務邏輯層運算的主要軟體技術。JavaScript因為AJAX解決方案和DHTML解決方案的結合而「重獲」新生,而Flash憑藉其分佈廣泛的Flash Player插件以及高效的開發環境而正日益成為下一代萬維網用戶端運算的核心。與此形成鮮明對比的是Java Applet技術,因為其開發的難度極高,以及其用戶端運行環境自身的原因,從其誕生那天起就從未引人注目過,今天,它依然被擱置在某個角落。

    正如你在《開發王》系列圖書中所看到的那樣,我們已經將JavaScript、Flash技術完全融入到整個萬維網開發體系中,現在你理應將它們視為一個整體,而不是再孤立的去看待它們中的任何一個,並且,很顯然,也不應該去孤立地看待它們中的任何一個。

     

    關於作者

    作者張亞飛是現今活躍在資訊技術領域的卓越作者,正如讀者昨天所看到的那樣,他建立了一整套基於時間軸的完整系統的Flash知識體系,這個知識體系已經使很多Flash開發者和設計者受益。今天,他從紛繁複雜的亂象中抽象出真知,構建了一整套完整系統的萬維網應用程式開發的知識體系,並將它完整地呈現在自己的作品中。目前,他的作品遍佈海峽兩岸(包括繁體和簡體),內容包括設計和開發。

    張涉獵廣泛,精通幾乎整個萬維網網路開發和設計的知識,包括ASP、ASP.NET、CSS、Flash、HTML、JavaScript、Java、PHP以及Microsoft SQL Server等,並且他可以將這些萬維網網路開發技術和知識融為一體,從而使得萬維網第一次有了完整系統的知識體系,這使得IT從業人員多少年來的夢想變為現實。很明顯,開發人員、雇主、任課教師和學員都將受益於這一知識體系。

    張的這種豐富體驗都融入到了他的作品當中,通過這些作品,使他很容易將非常複雜的問題以非常淺顯的方式表述出來,並使所有的讀者都能受益。

    張現在有兩個BLOG可以訪問並與他交流:

    http://cn.zhang-yafei.com/(簡體)

    http://tw.zhang-yafei.com/(繁體)


         
     


    最新版本》》》》》》:

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


          

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

     
         


    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.
    yafei zhang has turned off comments on this page.

    Trackbacks

    The trackback URL for this entry is:
    http://zhang-yafei.spaces.live.com/blog/cns!5358FA09E8EB6188!1047.trak
    Weblogs that reference this entry
    • None