# Frameworks

# Introduction

three-element provides Web Components, but it is not a component framework. It is, however, designed to work with any web application framework you throw at it, no matter if it's a reactive, declarative framework like React or Vue, or a more imperative-leaning toolkit like jQuery or Alpine.

Right now, there are unfortunately some caveats. Whereever three-elements can work around these, we try to do so, but sometimes some of these frameworks can simply clash with Web Components themselves (take a look at Custom Elements Everywhere, which tries to keep track of overall compatibility.) Things are generally looking up, though, with compatibility steadily improving, and some new frameworks cropping up that in fact work with Web Components directly.

On this page, we're going to try and document how to use three-elements with various frameworks. If your favorite framework is not listed, that doesn't mean that three-elements doesn't work with it! Give it a try and let us know how you fared -- we're very happy to accept PRs with changes to this page.

# Plain HTML with a dash of JavaScript

TODO

# React

TODO

# Preact

TODO

# Vue

TODO

# Svelte

TODO

# Alpine.js

TODO

# Lit-Element

TODO