A Vue 3 inspired Custom Elements toolless alternative.
µce-template is a tiny toolless library that allows developers to define components in a Vue fashion. It provides a custom built-in <template> element and can bootstrap all defined components. The library is compatible with server-side rendering (SSR) and includes a simple CLI for converting HTML pages or components into a minified version with optional Babel transpilation. It is based on Custom Elements and supports lazy loading of components, shadow DOM, and pre-defined modules. The library is lightweight, with a size that fits within a 10K gzipped budget. Its goal is to demonstrate that tools and tooling can be optional in web development.
Overall, µce-template is a lightweight and developer-friendly toolless library for defining components in a Vue fashion. It offers server-side rendering compatibility, lazy loading, and shadow DOM support. With its pre-defined modules and runtime module system, developers can easily create reactive UIs and optimize their components. The library is designed to show that tools and tooling can be optional in web development. Its installation process is simple, and it can be easily integrated into any project.
A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.
RollupJS is a popular and efficient JavaScript module bundler that takes the code from multiple modules and packages them into a single optimized file, minimizing the overall size of the application and improving its performance.
Web components provide a way to create reusable, encapsulated UI components using standard web technologies such as HTML, CSS, and JavaScript. They allow developers to create complex UI components that can be easily shared across multiple projects and frameworks. Web components are built using four main specifications: Custom Elements, Shadow DOM, HTML Templates, and ES Modules.