这篇是计算机类的优质预售推荐>>>>《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是基于谷歌的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是由谷歌开发的客户端框架。它是用JavaScript编写的,带有一个精简过的jQuery库。AngularJS背后的理论是提供一个框架,使得可以很容易地使用MVC框架实现设计良好的结构化网页和应用程序。
AngularJS提供了在浏览器中处理用户输入、操纵客户端上的数据及控制元素如何在浏览器界面上显示的功能。下面是AngularJS具有的一些优势。
数据绑定:AngularJS利用其强大的范围机制,有一个将数据绑定到HTML元素的非常干净的方法。
可扩展性:AngularJS架构允许你轻松地扩展语言的各个方面,以提供你自己的自定义实现。
整洁:AngularJS迫使你编写整洁的、合乎逻辑的代码。
可重用代码:可扩展性和简洁代码的结合,使得很容易用AngularJS编写可重用的代码。事实上,在创建自定义服务的时候,此语言往往迫使你这样做。
支持:谷歌正把大量资金投入到这个项目,这使得它比那些已失败的类似举措更具优势。
兼容性: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应用程序了。我也希望你喜欢这本书!
版权声明:本文为博主原创文章,未经博主允许不得转载。