Mastering JavaScript Single Page Application Development

An in-depth guide to exploring the design, architecture, and techniques behind building sophisticated, scalable, and maintainable single-page applications in JavaScript

Mastering JavaScript Single Page Application Development

This ebook is included in a Mapt subscription
Philip Klauzinski, John Moore

3 customer reviews
An in-depth guide to exploring the design, architecture, and techniques behind building sophisticated, scalable, and maintainable single-page applications in JavaScript
$0.00
$18.00
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781785881640
Paperback452 pages

Book Description

Single-page web applications—or SPAs, as they are commonly referred to—are quickly becoming the de facto standard for web app development. The fact that a major part of the app runs inside a single web page makes it very interesting and appealing. Also, the accelerated growth of browser capabilities is pushing us closer to the day when all apps will run entirely in the browser.

This book will take your JavaScript development skills to the next level by teaching you to create a single-page application within a full-stack JavaScript environment. Using only JavaScript, you can go from being a front-end developer to a full-stack application developer with relative ease.

You will learn to cross the boundary from front-end development to server-side development through the use of JavaScript on both ends. Use your existing knowledge of JavaScript by learning to manage a JSON document data store with MongoDB, writing a JavaScript powered REST API with Node.js and Express, and designing a front-end powered by AngularJS.

This book will teach you to leverage the MEAN stack to do everything from document database design, routing REST web API requests, data-binding within views, and adding authentication and security to building a full-fledged, complex, single-page web application.

In addition to building a full-stack JavaScript app, you will learn to test it with JavaScript-powered testing tools such as Mocha, Karma, and Jasmine. Finally, you will learn about deployment and scaling so that you can launch your own apps into the real world.

Table of Contents

Chapter 1: Getting Organized with NPM, Bower, and Grunt
What is Node Package Manager?
Bower
Grunt
Summary
Chapter 2: Model-View-Whatever
The original MVC pattern
MVP and MVVM
VIPER and other variations of MVW
AngularJS and MVW
Using the MVW pattern in an SPA
Summary
Chapter 3: SPA Essentials – Creating the Ideal Application Environment
The JSON data format
The differences between SQL and NoSQL databases
When to use SQL versus NoSQL databases
Methods of presenting an SPA container
Managing layouts
Summary
Chapter 4: REST is Best – Interacting with the Server Side of Your App
Understanding the fundamentals of REST
Benefits of REST
RESTful web services
Writing basic REST API endpoints
Alternatives to REST
Summary
Chapter 5: Its All About the View
JavaScript templating engines
Underscore.js
Mustache.js
Handlebars.js
Other differences in Handlebars from Mustache templates
Pure.js
Pug
Embedded JavaScript (EJS)
Optimizing your application layout
Summary
Chapter 6: Data Binding, and Why You Should Embrace It
What is data binding?
Data binding with modern JavaScript frameworks
Implementing data binding with native JavaScript
Why use data binding?
Summary
Chapter 7: Leveraging the MEAN Stack
The Node.js environment
Getting started with Express
Exploring MongoDB
Starting with AngularJS
Summary
Chapter 8: Managing Data Using MongoDB
Exploring the NoSQL database model
Commanding MongoDB
Incorporating MongoDB into the SPA
MongoDB database performance
Summary
Chapter 9: Handling Web Requests with Express
Examining Express in detail
Developing a RESTful API
Summary
Chapter 10: Displaying Views
Setting up our dashboard
Implementing AngularJS
Talking to the backend
Summary
Chapter 11: Adding Security and Authentication
Adding authentication with Passport
Authenticating requests
Securing Express
Summary
Chapter 12: Connecting the App to Social Media
Connecting to Facebook
Connecting to Twitter
Sharing giftlists
Summary
Chapter 13: Testing with Mocha, Karma, and More
Types of testing
Summary
Chapter 14: Deploying and Scaling the SPA
Packaging for deployment
Setting up a cloud database
Deploying the application to Heroku
Scaling the SPA
Summary

What You Will Learn

  • Organize your development environment using the command line with NPM, Bower, and Grunt
  • Choose an accurate design pattern for your app
  • Understand modular JavaScript programming and Node.js
  • interact with a REST API using JavaScript and AJAX with practical examples
  • Build a single page application using the MEAN stack
  • Connect your app across popular social media platforms such as Facebook, Twitter, and LinkedIn
  • Test your app, both on the server side and in views
  • Prepare your app for the real world and deploy it to Heroku

Authors

Table of Contents

Chapter 1: Getting Organized with NPM, Bower, and Grunt
What is Node Package Manager?
Bower
Grunt
Summary
Chapter 2: Model-View-Whatever
The original MVC pattern
MVP and MVVM
VIPER and other variations of MVW
AngularJS and MVW
Using the MVW pattern in an SPA
Summary
Chapter 3: SPA Essentials – Creating the Ideal Application Environment
The JSON data format
The differences between SQL and NoSQL databases
When to use SQL versus NoSQL databases
Methods of presenting an SPA container
Managing layouts
Summary
Chapter 4: REST is Best – Interacting with the Server Side of Your App
Understanding the fundamentals of REST
Benefits of REST
RESTful web services
Writing basic REST API endpoints
Alternatives to REST
Summary
Chapter 5: Its All About the View
JavaScript templating engines
Underscore.js
Mustache.js
Handlebars.js
Other differences in Handlebars from Mustache templates
Pure.js
Pug
Embedded JavaScript (EJS)
Optimizing your application layout
Summary
Chapter 6: Data Binding, and Why You Should Embrace It
What is data binding?
Data binding with modern JavaScript frameworks
Implementing data binding with native JavaScript
Why use data binding?
Summary
Chapter 7: Leveraging the MEAN Stack
The Node.js environment
Getting started with Express
Exploring MongoDB
Starting with AngularJS
Summary
Chapter 8: Managing Data Using MongoDB
Exploring the NoSQL database model
Commanding MongoDB
Incorporating MongoDB into the SPA
MongoDB database performance
Summary
Chapter 9: Handling Web Requests with Express
Examining Express in detail
Developing a RESTful API
Summary
Chapter 10: Displaying Views
Setting up our dashboard
Implementing AngularJS
Talking to the backend
Summary
Chapter 11: Adding Security and Authentication
Adding authentication with Passport
Authenticating requests
Securing Express
Summary
Chapter 12: Connecting the App to Social Media
Connecting to Facebook
Connecting to Twitter
Sharing giftlists
Summary
Chapter 13: Testing with Mocha, Karma, and More
Types of testing
Summary
Chapter 14: Deploying and Scaling the SPA
Packaging for deployment
Setting up a cloud database
Deploying the application to Heroku
Scaling the SPA
Summary

Book Details

ISBN 139781785881640
Paperback452 pages
Read More
From 3 reviews

Read More Reviews