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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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..... -
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
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!
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.
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)