MongoDB、Express、AngularJS和Node.js现在都是很前沿的web开发方向,这本《MEAN Web开发》会让你很快的了解他们,并开始开发web应用。
汇智网已经为这本书匹配了专门的在线学习环境,书中示例代码也已经在线提供,希望能够帮助大家更好的学习。
网址: http://xb.hubwiz.com/
前言
回首1995年春天,那时的浏览器与现在大不一样。万维网面世已有4年(标志是Tim Berners-Lee编写的第一个浏览器),距离Mosaic浏览器的首次发布已有两年,而Internet Explorer 1.0过几个月也要发布了。万维网开始显露出流行的迹象,虽然一些大公司对这一领域也表现出兴趣,但当时真正有所作为的却是一家名为Netscape的小公司。
Netscape当时广受欢迎的浏览器Netscape Navigator正在进行第2版的开发,而此时客户端工程师团队和联合创始人Marc Anderseen决定在Navigator 2.0中嵌入一种编程语言。这一任务分配给了软件工程师Branden Eich,从1995年5月6日至5月15日,他用了10天时间就完成了。这一语言被命名为Mocha ,后来改名为LiveScript,并最终定名为JavaScript。
1995年9月,Netscape Navigator 2.0发布,它改变了大家对浏览器的看法。至1996年8月,Internet Explorer 3.0实现了对JavaScript的支持。同年11月,Netscape宣布他们已经将JavaScript提交到ECMA进行标准化。1997年6月,ECMA-262规范公布,使得JavaScript成为事实上的Web标准编程语言。
多年来,JavaScript被很多人贬低为业余爱好者使用的编程语言。JavaScript的架构、碎片化的实现以及最初的“业余”受众,使得专业程序员都把它忽视了。直到AJAX的出现,以及2005年左右Google发布了Gmail和Google Maps,此时AJAX技术可以将Web网站转换成Web应用的形势才突然明朗起来。这鼓舞着新一代Web开发人员推动JavaScript的开发,使它更上一层楼。
首先是第一代工具库问世了,比如jQuery和Prototype。不久,Google在2008年年底又发布了Google Chrome和它使用的V8 JavaScript引擎。V8的即时编译器极大提升了JavaScript的性能。这开启了JavaScript开发的新纪元。
2009年是JavaScript发生翻天覆地变化的一年:Node.js等平台使开发人员可以在服务器上运行JavaScript;MongoDB等数据库普及并简化了JSON存储;AngularJS等框架开始使用强大的新一代浏览器。JavaScript从面世到无所不在,用了将近20年时间。曾经被“门外汉”用来执行小脚本的编程语言,如今已经成为世界上最流行的编程语言之一。不断丰富的开源协作工具,连同乐于奉献的天才工程师们,创造出了世界上最有价值的社区之一。而这些贡献者们种下的种子,如今正以涌泉般的创造力蓬勃生长。
这一变革的影响是巨大的。过去的开发团队是分立的,每个人都是各自领域的专家,现在全部都使用同一种语言进行更加精益、更加敏捷的软件开发,成为了一个统一的团队。
如今已经有许多的JavaScript全栈开发框架,有些由伟大的团队所开发,有些解决了很重要的问题,但没有一个像MEAN这样开放而又兼具模块化。MEAN的理念很简单,用MongoDB作为数据库,Express作为Web框架,AngularJS作为前端框架,Node.js作为平台,并运用模块化的方法将它们整合在一起,以保证其符合现代软件开发的灵活性。MEAN方法依赖于其各开源模块的社区,这保持了它的更新和稳定,并确保即使某一模块无法使用,也可以用更适合的模块无缝替换。
欢迎你参与到JavaScript的变革中,我保证将尽全力帮助你成为一个JavaScript全栈工程师。
在本书里,我们将帮你配置开发环境,说明怎样用最合适的模块来连接MEAN的各个组件。我们会介绍保持代码简单、清晰以及避免常见问题的最佳实践。我们还会讲解如何创建你的身份验证层,并添加首个实体。你会学到如何在创建服务器端和客户端应用程序之间的实时通信时,利用JavaScript的非阻塞架构。最后,我们还会向你展示如何用适当的测试来测试代码,以及使用哪些工具来使开发过程自动化。
第1章“MEAN简介”,让你初识MEAN,并学会在不同的操作系统上安装MEAN。
第2章“Node.js入门”,介绍Node.js的基础知识,以及如何用它进行Web应用开发。
第3章“使用Express开发Web应用”,说明如何创建和构造一个遵循MVC模式的Express应用。
第4章“MongoDB入门”,解释MongoDB的基本理论,以及如何用它来存储你的应用程序数据。
第5章“Mongoose入门”,演示如何在Express应用中使用Mongoose来连接MongoDB数据库。
第6章“使用Passport模块管理用户权限”,介绍如何管理用户身份验证和提供多种不同的登录选项。
第7章“AngularJS入门”,阐述如何实现一个与Express应用协同的AngularJS应用。
第8章“创建MEAN的CURD模块”,解释如何编写和使用MEAN应用中的各种实体。
第9章“基于Socket.io的实时通信”,展示如何在客户端与服务器间创建和使用实时通信。
第10章“MEAN应用的测试”,介绍如何针对MEAN应用的不同部分进行自动化测试。
第11章“MEAN应用的调试与自动化”,解释如何让你的MEAN应用更发更加高效。
阅读本书的前提
本书适合对HTML、CSS和现代JavaScript开发有一定了解的初级和中级Web开发人员。
对使用MongoDB、Express、AngularJS和Node.js开发现代Web应用有兴趣的Web开发人员。
推荐图书《机器学习实战》
程序员不要烦!
推荐图书《深入浅出Node.js》
Web前端都学点儿啥?
汇智网内容已经覆盖以下编程技术,发送相应的文字会收获相关课程信息:
Node.js、MongoDB、JavaScript、C、C#、PHP、Python、Angularjs、Ionic、React、UML、redis、mySQL、Nginx、CSS、HTML、Bootstrap、Flask、Gulp、Mocha、Git、Meteor、Canvas、zebra、Typescript、Material Design Lite、ECMAScript、Elasticsearch、Mongoose、jQuery、d3.js、django、cheerio、SVG、phoneGap、jQueryMobile、Saas、YAML、Vue.js、webpack、Firebird,jQuery Easy UI,ruby,asp.net,c++,Express......