Stencil - What is the Intent?


I read a bit about stencil and started playing around with it a bit but I am still not sure I get it. I was wondering if you can help me answer some questions.

I understand the part that it helps you create webcomponents and then you can use those components in your app by referencing the javascript file for every component that stencil generates / builds.

  1. But I also noticed in the stencil starter-app, that we have a router and the starter app looks like the end target will be a full app. Is that also the intent of Stencil to help build a full webapp with router, pages etc?

  2. Also I understand we’re using TSX in Stencil, if a component gets big the tsx file can get big. Is the best practice to keep the component as small as possible?

Thank you!

To provide 90% of the features of a heavy framework, like Angular, but to be faster and more lightweight. Part of the speed comes from a strategy to lazy load everything, all the time. (Not quite the correct phrase technically, but basically the framework only provides material to the browser when the browser requests it, and the plan is for background processes to be pushed to web workers by default.)