I love this this feel. So, we have a few different questions coming in here, some of which are related to things like our kind of existing workflows. So, some folks are wondering, for example, how would something like Tailwind fit into this picture? Is it possible to use that with React strict DOM? Yeah, I've seen some people have already created Babel transforms over the top of React strict DOM that allow you to write a Tailwind-like syntax and then that gets compiled down to the kind of code that I just showed. So, I think the way that I've been thinking about this is really we want to try and create a foundational layer that then other things can be built on top of. And as long as they sort of conform to the, you know, the semantics of what we're trying to do here, then they'll be able to be built on top.
Great. Great. Okay. And so, I guess in terms of kind of best practices for building UI libraries using React strict DOM, how would you best structure design system component libraries that have common components for both web and native? Well, the goal is that you would kind of just write your web components and they would work on native. So, hopefully, everything that you already know about building UI libraries for the web would translate. And as I mentioned, if you do need to have special implementations just for web or native, using the platform specific file extensions is how you would separate those two. Gotcha. Gotcha. Until the rest of the features are all baked in and then you don't even have to do that. Amazing.
I guess we have another question here that is sort of a compare and contrast. What do you see the relationship being between progressive web apps and React strict DOM? Are they competitors? Do they solve different problems? Are they complimentary? What are your thoughts there? Yeah, I think they're different parts of the stack. So, if you're deploying to the web, you might still want to produce a progressive web app, but the way that you write your React components is sort of separate from that. So, this is really like a library for just avoiding this separation between React DOM and React native. Having just one way that you write React code, one way that we have to teach people and machines, and trying to take the best from both. So, we think that the ubiquity of the web platform is its strength, but some of its downsides, like the lack of encapsulated styling, doesn't really align with React's component model. So, this is an attempt to bring encapsulation of styles in, just like you have encapsulation of props and everything else. And so, that's basically how I see it. And it's quite different from whether to make it a progressive web app or not. Gotcha. Well, the people want to know, will this become part of React Foundations? I don't know. I mean, I guess we'll see whether things like React native end up as part of the foundation. But I think it's good to have something like the React foundation so that projects like this and other projects from the community have a home and a source of funding.
Comments