JavaScript: Moving to ES2015

Author: Ved Antani;Simon Timms;Narayan Prusty  

Publisher: Packt Publishing‎

Publication year: 2017

E-ISBN: 9781787124288

P-ISBN(Paperback): 9781787125919

Subject: TP301.6 algorithm theory;TP31 computer software;TP312 程序语言、算法语言

Keyword: 计算机软件,算法理论,自动化技术、计算机技术,程序语言、算法语言

Language: ENG

Access to resources Favorite

Disclaimer: Any content in publications that violate the sovereignty, the constitution or regulations of the PRC is not accepted or approved by CNPIEC.

Chapter

Module 1: Mastering JavaScript

Chapter 1: JavaScript Primer

A little bit of history

How to use this module

Hello World

Summary

Chapter 2: Functions, Closures, and Modules

A function literal

Functions as data

Scoping

Function declarations versus function expressions

The arguments parameter

Anonymous functions

Closures

Timers and callbacks

Private variables

Loops and closures

Modules

Summary

Chapter 3: Data Structures and Manipulation

Regular expressions

Exact match

Match from a class of characters

Repeated occurrences

Beginning and end

Backreferences

Greedy and lazy quantifiers

Arrays

Maps

Sets

A matter of style

Summary

Chapter 4: Object-Oriented JavaScript

Understanding objects

Instance properties versus prototype properties

Inheritance

Getters and setters

Summary

Chapter 5: JavaScript Patterns

Design patterns

The namespace pattern

The module pattern

The factory pattern

The mixin pattern

The decorator pattern

The observer pattern

JavaScript Model-View-* patterns

The Model-View-Presenter pattern

Model-View-ViewModel

Summary

Chapter 6: Testing and Debugging

Unit testing

JavaScript debugging

Summary

Chapter 7: ECMAScript 6

Shims or polyfills

Transpilers

ES6 syntax changes

Summary

Chapter 8: DOM Manipulation and Events

DOM

Chaining

Traversal and manipulation

Working with browser events

Propagation

jQuery event handling and propagation

Event delegation

The event object

Summary

Chapter 9: Server-Side JavaScript

An asynchronous evented-model in a browser

Callbacks

Timers

EventEmitters

Modules

npm

JavaScript performance

Summary

Module 2: Mastering JavaScript Design Patterns, Second Edition

Chapter 1: Designing for Fun and Profit

The road to JavaScript

What is a design pattern?

Anti-patterns

Summary

Chapter 2: Organizing Code

Chunks of code

What's the matter with global scope anyway?

Objects in JavaScript

Build me a prototype

Inheritance

Modules

ECMAScript 2015 classes and modules

Best practices and troubleshooting

Summary

Chapter 3: Creational Patterns

Abstract factory

Builder

Factory method

Singleton

Prototype

Tips and tricks

Summary

Chapter 4: Structural Patterns

Adapter

Bridge

Composite

Decorator

Façade

Flyweight

Proxy

Hints and tips

Summary

Chapter 5: Behavioral Patterns

Chain of responsibility

Command

Interpreter

Iterator

Mediator

Memento

Observer

State

Strategy

Template method

Visitor

Hints and tips

Summary

Chapter 6: Functional Programming

Functional functions are side-effect-free

Function passing

Filters and pipes

Accumulators

Memoization

Immutability

Lazy instantiation

Hints and tips

Summary

Chapter 7: Reactive Programming

Application state changes

Streams

Filtering streams

Merging streams

Streams for multiplexing

Hints and tips

Summary

Chapter 8: Application Patterns

First, some history

Model View Controller

Model View Presenter

Model View ViewModel

Tips and tricks

Summary

Chapter 9: Web Patterns

Sending JavaScript

Plugins

Doing two things at once – multithreading

Circuit breaker pattern

Promise pattern

Hints and tips

Summary

Chapter 10: Messaging Patterns

What's a message anyway?

Request-reply

Publish-subscribe

Dead letter queues

Hints and tips

Summary

Chapter 11: Microservices

Façade

Service selector

Aggregate services

Pipeline

Message upgrader

Failure patterns

Hints and tips

Summary

Chapter 12: Patterns for Testing

The testing pyramid

Testing in the small with unit tests

Arrange-Act-Assert

Fake objects

Test spies

Stubs

Mock

Monkey patching

Interacting with the user interface

Tips and tricks

Summary

Chapter 13: Advanced Patterns

Dependency injection

Live post processing

Aspect oriented programming

Mixins

Macros

Tips and tricks

Summary

Chapter 14: ECMAScript-2015/2016 Solutions Today

TypeScript

BabelJS

Tips and tricks

Summary

Module 3: Modern JavaScript Applications

Chapter 1: Breaking into Microservices Architecture

What is monolithic architecture?

Microservices architecture to the rescue

Implementing microservices using Seneca

Summary

Chapter 2: Building a Coupon Site

Getting started

Architecture of our site

Creating the services

Creating the image upload server

Creating the monolithic core

Website walkthrough

Further improvements to the site

Summary

Chapter 3: Communication between Browsers in Real Time

Terminologies

Introduction to WebRTC

WebRTC applications using PeerJS

Miscellaneous

Summary

Chapter 4: Building a Chatroulette

Creating your own PeerServer

Creating a chatroulette

Summary

Chapter 5: Bidirectional Communication in Real Time

Introducing WebSocket

Introduction to Socket.IO

Summary

Chapter 6: Building a Live Score Site

Building the backend

Building the frontend

Testing the website

Summary

Chapter 7: Functional Reactive Programming

Introduction to reactive programming

Functional programming in a nutshell

Getting started with FRP

FRP using Bacon.js

Summary

Chapter 8: Building an Advanced Profile Search Widget

Errors in Bacon.js

Handling exceptions

Constant properties

An overview of buses

Subscribing to the end of EventStreams and properties

Unplugging subscribers

Combining and zipping

Lazy evaluation

Building the profile search widget

Summary

Chapter 9: New Features of Bootstrap 4

Downloading Bootstrap 4

Browser and device support

Understanding the rem and em CSS units

The grid system

Global margin reset

Spacing utility classes

Display headings

Inverse tables

The card component

Outline buttons

Moving from Less to Sass

Text alignment and float utility classes

Reboot

Flexbox support

JavaScript improvements

Adding Tether

The 21:9 aspect ratio class

Customizing Bootstrap 4

Glyphicons dropped

Summary

Chapter 10: Building User Interfaces Using React

Introducing React

Getting started with JSX

Digging into components

Reconciliation

Default component property values

Component life cycle methods

Mixins

Using Refs

ReactDOMServer.renderToStaticMarkup

Summary

Chapter 11: Building an RSS Reader Using React and Flux

Understanding Flux

Using Flux.js

Using MicroEvent.js

Introduction to React Router

Creating the RSS feed reader

Summary

Chapter 12: New Features of Angular 2

The Angular 2 architecture

Introducing web components

Setting up an Angular 2 project

Angular 2 fundamentals

Styling components and shadow DOM

Angular 2 change detection

Understanding view children and content children

Component lifecycle methods

Writing templates

Outputs

Understanding providers

The difference between providers and the viewProviders property

Summary

Chapter 13: Building a Search Engine Template Using AngularJS 2

Setting up the project

Configuring routes and bootstrapping the app

Generating random search results

Creating route components

Testing the template

Routing life cycle methods

Production mode versus development mode

Summary

Chapter 14: Securing and Scaling Node.js Applications

Common vulnerabilities in applications

Non-vulnerability based attacks

Using secure packages

Scaling Node.js servers

Summary

Bibliography

The users who browse this book also browse


No browse record.