Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. What Are Web Components?

    2. Why Web Components?

  2. UI Core Concepts

    1. Chapter 2 Creating a Solid Foundation

      1. The Importance of a DOM Abstraction Layer
      2. API Design and Widget Life Cycle
      3. The Inheritance Pattern
      4. Dependencies
      5. Optimization
      6. A Web Component Is Not JavaScript Alone
      7. Example Widget
      8. Summary
    2. Chapter 3 Normal Flow and Positioning

      1. Normal Flow
      2. Positioning Elements
      3. Calculating an Element’s Position
      4. Positioning the Dialog Widget
      5. Summary
    3. Chapter 4 Understanding and Managing z-index

      1. What Exactly Is the z-index Property?
      2. Rendering Layers, Stacking Order, and z-index
      3. Stacking Contexts
      4. Managing z-indexes
      5. Converting to a jQuery Plugin
      6. Adding z-index Management to the Dialog Widget
      7. Summary
  3. Building Our UI

    1. Chapter 5 Cloning Nodes

      1. Using the cloneNode Method
      2. Using jQuery.clone
      3. Continuation of the Dialog Widget
      4. Summary
    2. Chapter 6 Constructing an Overlay

      1. Defining an API
      2. Utilities
      3. Updating Options
      4. Destroying
      5. Positioning
      6. Adding the Overlay to the Dialog Widget
      7. Summary
    3. Chapter 7 Making Elements Draggable

      1. Mouse Events
      2. Mouse Events Best Practices
      3. Defining an API
      4. Creating a Drag Handle
      5. Making Things Move
      6. Destroying a Draggable Instance
      7. Making the Dialog Widget Draggable
      8. Summary
    4. Chapter 8 Resizing Elements

      1. Mouse Events and Best Practices (Recap)
      2. Resizing an Element
      3. Making a Resizable API
      4. Defining Drag Handles
      5. Binding Event Handlers
      6. Destroying a Resizable Instance
      7. Completed Resizing Library
      8. Making the Dialog Widget Resizable
      9. Summary
    5. Chapter 9 Completing the Dialog Widget

      1. Styling the Widget
      2. Concatenating the JavaScript
      3. Summary
  4. Building HTML5 Web Components

    1. Chapter 10 Utilizing Templates

      1. Understanding the Importance of Templates
      2. Creating and Using a Template
      3. Converting the Dialog Component to a Template
      4. Abstracting the Dialog Template Wrapper
      5. Summary
    2. Chapter 11 Working with the Shadow DOM

      1. What Is the Shadow DOM?
      2. Shadow DOM Basics
      3. Using a Template with the Shadow DOM
      4. Shadow DOM Styling
      5. Content Projection
      6. Shadow Insertion Points
      7. Events and the Shadow DOM
      8. Updating the Dialog Template to Use the Shadow DOM
      9. Summary
    3. Chapter 12 Creating Custom Elements

      1. Introducing Custom Elements
      2. Registering Custom Elements
      3. Extending Elements
      4. Defining Properties and Methods
      5. Resolving Custom Elements
      6. Hooking Into Custom Element Life Cycles
      7. Styling Custom Elements
      8. Utilizing Templates and the Shadow DOM with Custom Elements
      9. Converting the Dialog Component to a Custom Element
      10. Summary
    4. Chapter 13 Importing Code

      1. Declaring an Import
      2. Accessing an Import’s Content
      3. Understanding Imports in Relation to the Main Document
      4. Loading Custom Elements
      5. Importing the Dialog
      6. Summary
  5. Testing, Building, and Deploying Components with Polymer

    1. Chapter 14 Introducing Polymer

      1. Polymer Elements
      2. Template Syntax
      3. Attributes and Properties—Your Element’s API
      4. Polymer’s JavaScript APIs
      5. Summary
    2. Chapter 15 Porting Our Dialog to Polymer

      1. Why Port Anything to Polymer at All?
      2. The Direct Port
      3. That Was Easy—A Little Too Easy!
      4. jQuery in a Polymer World
      5. Summary
    3. Chapter 16 Testing Web Components

      1. PhantomJS 1
      2. PhantomJS 2
      3. Selenium WebDriver
      4. Karma
      5. Test Specs
      6. Running Our Tests
      7. Summary
    4. Chapter 17 Packaging and Publishing

      1. Vulcanize
      2. Gulp
      3. Grunt
      4. Publishing with Bower
      5. Summary
    5. Chapter 18 Final Words

      1. Where Do We Go from Here?
      2. Good Luck!