O with occluded right edge to appear also as a C Open Web Components Guides Docs Blog Toggle darkmode

Community: Base Libraries

Resources

Base libraries

Our generator sets you up with a component built with lit-html and lit-element as base libraries. We recommend this as a general starting point. lit-html and lit-element have a strong community, making it easy to find help and examples. It is actively maintained and creates a good balance between performance, developer experience and feature richness.

Other base libraries excel at other points and could be a great fit for your project as well. Below we show a listing of base libraries sorted by weekly NPM downloads. This is a very rough metric, and should not be the only means of judging the quality of a project.

  • lit (1.972.131 weekly downloads)

    Simple. Fast. Web Components.

  • Stencil (624.552 weekly downloads)

    Stencil is a toolchain for building reusable, scalable Design Systems.

  • solid-js (238.250 weekly downloads)

    The Deceptively Simple User Interface Library

  • FAST (82.210 weekly downloads)

    The adaptive interface system for modern web experiences

  • preact-custom-element (21.431 weekly downloads)

    Generate/register a custom element from a preact component

  • atomico (6.888 weekly downloads)

    Atomico a micro-library for creating webcomponents using only functions, hooks and virtual-dom.

  • Lightning Web Components (6.564 weekly downloads)

    A Blazing Fast, Enterprise-Grade Web Components Foundation

  • Symbiote.js (5.651 weekly downloads)

    Library to create embedded components and data channels between them.

  • heresy (4.167 weekly downloads)

    Don't simulate the DOM. Be the DOM. React-like Custom Elements via the V1 API built-in extends.

  • haunted (2.094 weekly downloads)

    React's Hooks API but for standard web components and lit-html or hyperHTML

  • hyperhtml-element (1.925 weekly downloads)

    An extensible class to define hyperHTML based Custom Elements

  • hybrids (1.750 weekly downloads)

    The simplest way to create web components with plain objects and pure functions!

  • CanJS (1.433 weekly downloads)

    Build CRUD apps in fewer lines of code

  • Omi (596 weekly downloads)

    Front End Cross-Frameworks Framework

  • @skatejs/element (235 weekly downloads)

    Skate is a library built on top of the W3C web component specs that enables you to write functional and performant web components with a very small footprint.

  • µce (71 weekly downloads)

    µhtml based Custom Elements.

  • litedom (53 weekly downloads)

    A blazing fast view library to create Web Components and use Javascript Template Literals in HTML

  • swiss (27 weekly downloads)

    Functional custom elements.

  • µce-template (15 weekly downloads)

    A tiny toolless library with tools included

  • DataFormsJS (11 weekly downloads)

    Set of Web Components that can be used to build Single Page Apps (SPA), Display JSON data from API’s and Web Services, and bind data to different elements on screen. All Web Components are plain JavaScript and require no build process.

  • FicusJS (11 weekly downloads)

    FicusJS is a set of lightweight functions for developing applications using web components.

  • Joist (7 weekly downloads)

    A small (~2kb) library to help with the creation of web components and web component based applications

  • Gallop (7 weekly downloads)

    Use full power of web components

  • bay.js (6 weekly downloads)

    An easy to use, lightweight library for web-components that doesn't need a build step but can be included in a build step if you want to. It's a great way to create reusable components for your projects. It's available as a NPM package or module and doesn't use any dependencies and is around 4.5kb minified + gzipped. It also doesn't use eval or new Function so can be used in strict CSP polices without a build step. For documentation and demos go to Bayjs.org.

  • ReadyMade (3 weekly downloads)

    JavaScript microlibrary for developing Web Components with Decorators

  • slimjs (2 weekly downloads)

    a lightweight web component authoring library that provides extended capabilities for components (such as data binding) using es6 native class inheritance

  • ElemX (2 weekly downloads)

    Library for connecting MobX to native Web Components with a Vue-like template binding syntax

Note: want to add another base library to this list? Send us a pull request!