Web Component Architecture & Development with AngularJS
Free!
With Membership
$9.99
Suggested price

Web Component Architecture & Development with AngularJS

Building reusable UI components

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

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

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

The Leanpub 60 Day 100% Happiness Guarantee

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

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

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. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub