# polymer/polymer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/polymer-polymer).**

22,026 stars · 1,964 forks · HTML · BSD-3-Clause

## Links

- GitHub: https://github.com/Polymer/polymer
- Homepage: https://polymer-library.polymer-project.org/
- awesome-repositories: https://awesome-repositories.com/repository/polymer-polymer.md

## Description

Polymer is a custom element framework and web component library used to build reusable, encapsulated custom elements that function as native browser components. It serves as a system for defining public properties and attributes that trigger automatic state observation and updates within the DOM.

The project functions as a data binding library, providing a mechanism to synchronize state between internal component properties and external models via two-way data binding.

It covers the development of frontend component libraries and web component architecture, enabling the creation of modular user interfaces through the definition of custom elements with independent properties and internal state management.

## Tags

### Web Development

- [Custom Elements](https://awesome-repositories.com/f/web-development/web-standards/custom-elements.md) — Enables the creation of encapsulated, reusable web components that function as native browser elements. ([source](https://github.com/polymer/polymer#readme))
- [Component Architecture](https://awesome-repositories.com/f/web-development/component-architecture.md) — Employs a modular architecture for building user interfaces using custom elements with internal state management.
- [Custom Element Frameworks](https://awesome-repositories.com/f/web-development/custom-element-frameworks.md) — Acts as a comprehensive system for defining public properties and attributes that trigger automatic DOM updates.
- [Custom Element Registries](https://awesome-repositories.com/f/web-development/custom-element-registries.md) — Provides mechanisms to map JavaScript classes to HTML tag names via the native browser element registry.
- [Web Components](https://awesome-repositories.com/f/web-development/frontend-development-tools/frontend-frameworks/component-authoring/web-components.md) — Provides standards and utilities for building reusable and encapsulated custom elements. ([source](https://github.com/polymer/polymer#readme))
- [Observation-Based Rendering](https://awesome-repositories.com/f/web-development/web-components/component-based-rendering-engines/observation-based-rendering.md) — Implements a rendering system that automatically updates the DOM when declared properties are modified.
- [UI Component Libraries](https://awesome-repositories.com/f/web-development/ui-component-libraries.md) — Functions as a framework for building standardized sets of reusable UI widgets.

### Software Engineering & Architecture

- [Attribute Synchronization](https://awesome-repositories.com/f/software-engineering-architecture/reactive-property-systems/attribute-synchronization.md) — Synchronizes JavaScript object properties with HTML attributes to ensure state is reflected in the DOM.

### User Interface & Experience

- [Component Property Systems](https://awesome-repositories.com/f/user-interface-experience/component-property-systems.md) — Provides a system for declaring public properties and attributes that trigger automatic component updates. ([source](https://github.com/polymer/polymer#readme))
- [Data Binding](https://awesome-repositories.com/f/user-interface-experience/data-binding.md) — Provides a mechanism to synchronize state between internal component properties and external models.
- [State-Synchronized Bindings](https://awesome-repositories.com/f/user-interface-experience/data-binding-frameworks/state-synchronized-bindings.md) — Synchronizes application state with the user interface so data changes automatically update displayed elements.
- [Two-Way](https://awesome-repositories.com/f/user-interface-experience/data-binding/two-way.md) — Links internal component state to external models for immediate bidirectional updates.
- [Shadow DOM Utilities](https://awesome-repositories.com/f/user-interface-experience/shadow-dom-utilities.md) — Utilizes Shadow DOM to isolate component styles and structures, preventing global CSS conflicts.
- [Template-Based Definitions](https://awesome-repositories.com/f/user-interface-experience/component-templates/template-based-definitions.md) — Defines the structural HTML of components using templates that are stamped into the shadow root.

### Part of an Awesome List

- [Grid Systems](https://awesome-repositories.com/f/awesome-lists/devtools/grid-systems.md) — Library for creating custom web components using W3C standards.
