Alternatives to Stencil logo

Alternatives to Stencil

Svelte, React, Polymer, React Router, and styled-components are the most popular alternatives and competitors to Stencil.
89
108
+ 1
0

What is Stencil and what are its top alternatives?

Stencil combines some of the best features from traditional frameworks, but outputs 100% standards-compliant Custom Elements, part of the Web Component spec.
Stencil is a tool in the JavaScript Framework Components category of a tech stack.
Stencil is an open source tool with 12.2K GitHub stars and 760 GitHub forks. Here’s a link to Stencil's open source repository on GitHub

Top Alternatives to Stencil

  • Svelte
    Svelte

    If you've ever built a JavaScript application, the chances are you've encountered – or at least heard of – frameworks like React, Angular, Vue and Ractive. Like Svelte, these tools all share a goal of making it easy to build slick interactive user interfaces. Rather than interpreting your application code at run time, your app is converted into ideal JavaScript at build time. That means you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads. ...

  • React
    React

    Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...

  • Polymer
    Polymer

    Polymer is a new type of library for the web, designed to leverage the existing browser infrastructure to provide the encapsulation and extendability currently only available in JS libraries. Polymer is based on a set of future technologies, including Shadow DOM, Custom Elements and Model Driven Views. Currently these technologies are implemented as polyfills or shims, but as browsers adopt these features natively, the platform code that drives Polymer evacipates, leaving only the value-adds. ...

  • React Router
    React Router

    React Router is a complete routing solution designed specifically for React.js. It painlessly synchronizes the components of your application with the URL, with first-class support for nesting, transitions, and server side rendering. ...

  • styled-components
    styled-components

    Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅 ...

  • Storybook
    Storybook

    It is an open source tool for developing UI components in isolation for React, Vue, and Angular. It makes building stunning UIs organized and efficient. ...

  • Ant Design
    Ant Design

    An enterprise-class UI design language and React-based implementation. Graceful UI components out of the box, base on React Component. A npm + webpack + babel + dora + dva development framework. ...

  • Angular CLI
    Angular CLI

    A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications. You can use the tool directly in a command shell, or indirectly through an interactive UI such as Angular Console. ...

Stencil alternatives & related posts

Svelte logo

Svelte

1.6K
1.5K
490
A UI framework that compiles into tiny standalone JavaScript modules
1.6K
1.5K
+ 1
490
PROS OF SVELTE
  • 55
    Performance
  • 38
    Reactivity
  • 34
    Javascript compiler (do that browsers don't have to)
  • 34
    Components
  • 33
    Simplicity
  • 30
    Lightweight
  • 28
    Near to no learning curve
  • 26
    Fast as vanilajs
  • 26
    Real Reactivity
  • 22
    All in one
  • 18
    Use existing js libraries
  • 18
    Compiler based
  • 16
    SSR
  • 16
    Very easy for beginners
  • 16
    Scalable
  • 13
    Composable
  • 12
    Ease of use
  • 12
    No runtime overhead
  • 10
    Built in store
  • 9
    Typescript
  • 7
    Start with pure html + css
  • 7
    Best Developer Experience
  • 6
    Templates
  • 4
    Speed
CONS OF SVELTE
  • 3
    Event Listener Overload
  • 2
    Little to no libraries
  • 2
    Complex
  • 2
    Learning Curve
  • 2
    Hard to learn

related Svelte posts

Sarmad Chaudhary
Founder & CEO at Ebiz Ltd. · | 9 upvotes · 1.3M views

Hi there!

I just want to have a simple poll/vote...

If you guys need a UI/Component Library for React, Vue.js, or AngularJS, which type of library would you prefer between:

1 ) A single maintained cross-framework library that is 100% compatible and can be integrated with any popular framework like Vue, React, Angular 2, Svelte, etc.

2) A native framework-specific library developed to work only on target framework like ElementUI for Vue, Ant Design for React.

Your advice would help a lot! Thanks in advance :)

See more
Aleksander Jess
Marketer at ITMAGINATION · | 5 upvotes · 14.7K views

React is pretty much the standard nowadays. Companies of all sizes released integrations: the ecommerce ones too. I will bring up Shopify , that released their Hydrogen

There are (arguably) much better tools than React, you are right. There's Svelte (SvelteKit) , Solid.js, and more. They all suffer from morer or less the same issue, though (when it comes to SEO, at least).

The problem is not with React , it's with SPAs. It used to be (and still is sometimes) that search engines' bots wouldn't run JavaScript , meaning they wouldn't see anything on the page. Nowadays, it is said they do load it, but that takes longer than loading the HTML, which is what they are mostly interested in.

So what do you do? You use a static site generator, a prerenderer, a static site, or a server-side rendered site. Next.js does both SSG & SSR, which is why your Next.js sites should rank higher than the plain React sites (assuming the same content & structure).

I hope this answers your question.

See more
React logo

React

172.3K
138.3K
4.1K
A JavaScript library for building user interfaces
172.3K
138.3K
+ 1
4.1K
PROS OF REACT
  • 829
    Components
  • 672
    Virtual dom
  • 578
    Performance
  • 507
    Simplicity
  • 442
    Composable
  • 186
    Data flow
  • 166
    Declarative
  • 128
    Isn't an mvc framework
  • 120
    Reactive updates
  • 115
    Explicit app state
  • 50
    JSX
  • 29
    Learn once, write everywhere
  • 22
    Easy to Use
  • 21
    Uni-directional data flow
  • 17
    Works great with Flux Architecture
  • 11
    Great perfomance
  • 10
    Javascript
  • 9
    Built by Facebook
  • 8
    TypeScript support
  • 6
    Speed
  • 6
    Server Side Rendering
  • 5
    Feels like the 90s
  • 5
    Excellent Documentation
  • 5
    Props
  • 5
    Functional
  • 5
    Easy as Lego
  • 5
    Closer to standard JavaScript and HTML than others
  • 5
    Cross-platform
  • 5
    Easy to start
  • 5
    Hooks
  • 5
    Awesome
  • 5
    Scalable
  • 4
    Super easy
  • 4
    Allows creating single page applications
  • 4
    Server side views
  • 4
    Sdfsdfsdf
  • 4
    Start simple
  • 4
    Strong Community
  • 4
    Fancy third party tools
  • 4
    Scales super well
  • 3
    Has arrow functions
  • 3
    Beautiful and Neat Component Management
  • 3
    Just the View of MVC
  • 3
    Simple, easy to reason about and makes you productive
  • 3
    Fast evolving
  • 3
    SSR
  • 3
    Great migration pathway for older systems
  • 3
    Rich ecosystem
  • 3
    Simple
  • 3
    Has functional components
  • 3
    Every decision architecture wise makes sense
  • 3
    Very gentle learning curve
  • 2
    Split your UI into components with one true state
  • 2
    Recharts
  • 2
    Permissively-licensed
  • 2
    Fragments
  • 2
    Sharable
  • 2
    Image upload
  • 2
    HTML-like
  • 1
    React hooks
  • 1
    Datatables
CONS OF REACT
  • 40
    Requires discipline to keep architecture organized
  • 29
    No predefined way to structure your app
  • 28
    Need to be familiar with lots of third party packages
  • 13
    JSX
  • 10
    Not enterprise friendly
  • 6
    One-way binding only
  • 3
    State consistency with backend neglected
  • 3
    Bad Documentation
  • 2
    Error boundary is needed
  • 2
    Paradigms change too fast

related React posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 3.6M views

I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

See more
Adebayo Akinlaja
Engineering Manager at Andela · | 30 upvotes · 3.2M views

I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.

A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.

In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.

If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.

See more
Polymer logo

Polymer

558
461
122
A new library built on top of Web Components, designed to leverage the evolving web platform on modern...
558
461
+ 1
122
PROS OF POLYMER
  • 52
    Web components
  • 30
    Material design
  • 14
    HTML
  • 13
    Components
  • 5
    Open source
  • 4
    It uses the platform
  • 3
    Designer friendly. HTMLX concepts
  • 1
    Like the interesting naming convention for elements
CONS OF POLYMER
  • 1
    Last version is like 2 years ago? that's totally rad

related Polymer posts

Adam Rabinovitch
Global Technical Recruiting Lead & Engineering Evangelist at Beamery · | 6 upvotes · 123K views

At Beamery we had a large, AngularJS app, built over several years. Our clients were happy, but we were not. We had several problems: Building new features was slow. AngularJS doesn’t scale nicely. Features clash with each other. Isolation doesn’t come as standard, you have to work hard to keep features separate. It takes time to get it right. #Hiring was hard, for all the reasons listed above. The app was slower than it needed to be because AngularJS was never built for speed. We wanted to render half a million contacts, and Angular was fighting us all the way.

As time went by it become harder to find developers who would willingly choose AngularJS over React Angular 2 , Vue.js , Aurelia or Polymer .

So we faced a choice. We could throw it all away and start again, we could upgrade to Angular 5, or the awesome option - we could use micro frontends. We chose the awesome option.

See more
Ido Shamun
at The Elegant Monkeys · | 6 upvotes · 89.6K views
Shared insights
on
Vue.jsVue.jsReactReactPolymerPolymer
at

For developing our #frontend applications, we decided to use Vue.js . Being such an easy to learn library, compared to React for example, it made everything so easy. At first we started with Polymer but the existing tooling and small community at the time made us look for alternatives.

See more
React Router logo

React Router

4.8K
1.1K
14
A complete routing solution for React.js
4.8K
1.1K
+ 1
14
PROS OF REACT ROUTER
  • 14
    Because there's not alternative
CONS OF REACT ROUTER
    Be the first to leave a con

    related React Router posts

    ReactQL is a React + GraphQL front-end starter kit. #JSX is a natural way to think about building UI, and it renders to pure #HTML in the browser and on the server, making it trivial to build server-rendered Single Page Apps. GraphQL via Apollo was chosen for the data layer; #GraphQL makes it simple to request just the data your app needs, and #Apollo takes care of communicating with your API (written in any language; doesn't have to be JavaScript!), caching, and rendering to #React.

    ReactQL is written in TypeScript to provide full types/Intellisense, and pick up hard-to-diagnose goofs that might later show up at runtime. React makes heavy use of Webpack 4 to handle transforming your code to an optimised client-side bundle, and in throws back just enough code needed for the initial render, while seamlessly handling import statements asynchronously as needed, making the payload your user downloads ultimately much smaller than trying to do it by hand.

    React Helmet was chosen to handle <head> content, because it works universally, making it easy to throw back the correct <title> and other tags on the initial render, as well as inject new tags for subsequent client-side views.

    styled-components, Sass, Less and PostCSS were added to give developers a choice of whether to build styles purely in React / JavaScript, or whether to defer to a #css #preprocessor. This is especially useful for interop with UI frameworks like Bootstrap, Semantic UI, Foundation, etc - ReactQL lets you mix and match #css and renders to both a static .css file during bundling as well as generates per-page <style> tags when using #StyledComponents.

    React Router handles routing, because it works both on the server and in the client. ReactQL customises it further by capturing non-200 responses on the server, redirecting or throwing back custom 404 pages as needed.

    Koa is the web server that handles all incoming HTTP requests, because it's fast (TTFB < 5ms, even after fully rendering React), and its natively #async, making it easy to async/await inside routes and middleware.

    See more

    I'm creating a website with React in my free time, and this is my first time doing this. So far, I've worked with React and React Router, but migrating to Next.js or Gatsby would cover Routing and SEO, which I currently cannot work with. Most things I read say that Next.js is the best solution, but I am trying to decide whether it is worth the time and effort to recreate the site for SEO and speed purposes. Does anyone have suggestions?

    See more
    styled-components logo

    styled-components

    2.4K
    599
    12
    Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps...
    2.4K
    599
    + 1
    12
    PROS OF STYLED-COMPONENTS
    • 11
      Very easy to use and integrate
    • 1
      Huihui
    CONS OF STYLED-COMPONENTS
      Be the first to leave a con

      related styled-components posts

      Johnny Bell

      For Stack Decisions I needed to add Markdown in the decision composer to give our users access to some general styling when writing their decisions. We used React & GraphQL on the #Frontend and Ruby & GraphQL on the backend.

      Instead of using Showdown or another tool, We decided to parse the Markdown on the backend so we had more control over what we wanted to render in Markdown because we didn't want to enable all Markdown options, we also wanted to limit any malicious code or images to be embedded into the decisions and Markdown was a fairly large to import into our component so it was going to add a lot of kilobytes that we didn't need.

      We also needed to style how the markdown looked, we are currently using Glamorous so I used that but we are planning to update this to Emotion at some stage as it has a fairly easy upgrade path rather than switching over to styled-components or one of the other cssInJs alternatives.

      Also we used React-Mentions for tagging tools and topics in the decisions. Typing @ will let you tag a tool, and typing # will allow you to tag a topic.

      The Markdown options that we chose to support are tags: a, code, u, b, em, pre, ul, ol, li.

      If there are anymore tags you'd love to see added in the composer leave me a comment below and we will look into adding them.

      #StackDecisionsLaunch

      See more

      ReactQL is a React + GraphQL front-end starter kit. #JSX is a natural way to think about building UI, and it renders to pure #HTML in the browser and on the server, making it trivial to build server-rendered Single Page Apps. GraphQL via Apollo was chosen for the data layer; #GraphQL makes it simple to request just the data your app needs, and #Apollo takes care of communicating with your API (written in any language; doesn't have to be JavaScript!), caching, and rendering to #React.

      ReactQL is written in TypeScript to provide full types/Intellisense, and pick up hard-to-diagnose goofs that might later show up at runtime. React makes heavy use of Webpack 4 to handle transforming your code to an optimised client-side bundle, and in throws back just enough code needed for the initial render, while seamlessly handling import statements asynchronously as needed, making the payload your user downloads ultimately much smaller than trying to do it by hand.

      React Helmet was chosen to handle <head> content, because it works universally, making it easy to throw back the correct <title> and other tags on the initial render, as well as inject new tags for subsequent client-side views.

      styled-components, Sass, Less and PostCSS were added to give developers a choice of whether to build styles purely in React / JavaScript, or whether to defer to a #css #preprocessor. This is especially useful for interop with UI frameworks like Bootstrap, Semantic UI, Foundation, etc - ReactQL lets you mix and match #css and renders to both a static .css file during bundling as well as generates per-page <style> tags when using #StyledComponents.

      React Router handles routing, because it works both on the server and in the client. ReactQL customises it further by capturing non-200 responses on the server, redirecting or throwing back custom 404 pages as needed.

      Koa is the web server that handles all incoming HTTP requests, because it's fast (TTFB < 5ms, even after fully rendering React), and its natively #async, making it easy to async/await inside routes and middleware.

      See more
      Storybook logo

      Storybook

      1.8K
      630
      0
      Build bulletproof UI components faster
      1.8K
      630
      + 1
      0
      PROS OF STORYBOOK
        Be the first to leave a pro
        CONS OF STORYBOOK
          Be the first to leave a con

          related Storybook posts

          Robert Zuber

          We are in the process of adopting Next.js as our React framework and using Storybook to help build our React components in isolation. This new part of our frontend is written in TypeScript, and we use Emotion for CSS/styling. For delivering data, we use GraphQL and Apollo. Jest, Percy, and Cypress are used for testing.

          See more
          Shared insights
          on
          BitBitStorybookStorybook

          Hi Team,

          I need a UI component library where i should be able to integrate with the Angular framework and develop components and again i should be able to deploy them in an isolated environment which should not impact the app.

          I am using Storybook, due to some glitch in storybook new version, We could not able to see the source code in the deployed version.

          We mainly use storybook for demo purposes where we show the code as well. So please help, can I use Bit for my requirement?

          See more
          Ant Design logo

          Ant Design

          1.3K
          1.7K
          221
          A set of high-quality React components
          1.3K
          1.7K
          + 1
          221
          PROS OF ANT DESIGN
          • 47
            Lots of components
          • 33
            Polished and enterprisey look and feel
          • 21
            TypeScript
          • 20
            Easy to integrate
          • 18
            Es6 support
          • 17
            Typescript support
          • 17
            Beautiful and solid
          • 16
            Beautifully Animated Components
          • 15
            Quick Release rhythm
          • 14
            Great documentation
          • 2
            Easy to customize Forms
          • 1
            Opensource and free of cost
          CONS OF ANT DESIGN
          • 24
            Less
          • 10
            Large File Size
          • 4
            Poor accessibility support
          • 3
            Dangerous to use as a base in component libraries

          related Ant Design posts

          Sarmad Chaudhary
          Founder & CEO at Ebiz Ltd. · | 9 upvotes · 1.3M views

          Hi there!

          I just want to have a simple poll/vote...

          If you guys need a UI/Component Library for React, Vue.js, or AngularJS, which type of library would you prefer between:

          1 ) A single maintained cross-framework library that is 100% compatible and can be integrated with any popular framework like Vue, React, Angular 2, Svelte, etc.

          2) A native framework-specific library developed to work only on target framework like ElementUI for Vue, Ant Design for React.

          Your advice would help a lot! Thanks in advance :)

          See more

          Hello, A question to frontend developers. I am a beginner on frontend.

          I am building a UI for my company to replace old legacy one with React and this question is about choosing how to apply design to it.

          I have Tailwind CSS on one hand and Ant Design on the other (I didnt like mui and Bootstrap doesn't seem to have enterprise components as ant) As far as I understand, tailwind is great. It allows me to literally build an application without touching the css but I have to build my own react components with it. Ant design or mantine has ready to use components which I can use and rapidly build my application.

          My question is, is it the right approach to: - Use a component framework for now and replace legacy app. - Introduce tailwind later when I have a frontend resource in hand and then build own component library

          Thank you.

          See more
          Angular CLI logo

          Angular CLI

          898
          740
          0
          A command line interface for Angular
          898
          740
          + 1
          0
          PROS OF ANGULAR CLI
            Be the first to leave a pro
            CONS OF ANGULAR CLI
              Be the first to leave a con

              related Angular CLI posts

              Vaibhav Taunk
              Team Lead at Technovert · | 31 upvotes · 3.6M views

              I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

              See more

              Picked Angular 2 as framework since Angular CLI made it easy to get started on a self-contained frontend web project with TypeScript for easier development -- thanks to intellisense extensions for Visual Studio Code, hassle-free browser compatibility with the built-in Babel transpiler and packaging with the built-in Webpack configuration.

              See more