具体描述
本书涵盖JavaScript快速开发的多项前沿技术,是极其少见的前后端技术集大成之作。本书所涉技术包括Node.js、MongoDB、Twitter Bootstrap、LESS、jQuery、Parse.com、Heroku等,分三部分介绍如何用这些技术快速构建软件原型。第一部分是基础知识,让大家真正认识前后端及敏捷开发,并学会搭建本地及云环境。第二部分与第三部分分别介绍如何构建前端原型和后端原型。作者以前端组件开篇,通过为一个示例聊天应用Chat打造多个版本(Web/移动),将前端和后端结合在一起并给出应用部署方式。
作者简介
作者简介:
Azat Mardanov
资深软件工程师,带领团队重构了具有5000万用户的DocuSign;社交媒体新闻聚合网Storify.com工程师,为包括BBC、NBC、CNN、白宫等客户提供服务;原Gizmo首席技术官和联合创始人,期间参与著名的500 Startups商业加速器项目;科技聚会和编程马拉松活动的常客,曾和FashionMetric.com团队一起在AngelHack活动上12次入围决赛;General Assembly、Hack Reactor、pariSOMA和Marakana等机构的讲师,其技术课程获得一致好评;技术作者,其个人博客webAppLog.com一度成为谷歌搜索“express.js tutorial”结果中排名第一的教程站点;他还曾为美国各大政府机构开发关键任务应用。另外,他还著有Express.js Guide 、Practical Node.js 等书,而且开发了很多Node.js开源项目(如ExpressWorks、mongoui以及HackHall等)。
译者简介:
胡波
网名jser.me,多年JavaScript开发经验,曾负责人人网多个重要产品线前端,如相册、日志等。现在,他在阿里负责广告投放端JS引擎及推广页面制作平台。
目录信息
第1章 基础知识 2
1.1 定义前端 2
1.1.1 综述 2
1.1.2 HTML 3
1.1.3 CSS 5
1.1.4 JavaScript 6
1.2 敏捷开发概述 11
1.2.1 Scrum 11
1.2.2 测试驱动开发 12
1.2.3 持续部署和集成 12
1.2.4 结对编程 13
1.3 后端定义 13
1.3.1 Node.js 13
1.3.2 NoSQL和MongoDB 14
1.3.3 云计算 14
1.3.4 HTTP请求和响应 15
1.3.5 REST式API 16
第2章 设置 17
2.1 本地环境搭建 17
2.1.1 开发目录 17
2.1.2 浏览器 18
2.1.3 IDE和文本编辑器 20
2.1.4 版本控制系统 22
2.1.5 本地HTTP服务器 24
2.1.6 数据库:MongoDB 25
2.1.7 其他组件 28
2.2 云端环境搭建 30
2.2.1 SSH 密钥 30
2.2.2 GitHub 32
2.2.3 Windows Azure 33
2.2.4 Heroku 34
2.2.5 Cloud9 35
第二部分 前端原型构建
第3章 jQuery和Parse.com 38
3.1 定义 38
3.1.1 JSON 38
3.1.2 AJAX 39
3.1.3 跨域调用 40
3.2 jQuery 40
3.3 Twitter Bootstrap 41
3.4 LESS 45
3.4.1 变量 45
3.4.2 混入类(mixin) 46
3.4.3 操作符 46
3.5 使用第三方API(Twitter)和jQuery的例子 48
3.6 Parse.com 53
3.7 使用Parse.com的Chat概述 56
3.8 使用Parse.com的Chat:REST API和jQuery版本 56
3.9 推送到GitHub 63
3.10 部署到Windows Azure 64
3.11 部署到Heroku 65
3.12 更新和删除消息 67
第4章 Backbone.js 68
4.1 从头开始构建Backbone.js应用 68
4.2 使用集合 72
4.3 事件绑定 76
4.4 使用Underscore.js视图和子视图 80
4.5 重构 87
4.6 开发时的AMD 和Require.js 92
4.7 生产环境里的Require.js 99
4.8 简单好用的Backbone脚手架工具 102
第5章 Backbone.js和Parse.com 104
5.1 使用Parse.com的Chat:JavaScript SDK和Backbone.js版本 105
5.2 部署Chat到PaaS 115
5.3 增强Chat应用 116
第三部分 后端原型构建
第6章 Node.js和MongoDB 118
6.1 Node.js 118
6.1.1 创建Node.js 的Hello World程序 118
6.1.2 Node.js 核心模块 119
6.1.3 NPM 121
6.1.4 部署Hello World到PaaS 123
6.1.5 部署到Windows Azure 123
6.1.6 部署到Heroku 123
6.2 Chat:运行时内存版本 124
6.3 Chat的测试用例 .125
6.4 MongoDB 131
6.4.1 MongoDB Shell 131
6.4.2 MongoDB原生驱动 132
6.4.3 MongoDB on Heroku:MongoHQ 134
6.4.4 BSON 138
6.5 Chat:MongoDB版本 139
第7章 整合前后端 142
7.1 不同域部署 142
7.2 修改入口 143
7.3 Chat应用 146
7.4 部署 147
7.5 同域部署 148
第8章 福利:Webapplog上的文章 150
8.1 Node里的异步 150
8.1.1 非阻塞I/O 150
8.1.2 异步编码方式 151
8.2 使用Monk迁移MongoDB 152
8.3 在Node.js里使用Mocha实践TDD 156
8.3.1 谁需要使用测试驱动的开发 156
8.3.2 快速开始指南 156
8.4 Wintersmith:静态网站生成器 158
8.4.1 开始使用Wintersmith 159
8.4.2 其他静态网站生成器 160
8.5 Express.js教程:使用Monk和MongoDB的简单REST API应用 161
8.6 Express.js教程:参数、错误处理及其他中间件 164
8.6.1 请求处理函数 164
8.6.2 参数处理中间件 165
8.6.3 错误处理 166
8.6.4 其他中间件 167
8.6.5 抽象 168
8.7 使用Node.js和MongoDB通过Mongoskin和Express.js构建JSON REST API服务器 169
8.7.1 测试覆盖率 169
8.7.2 依赖 172
8.7.3 实现 172
8.7.4 总结 176
8.8 Node.js MVC:Express.js + Derby Hello World教程 177
8.8.1 Node MVC框架 177
8.8.2 Derby安装 177
8.8.3 文件结构 178
8.8.4 依赖 178
8.8.5 视图 178
8.8.6 主服务器 179
8.8.7 Derby应用 180
8.8.8 运行Hello World应用 181
8.8.9 递值给后端 181
总结与推荐阅读 185
· · · · · · (收起)
读后感
技術圖書的評價,必須根據對象,也就是「目標讀者」來看。 一本寫給完全初學者的書,即使讓半生不熟的入門者來看,也會有囉唆、或是不夠完整的感覺,因為有些東西你已經會了,希望知道更深入一點的技巧。這不是書的錯,是你找錯了書。 這本書的對象,就是完全的初學者,或是...
技術圖書的評價,必須根據對象,也就是「目標讀者」來看。 一本寫給完全初學者的書,即使讓半生不熟的入門者來看,也會有囉唆、或是不夠完整的感覺,因為有些東西你已經會了,希望知道更深入一點的技巧。這不是書的錯,是你找錯了書。 這本書的對象,就是完全的初學者,或是...
技術圖書的評價,必須根據對象,也就是「目標讀者」來看。 一本寫給完全初學者的書,即使讓半生不熟的入門者來看,也會有囉唆、或是不夠完整的感覺,因為有些東西你已經會了,希望知道更深入一點的技巧。這不是書的錯,是你找錯了書。 這本書的對象,就是完全的初學者,或是...
技術圖書的評價,必須根據對象,也就是「目標讀者」來看。 一本寫給完全初學者的書,即使讓半生不熟的入門者來看,也會有囉唆、或是不夠完整的感覺,因為有些東西你已經會了,希望知道更深入一點的技巧。這不是書的錯,是你找錯了書。 這本書的對象,就是完全的初學者,或是...
技術圖書的評價,必須根據對象,也就是「目標讀者」來看。 一本寫給完全初學者的書,即使讓半生不熟的入門者來看,也會有囉唆、或是不夠完整的感覺,因為有些東西你已經會了,希望知道更深入一點的技巧。這不是書的錯,是你找錯了書。 這本書的對象,就是完全的初學者,或是...
用户评价
后端部分的内容展现了一种非常成熟的架构视野。它没有将后端开发简单地等同于CRUD的实现,而是花了不少笔墨在API设计原则和安全性上。特别是关于RESTful规范的细致解读,以及如何在高并发场景下进行中间件的合理运用,这部分内容对于想要从纯前端转向全栈的开发者来说,简直是宝藏。我注意到作者在讲解数据库交互时,不仅覆盖了主流的关系型数据库操作,还触及了NoSQL的一些应用场景的权衡。最让我印象深刻的是它对微服务概念的引入和初步实践,虽然篇幅有限,但已经足以勾勒出一个现代后端服务的骨架。这本书的后半部分给我的感觉是,它在努力弥合“前端工程师”和“后端工程师”之间的知识鸿沟,用一种极其务实的态度告诉你,要成为一个真正的全栈,必须在服务架构和数据持久化层面具备何种深度思考能力。
翻到中间关于前端框架的部分,我本来有点担心内容会过于陈旧或者只偏向某一个特定技术栈,结果出乎意料地平衡。它没有把篇幅都押注在某个当下最火的框架上,而是先从构建工具和模块化思维的角度切入,这才是高明的做法。尤其是在讲解状态管理时,它没有直接抛出Redux或Vuex的复杂API,而是先从“为什么需要状态管理”这个本质问题入手,然后逐步引入不同的解决方案及其适用场景,这种自顶向下的讲解方式,极大地降低了初学者的学习曲线。我尤其喜欢它在性能优化章节里提到的那些“野路子”技巧,比如虚拟列表的实现思路,用的是非常朴素但高效的原生JS操作,而不是直接调用某个库的封装函数,这让我体会到了底层原理的强大。读完这部分,感觉自己对构建现代Web应用所需的底层知识体系构建有了更清晰的蓝图,不再是只会调用API的“框架使用者”了。
这本书的排版和配图风格,也完全不像市面上那些充斥着大量“代码堆砌”的教材。它的图表设计非常清晰,特别是流程图和架构图,往往能用一张图概括掉之前几页文字描述才能讲清楚的复杂关系。阅读体验上,它更像是一位经验丰富的前辈,在你面前一边敲代码,一边和你探讨每一步选择背后的商业或技术考量。它在讲述调试技巧时,也很有独到之处,没有停留在浏览器自带的DevTools基础功能上,而是深入到了Node.js环境下的调试策略,这对于那些需要处理前后端联调复杂问题的开发者来说,是极其实用的技能。我甚至觉得,这本书的内容已经超越了“入门”的范畴,更像是一本“进阶实战手册”,它强迫你思考的不是“怎么写代码”,而是“在特定约束条件下,如何写出健壮且可维护的代码”。
这本厚厚的书拿到手里,感觉分量十足,翻开目录,光是前几章对基础概念的梳理就让我眼前一亮。作者在讲解JavaScript核心概念时,没有陷入过多的学院派理论,而是非常注重实战应用。比如,在数据类型和作用域那块,举的例子都非常贴近日常开发中容易踩坑的地方,像闭包和`this`的指向问题,讲解得深入浅出,让我这个之前总在这些地方纠结的人,豁然开朗。我特别欣赏它在对比不同ES6+新特性时的那种细致入微,不仅仅是告诉你“能用”,更是告诉你“为什么这么用更优雅,性能更好”。深入到异步编程部分,Promise、Async/Await的串联讲解,逻辑性极强,感觉作者是真正经历过复杂项目的心血之作,把那些繁琐的异步调用逻辑梳理得井井有条,让人在阅读时有一种跟着高手的思维路径在前进的踏实感。总的来说,初读下来,觉得它在巩固基础和提升代码质量方面,确实下了大功夫,不是那种浮于表面的速成手册。
整本书读下来,最让我感到踏实的是它对“部署和运维”环节的覆盖,这一点很多同类书籍往往会一带而过。这本书详细阐述了从代码提交到生产环境上线的全过程,包括CI/CD的基本流程构建,以及Docker容器化部署的基础实践。作者没有使用过于高深的云服务术语,而是用本地化的、可复现的案例来演示如何打包、镜像化和启动一个完整的应用栈。这种“交付”导向的思维,对于我这种从个人项目向团队项目过渡的人来说,提供了非常宝贵的实战经验。它没有把部署看作是“开发完成后的事情”,而是将其视为开发过程的一部分,这一点充分体现了现代软件工程的理念。这使得全书的闭环非常完美,从最初的JS语法,到复杂的框架应用,再到最终的产品交付,结构完整,逻辑严密,让人读完后,不仅学到了技术,更建立了一套完整的产品交付思维框架。
书中没有值得看的东西,只是借全栈这个词来宣传,并没有什么阮用,完全忽悠人的垃圾书。不管你是初学者还是中级开发工程师 看这本书简直在浪费时间
书中没有值得看的东西,只是借全栈这个词来宣传,并没有什么阮用,完全忽悠人的垃圾书。不管你是初学者还是中级开发工程师 看这本书简直在浪费时间
这本书真心不错,作为初学者,我还是想看看《 全栈开发之道:MongoDB+Express+AngularJS+Node.js 》这本书!
很不错的一本书,和我入门的时候走过的路很像
最多给三星吧。如果你是入门,就不要看了。里面并没有多少干货。如果你是进阶,也只是让你了解下有这么个框架可以做什么事情而已。如果你已经是高手,就直接略过吧。