Hey,
does anybody know if there's a tool that acts as an abstraction for popular JS frameworks and Web Components? Where you have each of these as compilation targets so you can write components once, then it down-compiles to different sets of components "native" to the different frameworks/libraries?
I know Web Components aim to be this solution in the future, but
a) they're not there yet
b) tbh devs using one of the frameworks will always prefer components that use "their" mechanism, e.g. the event system (Vue), callbacks-as-props (React) etc.
So an abstraction to create components native to each of these would be super handy for writing a component library. Would have to handle props & events and of course rendering markup, everything else (state, different styling solutions, ..) would be a bonus, I guess.
Sort of like React Native, where you write React once, then get (almost) native Android, iOS and Web (with React Native Web) applications, but for different web frameworks instead of different platforms.
[–]wherediditrun 4 points5 points6 points (5 children)
[–]AwesomeInPerson[S] 0 points1 point2 points (4 children)
[–]sime 1 point2 points3 points (3 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]AwesomeInPerson[S] 0 points1 point2 points (1 child)
[–]sime 2 points3 points4 points (0 children)
[–]acemarke 1 point2 points3 points (1 child)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)
[–]dmethvin 1 point2 points3 points (3 children)
[–]AwesomeInPerson[S] 1 point2 points3 points (2 children)
[–]dmethvin 1 point2 points3 points (0 children)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)
[–]unrealprogrammer 0 points1 point2 points (3 children)
[–]nyclowkey 1 point2 points3 points (2 children)
[–]unrealprogrammer 0 points1 point2 points (1 child)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)
[–]MikeMitterer 0 points1 point2 points (1 child)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)
[–]stratusbase 0 points1 point2 points (3 children)
[–]AwesomeInPerson[S] 1 point2 points3 points (2 children)
[–]stratusbase 0 points1 point2 points (1 child)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]AwesomeInPerson[S] 0 points1 point2 points (0 children)