-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Quest: Initial Prototype #1
Comments
This is very open ended. I think some ideas need to thought about first. Specifically that the Glimmer-VM is currently designed to manage rendering from the top down holistically. What I mean by that is Each component that Glimmer renders is invoked by another parent Glimmer Component making the Glimmer-VM the main rendering engine for the entire hierarchy. Obviously there is a top mount point but once in there it is usually Glimmer all the way down. React is like this to. However, thinking about this more, if a Glimmer component mounted to its own custom element it could be a self contained tree much like an island. The more I think about it it would mean that a Glimmer Component would have two modes. If added to the DOM via Basically when the Glimmer-VM renders a Glimmer Component I think most of all what you mention above is available as is and only needs a Example: FooBar<div ...attributes>
I am just a Glimmer component
<FooBaz @note="this is another glimmer component" />
<baz-frotz>
This is a glimmer component but lacks all the glimmer parts as it is treated like any other Vanilla Element.
</baz-frotz>
</div> Then in the VanillaJS page: FooBar's Meanwhile, BazFrotz's |
I think our fist step is to see if we can get a non ember Glimmer app to mount to it's own shadowDOM via a But I do think it is important to keep the invocation of a |
What things do we need to compile, and how?
Features that don't exist or have direct equivalents will need to be compiled to lower-fidelity native web-component behaviors and APIs,
Yield and Named Yield
Blocks and named blocks / slots can provide data back to the caller
Potentially:
https://fancy-pants.js.org/module-component-Component.html#yields
...attributes
Applying all attributes on a specific element within the component.
Currying components, modifiers, helpers
Yielding pre-wired up components, modifiers, and helper-functions to the caller.
Could maybe do https://lit.dev/docs/data/context/
Reactivity
Optimized minimal updates to the DOM when data changes
Template Control Flow
ifs, each, etc
The text was updated successfully, but these errors were encountered: