標籤:互動出版網 html node.js mongodb angularjs
這篇是電腦類的優質預售推薦>>>>《Node.js+MongoDB+AngularJS Web開發》
MEAN全棧工程師首部實戰書 從伺服器到瀏覽器基於JavaScript的Web應用程式權威指南 內容完整細緻可直接用來入門任一技術
編輯精選
Node.js是一種領先的伺服器端編程環境,MongoDB是最流行的NoSQL資料庫,而AngularJS正迅速成為基於MVC的前端開發的領先架構。它們結合在一起使得Web程式員能夠完全用JavaScript建立從伺服器到用戶端的高效能網站和應用程式。
本書為想要將這3種技術整合到完整的有效解決方案的Web程式員提供了完整指南。它以這3種技術的簡潔而清晰的教程開始,然後迅速轉到構建幾種常見的Web應用程式上面。
讀者將學會如何使用Node.js和MongoDB來建立更具可擴充性的高效能網站,如何利用AngularJS的創新MVC方法構建更有效網頁和應用程式,以及如何把這3個結合在一起使用,從而提供卓越的下一代Web解決方案。
■ 使用Node.js和Express實現高度可擴充的動態Web伺服器
■ 為你的Web應用程式實現一個MongoDB的資料存放區
■ 從Node.js JavaScript代碼訪問MongoDB並與之互動
■ 定義擴充了HTML語言的自訂AngularJS指令
■ 用JavaScript構建伺服器端Web服務
■ 實現可以與Node.js Web伺服器互動的用戶端服務
■ 構建提供豐富的使用者互動的動態瀏覽器視圖
■ 為Web應用程式和網頁添加對使用者賬戶的身分識別驗證和嵌套評論的組件
內容簡介
Node.js 是一種領先的伺服器端編程環境,MongoDB是最流行的NoSQL資料庫,而AngularJS 正迅速成為基於MVC的前端開發的領先架構。它們結合在一起使得能夠完全用JavaScript 建立從伺服器到用戶端瀏覽器的高效能網站和應用程式。
《Node.js+MongoDB+AngularJS Web開發》為想要將這3 種技術整合到全面的有效解決方案的Web 程式員提供了完整指南。它簡潔而清晰地介紹了這3 種技術,然後迅速轉到構建幾種常見的Web 應用程式上面。
讀者將學會使用Node.js 和MongoDB來建立更具可擴充性的高效能網站,並利用AngularJS 創新的MVC 方法構建更有效網頁和應用程式,以及把這三者結合在一起使用,從而提供卓越的下一代Web解決方案。
《Node.js+MongoDB+AngularJS Web開發》適合對HTML 的基礎知識已經有所瞭解,並可以用現代程式設計語言完成一些編程的讀者。讀者如果對JavaScript 有一定瞭解,則將更易於理解本書的內容。
作譯者
Brad Dayley是一名進階軟體工程師,在開發公司專屬應用程式程式及Web介面方面,他擁有超過20年的工作經驗。他曾設計並實現了一大批網站,其範圍涵蓋從公司專屬應用程式伺服器到富互連網應用程式,以及用於移動Web服務的智能介面。他的著作包括jQuery and JavaScript Phrasebook、Sams Teach Yourself NoSQL with MongoDB in 24 Hours和 Sams Teach Yourself jQuery and JavaScript in 24 Hours。
前言
歡迎閱讀本書。本書將引領你進入使用JavaScript的世界--在你的Web開發項目中,從伺服器和服務到瀏覽器用戶端。本書涵蓋Node.js、MongoDB和AngularJS的實現和整合,而它們是Web開發世界中新興的一些最令人興奮和創新的技術。
本篇前言包括:
本書受眾;
為什麼要閱讀本書;
從本書你將瞭解到的知識;
Node.js、MongoDB和AngularJS分別是什麼,以及為什麼它們都是出色的技術;
本書的組織圖;
在哪裡可以找到程式碼範例。
讓我們開始吧。
本書受眾
這本書假定讀者已經對HTML的基礎知識有所瞭解,並可以用現代程式設計語言完成一些編程。讀者如果對JavaScript有一定瞭解,將更容易理解本書的內容;但這不是必需的,因為本書確實也涵蓋了JavaScript的基礎知識。
為什麼要閱讀本書
這本書將教你如何建立功能強大的互動網站和Web應用程式--從Web伺服器和伺服器上的服務到基於瀏覽器的互動式Web應用程式。這裡所涉及的技術都是開源的,在伺服器端組件和瀏覽器端的組件上你都可以使用JavaScript。
這本書的大多數讀者想要掌握Node.js和MongoDB,以便可以達到構建高度可擴充和高效能網站的目的。大多數讀者也想利用AngularJS創新的MVC方法來實現精心設計和結構化的網頁和Web應用程式。總之,Node.js、MongoDB和AngularJS提供了一個易於實現並完全整合的Web開發套件,它可以讓你實現神奇的Web 2.0應用程式。
從本書你將瞭解到的知識
閱讀本書將協助你構建現實中的動態網站和Web應用程式。網站不再由HTML頁面和整合的映像及格式化的文本等簡單的靜態內容構成。相反,網站變得更加動態,單個網頁往往充當一個完整的網站或應用程式。
使用AngularJS技術,可讓你在網頁中構建邏輯,這可以與Node.js伺服器相互連信並從MongoDB資料庫擷取必要的資料。Node.js、MongoDB和AngularJS 的組合可以讓你實現互動式動態網頁。通過閱讀本書,你將學會如下的事情:
如何使用Node.js和Express來實現一個高度可擴充的動態Web伺服器;
如何在JavaScript中建立伺服器端的Web服務;
如何在Web應用程式中實現MongoDB的資料存放區;
. 如何用Node.js JavaScript代碼實現對MongoDB的訪問和互動;
如何定義靜態和動態Web路由並實現伺服器端指令碼來支援它們;
如何定義擴充HTML語言的你自己自訂的AngularJS指令;
如何?可以與Node.js Web伺服器互動的用戶端服務;
如何建立提供豐富的使用者互動的動態瀏覽器視圖;
如何將使用者賬戶的身分識別驗證添加到網站/Web應用程式;
如何將嵌套的評論組件添加到網頁;
如何建立一個端到端的購物車。
何為Node.js
Node.js是基於Google的V8 JavaScript引擎的開發架構。你可以用JavaScript編寫Node.js代碼,然後V8將它編譯為要執行的機器代碼。你可以用Node.js編寫出大部分,或者甚至全部的伺服器端代碼,包括Web伺服器、伺服器端的指令碼和任何支援Web應用程式的功能。Web伺服器和支援Web應用程式的指令碼在同一個伺服器端應用程式中運行這一事實,允許在Web伺服器和指令碼之間有更緊密的整合。
Node.js之所以是一個出色的架構,基於下面幾個原因。
JavaScript端到端:Node.js最大的一個優點是,它可以讓你用JavaScript同時編寫伺服器端和用戶端指令碼。在決定是把邏輯放入用戶端指令碼還是伺服器端指令碼方面一直有困難。利用Node.js,你可以在用戶端上編寫JavaScript,並輕鬆地在伺服器上適應它,反之亦然。另外一個好處是,用戶端的開發人員和伺服器的開發人員使用同一種語言。
事件驅動的可擴充性:Node.js應用獨特的邏輯來處理Web請求。使用Node.js,不是讓多個線程等待處理Web請求,而是採用一種基本的事件模型在同一個線程上處理它們。這使得Node.js Web伺服器可以用傳統的Web伺服器不能做到的方式進行擴充。
可擴充性:Node.js有很多的追隨者和非常活躍的開發社區。人們正在不斷提供新的模組來擴充Node.js的功能。此外,在Node.js中安裝和包含新的模組是非常簡單的,你可以在幾分鐘內擴充Node.js的項目來包含新的功能。
快速執行:建立Node.js,並在其中開發是超級容易的。在短短几分鐘內就可以安裝Node.js,並擁有一個能工作的Web伺服器。
何為MongoDB
MongoDB是一個靈活的和可擴充性非常好的NoSQL資料庫。Mongo這個名字來自單詞"堆積如山"(humongous),用來強調MongoDB提供的可擴充性和效能。MongoDB為需要儲存諸如使用者評論、部落格或其他條目資料的高流量的網站提供了出色的網站後端儲存,因為它可快速擴充並易於實現。
下面是MongoDB真正適合於Node.js套件的一些原因。
針對文檔:因為MongoDB是針對文檔的,所以資料在資料庫中儲存的格式,非常接近你在伺服器端和用戶端指令碼中處理它們的格式。這消除了把資料從行轉換為對象和轉換回來的需要。
高效能:MongoDB是目前效能最高的資料庫之一。尤其是在現在,有越來越多的人與網站進行互動,具有能夠支援大流量的後端是很重要的。
高可用性:MongoDB的複製模型使得它很容易維護可擴充性,同時保持高效能。
高可擴充性:MongoDB的結構使得它可以很容易地通過在多個伺服器上對資料分區實現橫向擴充。
無SQL注入:MongoDB是不容易受到SQL注入攻擊的(也就是向Web表單或從瀏覽器的其他輸入中輸入SQL語句,從而危及資料庫的安全性)。這是因為對象被儲存為對象,不使用SQL字串。
何為AngularJS
AngularJS是由Google開發的用戶端架構。它是用JavaScript編寫的,帶有一個精簡過的jQuery庫。AngularJS背後的理論是提供一個架構,使得可以很容易地使用MVC架構實現設計良好的結構化網頁和應用程式。
AngularJS提供了在瀏覽器中處理使用者輸入、操縱用戶端上的資料及控制元素如何在瀏覽器介面上顯示的功能。下面是AngularJS具有的一些優勢。
資料繫結:AngularJS利用其強大的範圍機制,有一個將資料繫結到HTML元素的非常乾淨的方法。
可擴充性:AngularJS架構允許你輕鬆地擴充語言的各個方面,以提供你自己的自訂實現。
整潔:AngularJS迫使你編寫整潔的、合乎邏輯的代碼。
可重用代碼:可擴充性和簡潔代碼的結合,使得很容易用AngularJS編寫可重用的代碼。事實上,在建立自訂服務的時候,此語言往往迫使你這樣做。
支援:Google正把大量資金投入到這個項目,這使得它比那些已失敗的類似舉措更具優勢。
相容性:AngularJS基於JavaScript並與jQuery有著密切的聯絡。這使得更易於開始將AngularJS整合到你的環境和重用在AngularJS架構結構內的現有程式碼片段。
本書的組織圖
這本書分為6個主要部分:
第1部分"引言",概述了Node.js、MongoDB和AngularJS之間的相互作用,並對這3種產品如何形成一個完整的Web開發套件進行了概述。第2章是JavaScript的初步介紹,它提供了實現Node.js和AngularJS代碼時,你需要用到的JavaScript語言的基本知識。
第2部分"學習Node.js",涵蓋了Node.js的語言平台,從安裝到實現Node.js模組。這部分向你提供你需要的基本架構,以實現自己的自訂Node.js模組以及Web伺服器和伺服器端指令碼。
第3部分"學習MongoDB",涵蓋了MongoDB資料庫,從安裝到與Node.js應用程式的整合。本部分將討論如何規劃你的資料模型,以滿足你的應用程式需求,以及如何從Node.js應用程式對MongoDB進行訪問和互動。
第4部分"使用Express使生活更輕鬆",討論了Node.js的Express模組以及如何利用它作為應用程式的Web伺服器。你將學習如何為資料設定動態和靜態路由,以及如何?安全性、緩衝和Web伺服器的其他準系統。
第5部分"學習AngularJS",涵蓋了AngularJS架構的架構,以及如何將它整合到Node.js套件。本部分介紹了建立自訂的HTML指令和在瀏覽器中利用的用戶端服務。
第6部分"建立實用的Web應用程式組件",轉換了主題,給出了一些使用Node.js、MongoDB和AngularJS的端到端應用案例;這些案例為Web應用程式提供使用者賬戶的身分識別驗證、評論部分,以及購物車。這部分還介紹了一些在Web應用程式中實現Web 2.0互動的方法。
擷取程式碼範例
在本書中你會看到很多以代碼清單形式提供的程式碼範例。每個清單的標題都包括原始碼的檔案名稱。要訪問樣本中使用的原始碼檔案和圖片,請訪問如下網址:
https://github.com/bwdbooks/nodejs-mongodb-angularjs-web-development
結束語
我希望你和我一樣喜歡學習Node.js、MongoDB和AngularJS。它們都是出色而創新的技術,使用起來真的充滿樂趣。很快,你就可以加入這一龐大的Web開發人員之列,和他們一起使用Node.js-to-AngularJS Web套件來建立互動式網站和Web應用程式了。我也希望你喜歡這本書!
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Node.js+MongoDB+AngularJS Web開發