Key Features
- Learn about server-side JavaScript with Node.js and Node modules through the most up-to-date book on Node.js web development
- Understand website development both with and without the Connect/Express web application framework
- Develop both HTTP server and client applications
Book Description
Node.js is a server-side JavaScript platform using an event driven, non-blocking I/O model allowing users to build fast and scalable data-intensive applications running in real time. Node.js Web Development shows JavaScript is not just for browser-side applications. It can be used for server-side web application development, real-time applications, microservices, and much more.
This book gives you an excellent starting point, bringing you straight to the heart of developing web applications with Node.js. You will progress from a rudimentary knowledge of JavaScript and server-side development to being able to create and maintain your own Node.js application. With this book you'll learn how to use the HTTP Server and Client objects, data storage with both SQL and MongoDB databases, real-time applications with Socket.IO, mobile-first theming with Bootstrap, microservice deployment with Docker, authenticating against third-party services using OAuth, and much more.
What You Will Learn
- Install and use Node.js for both development and deployment
- Use the Express application framework
- Configure Bootstrap for mobile-first theming
- Use data storage engines such as MySQL, SQLITE3, and MongoDB
- Understand user authentication methods, including OAuth, with third-party services
- Deploy Node.js to live servers, including microservice development with Docker
- Perform unit testing with Mocha
- Perform functional testing of the web application with CasperJS
Table of Contents
- About Node.js
- Setting up Node.js
- Node.js Modules
- HTTP Servers and Clients - A Web Application's First Steps
- Your First Express Application
- Implementing the Mobile-First Paradigm
- Data Storage and Retrieval
- Multiuser Authentication the Microservice Way
- Dynamic Interaction between Client and Server with Socket.IO
- Deploying Node.js Applications
- Unit Testing
David Herron has worked as a software engineer and software quality engineer in Silicon Valley for over 20 years. Recently, he worked for Yahoo! as an architect in the Quality Engineering team for their new Node.js-based web app platform (Manhattan and Mojito). While he was a staff engineer at Sun Microsystems, David worked as an architect in the Java SE Quality Engineering team where he focused on test automation tools, including the AWT Robot class that's now widely used in GUI test automation software. He was involved in launching the OpenJDK project, and other open source activities related to Java. Before Sun, he worked for VXtreme on the video streaming stack, which eventually became Windows Media Player when Microsoft bought the company. At the Wollongong Group, he worked on both the e-mail client and server software and was part of several IETF working groups improving e-mail-related protocols. David is interested in electric vehicles, world energy supplies, climate change, and environmental issues, and is a co-founder of Transition Silicon Valley. As an online journalist, he writes about electric cars and other green technology for PlugInCars.com, TorqueNews.com, Examiner.com, LongTailPipe.com, and ElectricRaceNews.com. He runs a large electric vehicle discussion website VisForVoltage.org, and blogs about other topics including Node.js, Drupal, and Doctor Who on DavidHerron.com. Using Node.js, he has developed a Content Management System called AkashaCMS (akashacms.com) that produces static HTML websites.