You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Symbiote is designed around of set of specific requirements of the micro-frontends architecture and widget building. It created to be organic part of any environment or development stack.
We spent a lot of time trying to find existing solution for that, but that was failed. The closest solution was LitElement but it has a lot of disadvantages for us, such as:
binding to Shadow DOM technology (slots and styling are not working without Shadow DOM usage)
not good for strict CSP settings (it uses an experimental API for styling, which is working in Chrome browser only, other browsers should have --unsafe-inline flag)
it doesn't have a built in solution for components interoperation and common data context
etc...
One of the other considered variants was Svelte. It promises the one of the lightest results, which can be wrapped with a standard Custom Element. But it has a not acceptable dependency to compiler. Also, it has a set of disadvantages from the debugging and testing side. And it doesn't provide any architecture solution for components external communications.
All other mainstream solutions, such as React (~40kb) or Vue.js (~25kb) are just too heavy. We cannot bring such unoptimised things to our host applications in case of light widgets.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Symbiote is designed around of set of specific requirements of the micro-frontends architecture and widget building. It created to be organic part of any environment or development stack.
We spent a lot of time trying to find existing solution for that, but that was failed. The closest solution was LitElement but it has a lot of disadvantages for us, such as:
--unsafe-inline
flag)One of the other considered variants was Svelte. It promises the one of the lightest results, which can be wrapped with a standard Custom Element. But it has a not acceptable dependency to compiler. Also, it has a set of disadvantages from the debugging and testing side. And it doesn't provide any architecture solution for components external communications.
All other mainstream solutions, such as React (~40kb) or Vue.js (~25kb) are just too heavy. We cannot bring such unoptimised things to our host applications in case of light widgets.
Beta Was this translation helpful? Give feedback.
All reactions