編輯推薦
▲瞭解如何讓你的Web頁麵聽說兩不誤
▲讓笨重的Web應用感覺就像是能迅速響應的動態桌麵應用
▲采用純文本、XML和JSON格式傳輸數據
▲瞭解Sally如何利用異步編程同時兼顧兩件事
▲深入掌握樹和文檔對象模型
▲重視大腦的學習指南
內容簡介
《Head First Ajax(中文版)》是瞭解如何構建動態、交互式Web應用的一個完美學習體驗。這本書專門針對你的大腦而製作,涵蓋JavaScript、XHTML、異步和同步請求、DOM以及擴展和提升你的Web應用開發能力所需的所有內容。你要做的不隻是記住其他人所寫框架中的某些方法,也不再隻是從某個工具包嚮應用拖放部件。讀完這本書,你將構建一流的應用,能夠與服務器通信而無需重新加載頁麵,能夠響應用戶的動作在屏幕上移動元素,甚至在用戶犯錯誤之前就能夠預料到用戶可能犯的錯誤。
為什麼這本書如此與眾不同?
我們認為,你的時間如此寶貴,不應過多地浪費在與新概念的鬥爭中。通過使用認知科學和學習理論的新研究成果,你將享受一種多感官學習體驗,《Head First Ajax》采用瞭一種專門為你的大腦而設計的豐富格式娓娓道來,而不是長篇纍牘地說教,讓你昏昏欲睡。
作者簡介
萊爾(Rebecca M.Riordan),任職於澳大利亞Microsoft公司,是一位Mjcrosoft數據庫産品的高級技術支持工程師。她在這個領域已經積纍瞭20年的經驗,在設計和實現技術全麵、可靠並有效滿足客戶需求的計算機係統方麵享有盛譽。她的主攻領域是數據庫設計,已經著有多本數據庫方麵的書,作為AccessMVP已有5年。
內頁插圖
精彩書評
★“你並不隻是在讀Head First書、而是在真正動手‘做’Head First書。這正是差彆所在。”
——Pauline McNamara 瑞士Fribourg大學新技術與教育中心
★“對Ajax無從下手嗎?利用這本書可以讓你擺脫睏境。你將深入掌握核心概念,並在這個過程中享受快樂”
——Bear Bibeaull, Web應用架構師
目錄
引子
1.使用Ajax:新一代的Web應用
2.設計Ajax應用:用Ajax方式思考
3.JavaScript事件:迴應你的用戶
4.多個事件處理程序:兩人成伴
5.異步應用:這就像重新申請駕照
6.文檔對象模型:Web頁麵森林
7.管理DOM:我的願望就是你的命令
8.框架與工具包:誰也不相信
9.XML請求與響應:難以言錶
10.JSON:JavaScript之子
11.錶單與驗證:暢所欲言
12.Post請求:懷疑:要把它當做朋友
附錄Ⅰ:未談到5大問題
附錄Ⅱ:工具函數
前言/序言
誰適閤看這本書?
如果對下麵的所有問題都能肯定地迴答“是”:
① 你瞭解HTML嗎?懂得一些css和JavaScript嗎(不過不要求是一個專傢)?
② 你想真正學會、理解並記住Ajax嗎?你是不是有一個目標,想要開發快速響應的實用Web應用?
③ 你是不是更喜歡一種輕鬆的氛圍,就像在晚餐餐桌上交談一樣,而不願意被動地聽枯燥乏味的技術報告?
那麼,這本書正是為你而作。
誰可能不適含這本書?
如果滿足下麵任何一種情況:
① 你是不是對HTML、CSS或JavaScript完全陌生,一無所知(盡管不要求你有深入的瞭解,但確實需要有一些實踐經驗。否則,請買一本《Head First HTML and CSS》,就是現在,讀完那本書之後再來讀你手上的這本書)?
② 你本身是不是已經堪稱一個很棒的AJax或Web開發人員,正在找一本參考書?
③ 你是不是對新鮮事物都畏首畏尾?隻喜歡簡單的樣式,而不敢嘗試把條紋和格子混在一起看看?你是不是覺得,如果把服務器和Web瀏覽器都擬人化瞭,這樣的一本書肯定不是一本正兒八經的技術書?
那麼,這本書將不適閤你。
我們知道你在想什麼
“這算一本正式的Web編程書嗎?”
“這些圖用來做什麼?”
“我真地能這樣學嗎?”
我們也知迢你的大腦正在想什麼
你的大腦總是渴求一些新奇的東西。它一直在搜尋、審視、期待著不尋常的事情發生。大腦的構造就是如此,正是這一點纔讓我們不至於墨守成規,能夠與時俱進。
我們每天都會遇到許多按部就班的事情,這些事情很普通,對於這樣一些例行的事情或者平常的東西,仿;的大腦又是怎麼處理的呢?做法很簡單,就是不讓這些平常的東西妨礙大腦真正的工作。那麼什麼是大腦真正的工作呢?就是記住那些確實重要的事情。它不會費心地去記乏味的東西,就好像大腦裏有一個篩子,這個篩子會篩掉“顯然不重要”的東西,如果遇到的事情枯燥乏味,這些東西就無法通過這個篩子。那麼你的大腦怎麼知道到底哪些東西重要呢?打個比方,假如你某一天外齣旅行,突然一隻大老虎跳到你麵前,此時此刻,你的人腦還有身體會做何反應?
神經元會“點火”,情緒爆發,釋放齣一些化學物質。
好瞭,這樣你的大腦就會知道……
這肯定很重要!可不能忘記瞭!
不過,假如你正待在傢裏或者坐在圖書館裏,這裏很安全、很舒適,肯定沒有老虎。你正在刻苦學習,準備應付考試。也可能想學一些比較難的技術,你的老闆認為掌握這種技術需要一周時間,最多不超過10天。
這就存在一個問題。你的大腦很想給你幫忙。它會努力地把這些明顯不太重要的內容趕走,保證這些東西不去侵占本來就不充足的腦力資源。這些資源最好還是用來記住那些確實重要的事情,比如大老虎、遭遇火災險情等。再比如,你的大腦會讓你記住,絕對不能把“聚會”時狂歡的照片放在你的Facebook網頁上。
沒有一種簡單的辦法來告訴大腦:“嘿,大腦,真是謝謝你瞭,不過不管這本書多沒意思,也不管現在我對它多麼無動於衷,但我確實希望你能把這些東西記下來。”
無認知:有關思考的思考
如果你真地想學,而且想學得更快、更深,就應該注意你怎樣纔會專注起來,考慮自己是怎樣思考的,並瞭解自己的學習方法。
我們中間大多數人長這麼大可能都沒有上過有關元認知或學習理論的課程。我們想學習,但是很少有人教我們怎麼來學習。
不過,這裏可以做一個假設,如果你手上有這本書,你直想學Ajax和web編程,而且可能不想花人多時間。如果你想把這本書中讀到的知識真正用起來,就需要記住你讀到的所有內容。為此,必須理解這些內容。要想最大程度地利用這本書或其他仟何一本書,或者掌握學習經驗,就要讓你的大腦負起責來,要求它記住這些內容。
怎麼做到呢?技巧就在於要讓你的大腦認為你學習的新東西確實很重要,對你的生活有很大影響,就像老虎齣現在麵前一樣。如若不然,你將陷入曠日持久的拉鋸戰中,雖然你很想記住所學的新內容,但是你的大腦卻會竭盡全力地把它們拒之門外。
那麼究竟怎樣纔能讓你的大腦把Web設計看做是一隻飢餓的老虎呢?
這有兩條路,一條比較慢,很乏味;另一條路不僅更快,還更有效。慢方法就是大量地重復。你旨定知道,如果反反復復地看到同一個東西,即便再沒有意思,你也能學會並記住。如果做瞭足夠的重復,你的大腦就會說:“盡管看上去這對他來說好像不重要,不過,既然他這樣一而再、再而三地看同一個東西,所以我覺得這應該是重要的。”
更快的方法是盡一切可能讓大腦活動起來,特彆是開動人腦來完成不同類型的活動。如何做到這一點呢? 上一頁列齣的學習原則正是一些主要的可取做法,而且經證實,它們確實有助於讓你的大腦全力以赴。例如,研究錶明,把文字放在所描述圖片的中間(而不是放在這一頁的彆處,比如作為標題,或者放在正文中),這樣會讓你的大腦更多地考慮這些文字與圖片之間有什麼關係,讓更多的神經元點火。讓更多的神經元點火=你的大腦更有可能認為這些內容值得關注,而且很可能需要記下來。交談式風格也很有幫助,當人們意識到自己在與“彆人”交談時,往往會更專心,這是因為他們總想跟上談話的思路,並能作齣適當的發言。讓人驚奇的是,大腦並不關心“交談”的對像究竟是誰,即使你隻是與一本書“交談”,它也不會在平!另一方麵,如果寫作風格很正統、乾巴巴的,你的大腦就會覺得,這就像坐在一群人當中被動地聽人做報告一樣,很沒意思,所以不必在意對方說的是什麼,甚至可以打瞌睡。不過,圖片和交談風格還隻是開始而己,能做的還有很多……
我們是這麼傲的:
我們用瞭很多圖,因為你的大腦更能接受看得見的東西,而不是純文字。對你的大腦來說,一幅圖頂得上1000個字。如果既有文字又有圖片,我們會把文字放在圖片當中,因為文字處在所描述的圖片中間時,大腦的工作效率更高,倘若把這些描述文字作為標題,或者“湮沒”在彆處的大段文字中,就達不到這種效果瞭。
我們采用瞭重復手法,會用不同方式,采用不同類型的媒體,運用多種思維手段來介紹同一個東西,目的是讓有關內容更容易儲存在你的大腦中,而且在大腦中多個區域都有容身之地。
我們會用你想不到的方式運用概念和圖片,因為你的大腦喜歡新鮮玩藝;在提供圖和思想時,至少會含著一些情緒因素,因為如果能産生情緒反應,你的大腦就會投入更大的注意。而這會讓你感覺到這些東西更有可能要被汜住,其實這種感覺可能隻是有點幽默,讓人奇怪或者比較感興趣而已。
我們采用瞭—種針對個人的交談式風格,因為當你的大腦認為你在參與一個會談,而不是被動地聽一場演示匯報時,它就會更加關注。即使你實際上在讀一本書,也就是說在與書“交談”,而不是真正與人交談,但這對你的大腦來說並沒有什麼分彆。
在這本書裏,我們加入瞭80多個實踐活動,因為與單純的閱讀相比,如果能實際做點什麼,你的人腦會更樂於學習,更願意去記。這些練習都是我們精心設計的,有一定的難度,但是確實能做齣來,因為這是大多數人所希望的。
我們采用瞭多種學習模式,因為盡管你可能想循序漸進地學習,但是其他人可能希望先對整體有一個全麵的認識,另外可能還有人隻是想看一個例子。不過,不管你想怎麼學,要是同樣的內容能以多種方式來錶述,這對每一個人都會有好處。
這些的內容不隻是單單涉及左腦,也不隻是讓右腦有所動作,而是會讓你的左右腦都開動起來,因為你的大腦參與得越多,你就越有可能學會並記住,而且能更長時間地保持注意力。如果隻有一半大腦在工作,通常意味著另一半有機會休息,這樣你就能更有效率地學習更長時間。
我們會講故事,留練習,從多種不同的角度來看同一個問題,因為如果要求大腦做一些評價和判斷,它就能更深入地學習。
我們會給齣一些練習,還會問一些問題,這些問題往往沒有直截瞭當的答案,通過剋服這些挑戰,你就能學得更好,因為讓大腦真正做點什麼的話,它就更能學會並記住。
想想吧,如果隻是在體育館裏看著彆人流汗,這對於保持你自己的體形肯定不會有什麼幫助,正所謂臨淵羨魚,不如退而結網。不過另一方麵,我們會竭盡所能不讓你鑽牛角尖,把勁用錯瞭地方,而是能把功夫用在點子上。也就是說,你不會為搞定—個難懂的例子而耽擱,也不會花太多時間去弄明白一段艱澀難懂而且通篇行活的文字,我們的描述也不會太過簡潔而讓人無從下手。
我們用瞭擬人手法。在故事中,在例子中,還有在圖中,你都會看到人的齣現,這是因為你本身是一個人,不錯,這就是原因。如果和人打交道,相對於某件東西而言,你的大腦會更為關注。
重要說明
要把這看做是一個學習過程,而不要簡單地把它看成是一本參考書。我們在安排內容的時候有意做瞭一些刪減,隻要是對有關內容的學習有妨礙的,我們都毫不留情地一律刪掉。另外,第一次看這本書的時候,要從第一頁看起,因為書中後麵的部分會假定你已經看過而且學會瞭前麵的內容。
我們假設你已經對HTML和CSS很熟悉。
單是HTML和CSS就需要整本書來講解(實際上,確實有這樣一本書:《Head First HTML with CSS & XHTML》)。我們把本書的重點放在Ajax編程上,而不是重復羅列你在其他地方可能已經學過的大量標記和樣式內容。
我們假設你以前至少見過JavaScript代碼。
JavaScript至少需要整本書來講解……哦,等一下,這句話前麵說過瞭。說實在的,JavaScript絕非一個簡單的腳本語言,本書中無法涵蓋JavaScript的所有用法。你隻是會學到所有與Ajax編程有關的JavaScript用法,並瞭解如何充分使用JavaScript為你的Web頁麵增加交耳性以及嚮服務器發送請求。
不過,如果你從未編寫過哪怕一行JavaScript代碼,對函數成大括號完全陌生,或者以前從來沒有川任何一種語言編程的經曆,那麼你可能需要找一本好的JavaScript書,通讀一遍。如果你實在想努力讀這本書,也並無不可——不過要有心理準備:在基礎知識部分我們的進度會相當快。
這本書沒有談到服務器端編程。
現在要找用Java、PHP、Ruby、Python、Perl、Ruby on Rails、C#以及更多其他語言編寫的服務器端程序是很常見的。Ajax編程適用於所打這些語言,我們在本書的示例中也會盡力提供幾個服務器端程序的例子。
不過,為瞭保證把重點放在Ajax的學習上,我們不會花太多時間來解釋所用的服務器端程序;這裏隻會展示服務器的基本輸入和輸齣,不過這對於我們來說已經足夠瞭。我們相信,你編寫的Ajax應用應該能使用任何類型的服務器端程序;另外我們還相信你應該足夠聰明,能把從使用PHP的例子中學到的知識應用到Ruby on Rails或Java servlet的應用中。
可以訪問我們的網站,下載示例服務器端程序,這樣你就能自己運行這些應用瞭。
建議你對這本書中的示例使用多個瀏覽器。
非常糟糕的是,不同的Web瀏覽器會以完全不同的方式處理你的HTML、CSS和JavaScript。如果想成為一個真正的Ajax程序員,一定要在多個現代瀏覽器上測試你的異步應用。這本書中的所有示例都已經在最新版本的Firefox、Opera、Safari、Internet Explorer和Mozilla測試過。不過,如果你發現有問題,請告訴我們……這應該是個意外。
我們通常使用標記名作為元素名。
我們不會說“a元素”或“‘a’元素”,而是使用一個標記名,如“[a]元素”。盡管從理論上講這是不正確的(因為[a]是一個開始標記,而不是一個完整的元素),但這樣可以使文字更可讀。
書裏的實踐活動不是可有可無的。
這裏的練習和實踐活動不是可有可無的裝飾和擺設,它們也是這本書核心內容的一部分。其中有些練習和活動有助於記憶,有些能夠幫助你理解,還有一些對於如何應用所學的知識很有幫助。於萬不要把這些練習跳過不做。
我們有意安排瞭許多重復內容,這些重復非常重要。
Head First係列的書有一個與眾不同的地方,這就是我們希望你確確實實地學會,另外希望在學完這本書之後你能記住學過瞭什麼。大多數參考書都不太重視重復和迴顧,但是由於這是一本有關學習的書,你會看到一些概念一而再、再而三地齣現很多次。
示例盡可能簡潔。
讀者告訴我們,如果隻是為瞭查找需要理解的一兩行代碼而要通查包含200多行代碼的示例,這很讓人惱火。這本書中的大多數示例都在盡可能小的篇幅內顯示,這樣你就能清楚而簡單地看到你真正想瞭解的部分。不要期望所有示例都是完整的,它們甚至並不完備——編寫這些示例隻是為—廠學習有關知識,通常並不實用。
O'Reilly:Head First Ajax (中文版) 下載 mobi epub pdf txt 電子書 格式