Coder Social home page Coder Social logo

lenamax2355 / webcomponents-the-right-way Goto Github PK

View Code? Open in Web Editor NEW

This project forked from web-padawan/awesome-web-components

0.0 0.0 0.0 238 KB

This is a guide intended to introduce to Web Components. Everyone can contribute here!

License: MIT License

webcomponents-the-right-way's Introduction

Web Components the Right Way

Awesome

A curated list of awesome Web Components resources.

Web Components — a suite of different technologies allowing you to create reusable custom elements — with their functionality encapsulated away from the rest of your code — and utilize them in your web apps.

Contents

Web Components the Right Way was made with love by Mateus Ortiz and maintained by Serhii Kulykov

Introduction

Standards

Custom Elements

Custom Elements provide a way for authors to build their own fully-featured DOM elements.

Shadow DOM

Shadow DOM describes a method of combining multiple DOM trees into one hierarchy and how these trees interact with each other within a document, thus enabling better composition of the DOM.

HTML Templates

<template> element is used to declare fragments of HTML that can be cloned and inserted in the document by script.

CSS Shadow Parts

CSS Shadow Parts allow developers to expose certain elements inside Shadow DOM for styling purposes.

Polyfills

Custom Elements polyfills

Customized Built-in Elements polyfills

Shadow DOM shims

HTML Templates polyfills

Guides

Accessibility

Best Practices

Codelabs

Examples

  • generic-components - Collection of generic web components with a focus on accessibility, and ease of use.
  • howto-components - Collection of web components that implement common web UI patterns.
  • open-wc code examples - Collection of best practices and design patterns for developing web components.
  • vanilla-retro-js - Vanilla JS UI component library of HTML deprecated tags.
  • web-components-examples - Series of web components examples, related to the MDN web components documentation.

Articles

Architecture

Interoperability

Limitations

Styling

Real World

Case Studies

Components

  • <api-viewer> - API documentation and live playground for Web Components.
  • <chess-board> - Standalone chess board web component.
  • <css-doodle> - Web component for drawing patterns with CSS.
  • <dark-mode-toggle> - Custom element that allows to create a dark mode toggle or switch.
  • <emoji-picker> - Lightweight emoji picker, distributed as a web component.
  • <fg-modal> - Accessible modal dialog web component.
  • <file-viewer> - Web component built with Svelte to view files.
  • <json-viewer> - Web component to visualize JSON data in a tree view.
  • <lite-youtube> - Lite YouTube embed with a focus on visual performance.
  • <midi-player> - MIDI file player and visualizer web components.
  • <model-viewer> - Web component for rendering interactive 3D models.
  • <player-x> - Media player web component.
  • <progressive-image> - Custom element to progressively enhance image placeholders.
  • <range-slider> - Accessible range slider custom element with keyboard support.
  • <rapi-doc> - Web component for creating documentation from OpenAPI Specification.
  • <shader-doodle> - Web component for writing and rendering shaders.
  • <trix-editor> - Rich text editor custom element for everyday writing.
  • <vime-player> - Customizable, extensible, accessible and framework agnostic media player.
  • <web-vitals> - Bring web vitals quickly into your page using custom elements.

Component Libraries

  • AMP - Web component framework for easily creating user-first websites, stories, ads, emails and more.
  • Apollo Elements - Custom elements for using Apollo GraphQL with various web components libraries.
  • AXA Pattern Library - AXA CH UI components library built with Web Components.
  • Blackstone UI - Web components for creating interfaces by Blackstone Publishing.
  • Blaze UI Atoms - Set of web components powered by Blaze CSS.
  • Brightspace UI core - Collection of web components for building Brightspace applications.
  • Clever components - Collection of Web Components made by Clever Cloud.
  • DataFormsJS - Standalone Components for SPA routing, displaying data from web services, and more.
  • elements-sk - Collection of custom elements for "a la carte" web development.
  • github-elements - GitHub's Web Component collection.
  • Elix - High-quality, customizable web components for common user interface patterns.
  • Immersive Custom Elements - Set of web components for embedding immersive (VR & AR) content.
  • Iooxa - Web components for interactive scientific writing, reactive documents and explorable explanations.
  • Joomla UI custom elements - Compilation of Joomla 4 Custom Elements.
  • Ketch.UP - Web components library for Sme.UP.
  • Lion Web Components - Set of highly performant, accessible and flexible Web Components.
  • LRNWebComponents - ELMS:LN produced web components for any project.
  • Lume - Custom elements for defining 2D or 3D scenes rendered with CSS3D or WebGL.
  • Microsoft Graph Toolkit - Collection of web components for the Microsoft Graph.
  • Nightingale - Data visualisation web components for the life sciences.
  • Nuxeo Elements - Components for building web applications with Nuxeo using Web Components.
  • Open Business Application Platform Web Components - Collection of web components designed for business applications.
  • Pixano Elements - Re-usable web components dedicated to data annotation tasks.
  • Shoelace - A forward-thinking library of web components.
  • Smart Web Components - Web components for business applications.
  • TEI Publisher Components - Collection of web components used by TEI Publisher and apps generated by it.
  • Tradeshift Elements - Reusable Tradeshift UI Components as Web Components.
  • Vaadin components - Evolving set of high-quality web components for building business web applications.
  • Warp View - Collection of charting web components for Warp 10.
  • Wired Elements - Set of common UI elements with a hand-drawn, sketchy look.
  • Wokwi Elements - Web Components for Arduino and various electronic parts.
  • XWeather - Collection of web components implementing portions of the OpenWeatherMap API.

Design Systems

Use Cases

Libraries

Class Based

  • Corpuscule - Small Web Components framework based on decorators.
  • DNA - Progressive Web Components library.
  • FAST Element - Lightweight library for building performant, memory-efficient, standards-compliant Web Components.
  • LitElement - Simple base class for creating fast, lightweight web components. Part of the Polymer Project.
  • Lightning Web Components - blazing fast, enterprise-grade Web Components foundation.
  • Omi - Next generation web framework in 4kb JavaScript (Web Components + JSX + Proxy + Store + Path Updating).
  • Panel - Web Components + Virtual DOM: web standards for powerful UIs.
  • Polymer - Original web component library by the Polymer Project authors.
  • Skate - Web component library focusing on a functional rendering pipeline and a small footprint.
  • slim.js - Fast & Robust Front-End Micro-framework based on modern standards.
  • Stencil - Compiler for generating Web Components.
  • Tonic - Minimalist, stable, audit friendly component framework.

Functional

  • atomico - Small library for the creation of interfaces based on web components using functions and hooks.
  • fuco - Functional component like React, but for Web Components.
  • haunted - React's Hooks API implemented for web components.
  • hybrids - UI library for creating Web Components with simple and functional API.
  • Solid - Declarative JavaScript library for creating user interfaces.

Integrations

Benchmarks

Frameworks

Angular

React

Vue

Svelte

Ecosystem

Starter Kits

Tools

Books

Tutorials

Insights

Podcasts

Presentations

Talks

Usage Metrics

Proposals

Form-associated Custom Elements

Custom State Pseudo class

Constructable Stylesheet Objects

Miscellaneous

  • bruck - Prototyping system built with web components and the Houdini Paint API.
  • Vaadin Directory - Publish, discuss and rate web components
  • webcomponents.org - Discuss & share web components.

History

The articles below represent a long story of the Web Components specifications on the way towards the standardization. Some of them refer to earlier, so-called "v0" Shadow DOM and Custom Elements specs, and abandoned HTML Imports spec. These materials are here for historical reasons only, they are grouped by years and listed in chronological order.

2019

2018

2017

2016

2015

2014

2013

2012

2011

Who To Follow

Polymer
Stencil
open-wc.org
webcomponents.dev
Justin Fagnani
Viljami Salminen
Jan Miksovsky
Serhii Kulykov

License

Copyright 2014-2018, All rights reserved.

Code licensed under the: MIT license

@author Mateus Ortiz [email protected]

webcomponents-the-right-way's People

Contributors

aelbore avatar bmarkov avatar brylie avatar chrisbateman avatar conradsollitt avatar corocoto avatar georges-gomes avatar gpoussel avatar jonisar avatar kaytcat avatar lannonbr avatar leggetter avatar marcusnoble avatar mateusortiz avatar readmecritic avatar rodrigo-garcia-leon avatar s-kulikov avatar sergicontre avatar stefannieuwenhuis avatar tenphi avatar thepassle avatar thisisbinh avatar web-padawan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.