ŷ

Jump to ratings and reviews
Rate this book

Web Development with Node and Express: Leveraging the JavaScript Stack

Rate this book
Learn how to build dynamic web applications with Express, a key component of the Node/JavaScript development stack. In this hands-on guide, author Ethan Brown teaches you the fundamentals through the development of a fictional application that exposes a public website and a RESTful API. You’ll also learn web architecture best practices to help you build single-page, multi-page, and hybrid web apps with Express. Express strikes a balance between a robust framework and no framework at all, allowing you a free hand in your architecture choices. With this book, frontend and backend engineers familiar with JavaScript will discover new ways of looking at web development.

329 pages, Paperback

First published January 1, 2014

75 people are currently reading
196 people want to read

About the author

Ethan Brown

4books9followers
Ethan Brown is the Director of Engineering at Pop Art, where he is responsible for the company's technical roadmap, understanding technology horizons, and leading a team of software engineers. He is the author of two O'Reilly Media titles, Learning JavaScript, 3rd Edition, and Web Development With Node and Express. His undergraduate work was in mathematics and computer science, and he has a broad and diverse background in software technologies. He is currently completing an MBA program at Portland State University.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
59 (29%)
4 stars
87 (43%)
3 stars
40 (20%)
2 stars
9 (4%)
1 star
3 (1%)
Displaying 1 - 21 of 21 reviews
Profile Image for Dan.
13 reviews1 follower
January 25, 2015
Pros:
- great dev setup
- good overview of supporting tools (grunt, jshint)
- content clearly explained

Cons:
- examples not current
- challenging to implement without source
- chapter on restructuring code unclear

This was a great intro to the express, but suffered from the problems listed above. The details about dev methodology and how to drive TDD were solid, but those concepts weren't carried forward consistently-- probably in the issue of time. The clear examples of how to use grunt to drive test automation are very valuable.

The monolithic server.js file gets to be a 500 line monster that makes you wonder when the whole thing will topple over. By the time it starts getting broken out to a route and model files, you are almost required to use the github source to sort things out. However...

The github source project isn't up to date. This isn't a challenge in earlier sections where you may have simple typos or ordering problems you're trying to debug, but when you tackle a full code restructure, it's easier to just cut over to the example code and start fresh. Unfortunately, express has changed a bit and you're left debugging middleware config. It IS possible to branch the code, resolve these issues, then patch changes into your custom branch as you roll forward, but that's when I stopped following along and just read the last few chapters without coding.

Typing up the code examples is a large part of how I learn the material, so I'm knocking a couple stars off the book. However, the concepts about how to automate testing and use grunt and the solid explanation of express and mongo mean the book still meets expectations.
Profile Image for Matthew.
22 reviews3 followers
January 4, 2015
The greatest strength of this book is that the author—Ethan Brown—covers a lot of Node and Express topics.

That being said, there are a few things that could have been improved:

- Front-end assets are managed manually instead of using something like Bower.
- The code examples in the book are incomplete. You'll need to review the GitHub repository to find what's missing. Chapter 7 and 8 seem to be where things started to diverge, but I didn't confirm this. For example, the code in the repository tagged as ch08 didn't match the book's code examples as of the end of chapter 7.
- Code blocks don't clearly indicate where to insert new code in a file that already exists, and they don't clearly indicate when code is to be appended versus replacing previously entered code.

Since the book was released there have been a few changes to Node/Express:

- bodyParser is deprecated
- express3-handlebars has been renamed as express-handlebars

Overall this was a good book covering many Node and Express topics.
22 reviews3 followers
September 16, 2015
Starts out strong by introducing some Node fundamentals in clear tutorial format. Once getting into Express, however, quickly begins to meander into a wide range of off-topic scaffolding and testing suggestions. At some point less than a third into the book, the tutorial approach devolves into mere listings of code where it is not clear if the intention is to continue to build out the tutorial application or merely to provide some reference examples. At several points, the tutorial code simply does not work and the book errata page does a poor job of describing how to get the code to work. One is forced to dig through the code on Github to find the solution, and not necessarily in the right chapter.
Profile Image for Justin.
199 reviews44 followers
December 14, 2016
If I would've read this book before I took 462 I would of made a 100 in that class. Everything is here. Also it makes me feel really bad about some of the work my team did seeing how easy it is to do some of this stuff.
Profile Image for atom_box Evan G.
222 reviews5 followers
June 17, 2019
I like this book a lot.
As you follow along with building the site, the code gets
increasingly professional. I'm skipping around a bit, so am currently in Brown's Chapter 13, building the the Mongo.db part.
Since a picture is worth more than words, here is a picture of the structure of your project repository, if you complete all of the chapters of Brown's book:
.
├── README.md
├── ch03
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� └── views
├── ch04
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� └── views
├── ch05
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch06
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch07
│� ├── Gruntfile.js
│� ├── README.md
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch08
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch08-jquery-file-upload
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch09
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch10
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── route-example.js
│� └── views
├── ch11
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── package.json
│� ├── playground.js
│� ├── public
│� ├── qa
│� └── views
├── ch12
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch13
│� ├── Gruntfile.js
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� └── views
├── ch14
│� ├── Gruntfile.js
│� ├── handlers
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── routes.js
│� └── views
├── ch15
│� ├── Gruntfile.js
│� ├── handlers
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── routes.js
│� └── views
├── ch16
│� ├── Gruntfile.js
│� ├── config.js
│� ├── handlers
│� ├── less
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── routes.js
│� └── views
├── ch17
│� ├── Gruntfile.js
│� ├── config.js
│� ├── controllers
│� ├── handlers
│� ├── less
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── routes.js
│� ├── viewModels
│� └── views
├── ch18
│� ├── Gruntfile.js
│� ├── config.js
│� ├── controllers
│� ├── handlers
│� ├── less
│� ├── lib
│� ├── meadowlark.js
│� ├── meadowlark_cluster.js
│� ├── models
│� ├── package.json
│� ├── public
│� ├── qa
│� ├── routes.js
│� ├── viewModels
│� └── views
└── ch19
├── Gruntfile.js
├── config.js
├── controllers
├── handlers
├── less
├── lib
├── meadowlark.js
├── meadowlark_cluster.js
├── models
├── package.json
├── public
├── qa
├── routes.js
├── viewModels
└── views
61 reviews1 follower
May 9, 2020
i am a beginner to expressjs. i found the code very useful as a how to, covers express more depth compared to what you usually find on youtube and books. especially on scripting and security related topics

code samples

github code - cloning/importing
was split into folders by chapter each with their own package json. would be nice to clone the entire book code as a single project and tinker with it, had errors trying to clone the repo into codesandbox,

readability
the code is jumping here and there. maybe use some fake credentials as placeholder? and then emphasise on the security concern and the need to refactor. there were too many app use and app gets, callbacks, variables, hard time picturing how the routes work.

topics:
the chapter on formal testing to be at the back, for better logical flow?
more on file organisation, code organisation conventions
separate the views as a section rather than together with the code? only include the data object to be returned by expressjs. since there are many ways to do the view eg template engines, react,vue, nextjs etc

that said, i found the book very useful, highlighting and re-reading through the examples and explanations
114 reviews18 followers
March 10, 2022
I thought this book was a decent introduction to the Express framework. The first half of the book has good examples which give the reader a good grounding in the basic concepts behind Express, along with some examples of more advanced techniques. The examples in the latter half of the book which explore integrating Express with other libraries/systems such as databases, React, etc. can be a little difficult to follow along without the compendium git repo (and even in that case the code can be pretty dense).

I wound up skimming many of the later chapters because although the information can be useful for web development in general, they don't cover anything specific to Node and/or Express, and the reader would be better served by reading a book which covers those topics in detail. Even the chapter on debugging (which I feel could have had an earlier slot in the book) omits Express-specific information (like how to enable/read Express debug logging).

Overall, if you have no prior experience with Express, I think this book can serve you well in getting started.
Profile Image for PNJ  Services.
1 review
January 9, 2020
Want to grow your business and become to brand in a complex online market place globally? Try our E-Commerce web development services, I am sure, you will be 100% satisfied. PNJ Sharptech is a website development company in India that offers a full range of web application services like custom software development service, application modernization services. We believe that an effective web application is a consequence of a strong and concrete marketing strategy.

Profile Image for bruno.
5 reviews2 followers
January 6, 2021
I could not recommend this book enough! Ethan covers so much stuff here.
This should be a mandatory read for every new developer. Even the more confusing/boring subjects are taught in a very easy manner, not using over complicated terms or analogies. It really everything I was looking for in a book.
2 reviews
Read
October 8, 2022
Technology is a method that makes any work easy. We also run a company that provides the services of web development, web design, and android & ios. We have already done many projects successfully. If you want to know about my IT solution company, then read more.....
-
Profile Image for Matej Latin.
Author1 book38 followers
January 29, 2021
Continually goes from being vague to very specific. Half way through the book the code examples stopped working. I feel I didn’t learn much.
Profile Image for Richard Firdaus.
5 reviews13 followers
January 28, 2023
actually this is a good book for you learn the node js from the basic, but if you've already learn the nodejs before, this book is not really helpful. However, the nice things we can get from this book are you have more knowledge about deployment, like git, third party APIs, and how to to automatic testing. It's a good choice to read this book so you can have more knowledge about the real web development
Profile Image for Dominic Myers.
Author2 books2 followers
May 13, 2014
Enjoying it a lot though Handlebars aren't my cup-of-tea as I prefer jade really. I'm also slightly sad that there's no git repo as yet (13/05/2014) as there's no decent images and I ended up getting stuck putting a picture of Fallon Rogers from the BBCs The Archers as she was on my mind when I started reading it as she's was busy flirting with the nice young Policeman from the series. Ahh well!
Profile Image for Yanick Champoux.
Author2 books4 followers
April 29, 2016
The book is aimed at newcomers. If you never developed a web application, it's a good resource/tutorial that touches all aspects of the project. If you are familiar with other web frameworks, either in JavaScript or any other languages, it might feel a mite light.
Profile Image for Ben.
12 reviews1 follower
September 5, 2014
Lots of typos in this first edition, but Web Development with Node & Express provides great coverage of full stack web development with Node.js.
Profile Image for Eder Sanchez.
56 reviews6 followers
July 13, 2015
Creí que sería mas largo de lo que en realidad es. Ya está un poquito desactualizado pero nada que no se resuelva con google.
3 reviews
December 20, 2020
I can recommend this book to a NodeJS beginner who wants to learn how to build a simple application with it. (if reading is their preferred means of learning)
Displaying 1 - 21 of 21 reviews

Can't find what you're looking for?

Get help and learn more about the design.