發表於2024-11-05
用AngularJS編寫高級應用的完整指南
這是一個令Web開發人員激動的時代,掌握JavaScript語言技能的人纔變得炙手可熱。AngularJS迅速蛻變為領先的新一代客戶端Web框架;可供個人、小團隊和大公司構建和測試基於瀏覽器的、極其復雜的應用。
《AngularJS高級編程》內容廣泛,涵蓋構建AngularJS應用乃至內嵌、構建係統和自動執行集成測試等高級主題。
如果你已經熟悉基本編程知識,並希望編寫在瀏覽器UI中顯示復雜數據的Web應用,或快捷高效地模擬本地應用的移動Web應用,那麼本書將是值得你反復研讀的必備指南。
主要內容
◆ 從頭構建一個簡單應用www.stockdog.io,在便捷動手練習的引導下講解基本構建塊
◆ 詳細講解AngularJS中將數據綁定到模闆的高級方式
◆ 講解AngularJS架構,並演示各個組成部分是如何協作的
◆ 詳述服務、工廠和提供者之間的差異,並說明每種技術的使用時機
◆ 介紹可供測試和調試AngularJS應用的技術
◆ 演示許多可與AngularJS一起使用的流行工具,包括Yeoman、RequireJS、Browserify、Mocha、Jasmine、Bootstrap、Ionic、Moment和Mongoose
Valeri Karpov,是MongoDB的一位NodeJS工程師,他維護著諸多與MongoDB相關的開源JavaScript模塊。從2010年開始他一直開發AngularJS應用,包括MongoDB的內部持續集成框架和BookaLokal的移動網站。
Diego Netto,是一位軟件谘詢師和開源布道者。作為一傢獨立谘詢機構的創建者,Diego幫助創業公司和企業利用強大的開源技術交付直觀産品。
作為JavaScript開發者,現在是一個激動人心的時刻。隨著服務器端JavaScript開源社區的快速發展(在2013年12月,NodeJS包管理器擁有50 000個包,而到瞭2014年10月這個數字增加瞭一倍),下一代客戶端框架的流行(例如AngularJS),完全基於JavaScript構建Web工具的公司數量不斷增長,對JavaScript語言技能的需求也不斷增多。現代工具允許我們使用一種語言構建復雜的、基於瀏覽器客戶端的高度並發服務器,甚至是混閤的原生移動應用。AngularJS迅速成為主流的下一代客戶端Web框架,它允許個人、小團隊和大型公司構建和測試基於瀏覽器的復雜應用。
AngularJS介紹
隨著JavaScript社區的快速發展,AngularJS在2012年6月發布1.0版本時橫空齣世。盡管它是一個較新的框架,但它在構建應用時提供瞭強大的特性和優雅的工具,這使它成為許多開發者選擇的前端框架。AngularJS最初由Google的測試工程師Misko Hevery開發,他發現現有的工具(例如jQuery)很難構建齣需要顯示大量復雜數據的瀏覽器用戶界麵(User Interface,UI)。Google現在有一個專門的團隊用於開發和維護AngularJS以及相關的工具。一些活躍的Google應用也是使用AngularJS開發的,從DoubleClick Digital Marketing Platform到PlayStation 3上的YouTube應用。AngularJS的人氣在迅速增長:到2014年10月,Quantcast Top10k網站中有143個都使用瞭AngularJS,並迅速超過瞭最接近的對手:KnockoutJS、ReactJS和EmberJS。
那麼AngularJS特彆之處在哪裏呢?從https://angularjs.org/網站中藉用一個對AngularJS特彆簡潔的描述:“寫更少的代碼,早點去喝啤酒”。AngularJS的核心是一個稱為“雙嚮數據綁定”的概念,通過它可將超文本標記語言(Hypertext Markup Language,HTML)和層疊樣式錶(Cascading Style Sheet,CSS)綁定到JavaScript變量的狀態。無論何時變量發生瞭變化,AngularJS都將更新所有應用瞭該JavaScript變量的HTML和CSS,如下麵的代碼所示:
Hello
如果變量shouldShow被改為false,AngularJS將自動隱藏div元素。變量shouldShow並沒有什麼特殊之處:AngularJS不要求在特殊類型中封裝變量;變量shouldShow可以是一個普通的JavaScript布爾值。
盡管雙嚮綁定是AngularJS的基礎,但它隻是冰山一角。AngularJS提供瞭一個優雅的框架,可以通過一種最大化重用性和測試性的方式來組織客戶端JavaScript。另外,AngularJS有一組豐富的測試工具,例如Karma、protractor和ngScenario(參見第9章),它們已經做瞭優化以便用於AngularJS。AngularJS專注於可測試的架構和豐富的測試工具,這使它成為關鍵客戶端JavaScript的自然選擇。它不僅可以使你快速編寫復雜的應用,還提供瞭工具和結構,使應用的測試變得非常容易。事實上,Google的DoubleClick團隊將AngularJS的“full testing story”引用為將它的數字營銷平颱遷移到AngularJS的6個最重要原因之一。下麵是對AngularJS特點的一些簡單概述。
雙嚮數據綁定
在許多較老的客戶端JavaScript庫(例如jQuery和Backbone)中,我們希望自己操作文檔對象模型(Document Object Model,DOM)。換句話說,如果希望改變div元素的HTML內容,需要自己編寫必需的JavaScript。例如:
$('div').html('Hello, world!');
AngularJS反轉瞭這個模式,使HTML成為如何顯示數據的明確來源。雙嚮數據綁定的主要目的是將HTML或CSS屬性(例如,div元素的HTML內容或背景顔色)綁定到JavaScript變量的值。當JavaScript變量的值改變時,HTML或CSS屬性將隨之更新。反之亦然:如果用戶在input字段中輸入,被綁定的JavaScript變量的值將被更新為用戶輸入的內容。例如,下麵的HTML將問候輸入字段中輸入的名字。可以在相應章節的樣例代碼data_binding.html中找到該樣例:簡單地右擊該文件,並在瀏覽器中打開它——不需要Web服務器或其他依賴!
Hello, {{user}} !
不需要使用JavaScript!指令ngModel和{{}}簡寫語法將完成所有工作。在這個簡單的樣例中,AngularJS體現齣的優點非常有限,但在第1章構建一個真正的應用時,你將看到數據綁定將極大地簡化JavaScript。多虧瞭數據綁定,否則我們就很難將800行的jQuery 意大利麵條式代碼簡化成40行清晰的、獨立於DOM的AngularJS代碼。
DOM作用域
DOM作用域是AngularJS另一個強大的特性。你可能已經猜到,數據綁定並不是免費的午餐;代碼復雜性一定會被轉移到某個地方。不過,AngularJS允許在DOM中創建作用域,它的行為類似於JavaScript和其他編程語言中的作用域。這將允許我們把HTML和JavaScript分割成獨立的、可重用的塊。例如,下麵的樣例實現的功能與之前樣例的功能相同,但使用瞭兩個不同的作用域:一個用於使用英文進行問候,另一個使用的是西班牙語。
Hello, {{user}}!
Hola, {{user}}!
指令ngController是一種創建新作用域的方式,通過它可將相同的代碼為不同的目的進行重用。第4章包含瞭對雙嚮數據綁定的全麵概述,並對內部實現細節進行瞭討論。
指令
AngularJS高級編程 下載 mobi pdf epub txt 電子書 格式 2024
AngularJS高級編程 下載 mobi epub pdf 電子書好書,專業必備,正版
評分哈哈、姐姐說挺好~
評分書挺不錯的,是正版
評分AngularJS高級編程
評分到貨一看書的內容不是我想要的,不過質量還不錯
評分不錯。就是包裝有點問題
評分好
評分不錯。就是包裝有點問題
評分好好好好好好好好好好好
AngularJS高級編程 mobi epub pdf txt 電子書 格式下載 2024