Web Component Architecture & Development with AngularJS
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
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