StencilJS
StencilJS is a JavaScript compiler that creates custom element (web components).[3] It takes in TSX files, (which are basically JSX with TypeScript) and then generate 100% standards-based Web Components that run on both modern browsers and legacy browsers, usable with any web framework including Angular, React, and Vue.js.[4][5] StencilJS relies primarily on the power of browsers and the web component specification.
Original author(s) | Adam Bradley |
---|---|
Developer(s) | Ionic (mobile app framework) |
Initial release | May 20, 2017 |
Repository | StencilJS Repository |
Written in | TypeScript |
Platform | JavaScript engine |
Size | 16.5 KB[1] |
Type | Web framework |
License | MIT License[2] |
Website | stenciljs |
StencilJS helps developers and teams build and share custom components (Web Components), that are web framework agnostic.[6][7] Since StencilJS generates standards-compliant Web Components, the components built with StencilJS work with many popular frameworks. While Web Components can be paired with any JavaScript framework, StencilJS has built-in special-purpose bindings to deliver the more advanced features, enterprise teams expect when building applications in Angular, React, and Vue.js. StencilJS generate automatically-updated documentation from JSDoc comments used with code. Its source code is licensed under MIT License and hosted on GitHub.[8] The main goal of enterprise teams to use StencilJS is, to build design systems and component libraries, that are web framework agnostic.[9][10] StencilJS can be used to build Progressive web app (PWA).[11][12]
StencilJS provides a build-time abstraction with framework-level productivity. StencilJS is not a library or a framework, instead it is a building tool that allows to use a high-level abstraction to define UI components and to generate pure JavaScript code implementing standard-based Web Components. The compiled code runs in all major browsers. StencilJS generates framework-specific wrappers that allow custom elements developed, to be used with any framework, whether its Angular, React, or Vue.js.[13] Liberty Mutual Ins. Group's Design System FLUID (Frontend Library for User Interface Development) is built using StencilJS. The music streaming platform Amazon Music is built using StencilJS.
History
StencilJS was built by the Ionic (mobile app framework) team.[14][15] The beta version of StencilJS was released in 2017.[16] Stencil version one was officially released on 3 June 2019. Ionic 4 was built using StencilJS.[17]
See also
- Svelte
- Lit Element
- SkateJS
References
- "Stencil/core@3.2.2". BundlePhobia. May 8, 2023.
- "Stencil Maintenance and Support Status".
- "CSS-in-JS with StencilJs". 31 January 2020.
- "Stencil.js: it's finally time for vanilla web components!". 19 July 2019.
- "Publishing and Integrating a StencilJS Web Component in React". 3 October 2019.
- "Web Components & Stencil.js - Build Custom HTML Elements".
- "My First Experience with StencilJS". 8 March 2020.
- "GitHub - StencilJS Repository/stenciljs: toolchain for building scalable, enterprise-ready component system". January 11, 2020 – via GitHub.
- "Design Systems: Building a Cross-Functional UI Library with Stencil.js". 10 March 2021.
- "Creating a Reusable Web Component with StencilJS". 3 October 2019.
- "Building a PWA with Stencil: An Introduction to StencilJS".
- "Build A Fast Offline-First PWA with StencilJs". 12 October 2017.
- "Framework agnostic component libraries with StencilJs and Nx".
- "Building Micro Frontends with Stencil Web Components". 9 February 2022.
- "Stencil Readme".
- "Web Component Solutions: A Comparison". April 2021.
- "Introduction to Stenciljs". 9 August 2018.