Web Component Architecture & Development with AngularJS
Web Component Architecture & Development with AngularJS
Free!
Minimum
$9.99
Suggested
Web Component Architecture & Development with AngularJS

This book is 90% complete

Last updated on 2015-03-19

About the Book

In the era of the "single page" web app, the days of monolithic application development will soon be coming to an end.  Web application development will become a simple process of quickly mixing, matching, and assembling pre-built Web Components as custom HTML tags from multiple libraries and authors.  

Web development engineers will leave most of the tasks of application assembly to non-technical designers, while shifting focus towards building re-usable web components.  The W3C Web Component specs still have yet to be fully standardized and implemented, but you do not need to wait in order to get started building re-usable UI component libraries with source code organized in a way that is easily upgraded to Web Component APIs.

This book includes discussion and hands-on examples of:

  • The emerging W3C Web Component browser standards
  • Using AngularJS 1.x.x directives to create Web Component ready code
  • Browser WC polyfills and frameworks including Polymer and X-Tag
  • UI component architecture that follows best practices and patterns
  • Testing, tooling, build automation, and continuous delivery for UI component libraries
  • Techniques for creating custom html tags for UX designers
  • Transforming component directives into real Web Components with angular-custom-element

Table of Contents

  • Preface
    • Release Notes
    • Conventions
    • Git Repo, Bugs, and Suggestions
  • Introduction
    • The Problem…
    • A Brief History of Front-End development for the Web
    • Why AngularJS?
    • What this Book Is and Isn’t
  • Chapter 1 - Web UI Component Architectures
    • Key Patterns in UI Component Development
    • MVC, MVP, MVVM, MVwhatever
    • Dependency Injection (IOC)
    • Observer and Mediator Patterns
    • Module Pattern
    • Loose Coupling of Dependencies
    • Summary
  • Chapter 2 - AngularJS As a UI Component Framework
    • Why AngularJS? (part 2)
    • Dynamic Views
    • Two Way Data Binding
    • Dependency Injection
    • Test Driven Development (TDD)
    • Don’t Repeat Yourself (DRY)
    • POJO Models
    • AngularJS and Other Frameworks in the Same Page
    • Forward Compatibility with W3C Web Components and MDV
    • Summary
  • Chapter 3 - AngularJS Component Primer Part One: The View
    • AngularJS Core Directives
    • Scoping Directives ng-app, ng-controller
    • Event Listener Directives
    • DOM & Style Manipulation Directives
    • Rolling Our Own Directives
    • Directive Declaration
    • Directive Naming
    • Directives Definition
    • Dependency Injection (API) Strategies
    • The Directive Lifecycle
    • Testing Directives
    • AngularJS 2.0, Web Components and Directive Re-classification
    • Summary
  • Chapter 4 - AngularJS Component Primer Part 2: Models and Scope
    • Data Models in AngularJS
    • Data Representation in the View
    • $scope creation and destruction
    • Built In $scope methods and properties
    • Decoupled Communication
    • Data Binding and Execution Context
    • Debugging Scopes and Testing Controllers
    • Summary
  • Chapter 5 - Standalone UI Components by Example
    • Building a Smart Button component
    • Directive definition choices
    • Attributes as Component APIs
    • Events and Event Listeners as APIs
    • Advanced API Approaches
    • What About Style Encapsulation?
    • Style Encapsulation Strategies
    • Unit Testing Component Directives
    • Setting Up Test Coverage
    • Component Directive Unit Test File
    • Unit Tests for our Component APIs
    • Summary
  • Chapter 6 - UI Container Components by Example
    • Defining a Set of Navigation Components
    • Building the UI Components
    • The Menu Item Component
    • Menu Item API Unit Test Coverage
    • The Dropdown Component
    • Reusing Existing Open Source Code
    • Dropdown Menu Unit Test Coverage
    • Global Navigation Bar Container
    • NavBar API Documentation
    • NavBar Unit Test Coverage
    • Summary
  • Chapter 7 - Build Automation & Continuous Integration for Component Libs
    • Delivering Components To Your Customers
    • Source Code Maintenance?
    • Tooling
    • UI Library Focused
    • Node.js and NPM
    • Task Runners and Workflow Automation
    • Grunt - The JavaScript Task Runner
    • Useful Tasks for a Component Lib Workflow
    • Gulp.js - The Streaming Build System
    • Continuous Integration and Delivery
    • Travis-CI
    • Bower Package Registry
    • Versioning
    • Salvaging Legacy Applications with AngularJS UI Components
    • Summary
  • Chapter 8 - W3C Web Components Tour
    • The Roadmap to Web Components
    • The Stuff They Call “Web Components”
    • Custom Elements
    • Shadow DOM
    • Using the <template> Tag
    • HTML Imports (Includes)
    • Some JavaScript Friends of Web Components
    • Object.observe - No More Dirty Checking!
    • New ES6 Features Coming Soon
    • Google Traceur Compiler
    • AngularJS 2.0 Roadmap and Future Proofing Code
    • Writing Future Proof Components Today
    • Summary
  • Chapter 9 - Building with Web Components Today
    • Platform.js (Webcomponents.js) - Web Components Polyfills
    • Polymer.js
    • Polymer Based Libraries
    • Mozilla X-Tags
  • Chapter 10 - Integrating Web Components with AngularJS using Angular Custom Element

About the Author

David Shapiro
David Shapiro

David Shapiro has been writing applications for the web since the days of Perl/CGI. He has provided web development and UI architecture consulting to the non-profit and enterprise software industries since 2002. Having experienced three major technology revolutions in web development, he has developed a sense of what the next revolution in web development will be, based on current trends.  He is quite excited about Web Component APIs because web developers across the globe will be able to contribute to the vocabulary of HTML.

Connect with Dave at:

https://www.linkedin.com/in/dgshapiro

https://github.com/dgs700

http://david--shapiro.blogspot.com/

https://plus.google.com/+DavidShapiro981/about

@DavidGShapiro

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub