Mastering JavaScript Single Page Application Development.
Book information
Description
An in-depth guide to exploring the design, architecture, and techniques behind building sophisticated, scalable, and maintainable single-page applications in JavaScriptAbout This Book Build large-scale, feature-complete SPAs by leveraging widely used tools and techniques. Gain a solid understanding of architecture and SPA design to build applications using the library or framework of your choice. Explore the various facets of SPA development to build web apps that are fast, scalable, and easy to test.Who This Book Is For This book is ideal for JavaScript developers who want to build complex single-page applications in JavaScript. Some basic understanding of SPA concepts will be helpful but not essential.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 HerokuIn Detail Single-page web applications{u2014}or SPAs, as they are commonly referred to{u2014}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.Style and approach Following a structured approach, this book helps readers gain expertise in SPA development. Its thorough coverage of SPA architecture and design, along with practical use cases, provides readers with a clear path to building applications with the library of their choice. For readers who are afraid to take the plunge straightaway, the book also offers step-by-step guidance on developing a complex web app. Read more... Cover Copyright Credits About the Authors About the Reviewer www.PacktPub.com Table of Contents Preface Chapter 1: Getting Organized with NPM, Bower, and Grunt What is Node Package Manager? Installing Node.js and NPM Configuring your package.json file NPM dependencies Updating your development dependencies Bower Installing Bower Configuring your bower.json file Bower components location and the .bowerrc file Bower dependencies Searching the Bower registry Grunt Installing the Grunt CLI Installing the Grunt task runner Installing Grunt plugins Configuring Grunt Understanding Node.js modulesCreating a Gruntfile Defining Grunt task configuration Loading Grunt plugins Running the jshint Grunt task Running the watch Grunt task Defining the default Grunt task Defining custom tasks Summary Chapter 2: Model-View-Whatever The original MVC pattern The Model The View The Controller MVP and MVVM MVP MVVM Summarizing the differences between MVC, MVP, and MVVM VIPER and other variations of MVW VIPER Other variations of MVW AngularJS and MVW A brief history of AngularJS AngularJS components Template Directives Model Scope Expressions The differences between SQL and NoSQL databasesNoSQL data typing Relational data typing ACID transactions Atomicity Consistency Isolation Durability MongoDB and ACID Write-ahead logging with MongoDB When to use SQL versus NoSQL databases Scalability Horizontal scaling Big Data Operational Big Data Analytical Big Data Overall considerations Methods of presenting an SPA container How to define your SPA container Partial page container Full page container How to load your SPA container Loading on user interaction Login page transition Loading based on the DOMContentLoaded eventLoading based on the document readystatechange event Loading directly from the document.body Using the script tag async attribute Using the script tag defer attribute Managing layouts Static layouts Dynamic layouts Installing Express Setting up a basic server with Express Basic routing with Express Running a server with Express Loading static assets with Express Dynamic routing with Express Summary Chapter 4: REST is Best -- Interacting with the Server Side of Your App Understanding the fundamentals of REST
Similar books
The Stone Puzzle of Rosslyn Chapel
2004 · MOBI
The Bright Rose: Early German Verse 800–1250
2017 · AZW3
Eric Clapton: de biografie
2018 · EPUB
The Philosopher and the Druids
2006 · AZW3
Java: Learn Java Programming From Beginner to Professional
2024 · EPUB
CompTIA Linux+ XK0-005 Reference Guide: Get the knowledge and skills you need to become a Linux certified professional (English Edition)
2024 · AZW3
The Ultimate Interview Questions and Answers Guide: Understanding, Asking, and Answering with Confidence
2024 · EPUB
Disturbing Nature in Narrative Literature
2024 · EPUB