Skip to content
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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question around beta phase / roadmap #14

Open
richiemccoll opened this issue Apr 16, 2020 · 8 comments
Open

Question around beta phase / roadmap #14

richiemccoll opened this issue Apr 16, 2020 · 8 comments

Comments

@richiemccoll
Copy link
Contributor

Hey 馃憢

Great job 馃帀 This is a refreshing view on writing UI components.

I'm curious on what work is left for the beta phase and do you have an idea of the roadmap for the library? I'm interested in contributing and I'm sure others are too.

@brainkim
Copy link
Member

brainkim commented Apr 16, 2020

I wrote a list in the reddit post on r/javascript which I鈥檒l copy over here:

  1. More docs: I still haven鈥檛 documented a couple features like the Crank equivalent for React contexts and style props and such.
  2. More tests: I鈥檓 pretty sure my DOM renderer is gonna be buggy on a couple edge cases like html tables and SVG and I just haven鈥檛 had the time yet to figure out what to do here. Cross-browser/performance testing would also be nice. Maybe I can leverage these new stars for a browserstack/saucelabs plan.
  3. More methods on the context: This might be most approachable to work on. I was thinking we should add more methods to the this object, like I would love a fetch method which automatically aborted when the component was unmounted, or a setTimeout which automatically cancelled. Maybe we could create a strongly typed plugin system so users could write their own logic. It would be yet another tool in the toolbelt to answer for React hooks.
  4. More complete EventTarget class: Currently, we鈥檙e relying on event-target-shim, which is nice but doesn鈥檛 provide event parents or capturing. I have a hacky solution but I definitely want to get rid of the dependency and just have a solution which handles all the use-cases required by Crank.
  5. A meta-framework: If you look at the website, it鈥檚 dogfooded Crank, but it only uses the server-side renderer. I鈥檇 like to maybe expand on the code, or see if some other meta-framework which isn鈥檛 hard-coded to React can be used.
  6. Web components: I want to create imperative interfaces with Crank so it can be embedded in applications running other frameworks, and I think the WebComponent inheritance-based HTMLElement classes could definitely help us here.
  7. h alias for createElement: People are really into this for some reason, dunno why.
  8. Styled components: I really like Linaria for React. If you want to make a styled component thingy for Crank I鈥檇 be super interested.
  9. Animations: I love spring animations and I鈥檓 wondering what that looks like for Crank.
  10. Async unmounting of components: Right now, async generator components unmount asynchronously, but we throw that promise away. I want to do something with this promise for exit animations. I need to think more about the API but this would be a gamechanger.

@chiptus
Copy link
Contributor

chiptus commented Apr 17, 2020

7. h alias for createElement: People are really into this for some reason, dunno why.

that's something I saw in vue, never understood why h, but I also did it :D

@jpbow
Copy link

jpbow commented Apr 17, 2020

Threw together a thin wrapper around Emotion for styling components if anyone wants to give it shot! https://github.com/jpbow/cronk

@shirakaba
Copy link

@jpbow Loving the naming and branding

when-its-all-coming-together-oh-yeah-its-all-coming-60798512

@brainkim
Copy link
Member

@jpbow oh my god you already have a mascot and I don鈥檛 even have a logo for Crank lol

@shirakaba
Copy link

shirakaba commented Apr 17, 2020

@brainkim I'd like to put forward a vote for Kronk to be the mascot of the whole Crank ecosystem

@shirakaba
Copy link

shirakaba commented Apr 17, 2020

  • Cronk -> Kronk
  • Crank -> Clank?

Clank_from_R C_(2002)_render

@ryhinchey
Copy link
Contributor

I think it鈥檇 be great to have crank-testing-library. https://testing-library.com/docs/intro. Frameworks like React, Vue, and Riot have their own packages and it鈥檇 be a nice transition for devs who are used to testing library in their framework of choice.

I鈥檓 going to get started on this and will post an issue seeking feedback/help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants