At least for now it's pretty rough around the edges, so I'm hoping to underpromise and overdeliver
538 karma · joined February 10, 2016
At least for now it's pretty rough around the edges, so I'm hoping to underpromise and overdeliver
There's a basic tailwind integration already - on some blocks you can write tailwind classes to style them e.g. #bg-red-500, #shadow. But the code export still includes Chakra UI components. At some point we want to support exporting plain html/React + tailwind without Chakra or other design systems.
Honestly the current version is an MVP and probably won't deliver on the promise just yet. But I'm confident we can make it good enough to fill that gap in tooling.
If you get stuck or don't like how things work, feel free to throw feedback at us. We've added/updated a lot of stuff based on what the first few people have suggested already.
I definitely want to support more design systems, including higher fidelity ones. I started with Chakra due to its popularity and simplicity, but agree that visually it's not the most compelling demo.
I think the people who will get the most value from what Noya can do today are founders, PMs, researchers, and engineers - people who want to show a mockup to their team or customers, but who don't want to spend hours in Figma.
Part of the goal, which I think could be valuable to designers too, is to help smaller companies leverage design systems without needing a person/team to support them. E.g. Airbnb had a design system team AND a design tools team, and I think that's a big part of what made it work. At smaller companies, trying to use a design system without the proper support can often make things worse. We think Noya might fill that gap. With Noya, a smaller company could make mockups and prototypes with their existing React component library, without having to maintain a separate Figma library.
My cofounder David worked on the Airbnb sketching interfaces project: https://airbnb.design/sketching-interfaces/. But mostly the output of that plugged into the higher fidelity (internal) design tools that David and I were building.
Edit: I didn't know HN doesn't support emojis, cause I just added one but it got stripped out lol
That's one of the things I really missed while working at a big co like Airbnb. The infra team sat separately (depending on the re-org, in a different building) from the design team. I feel like so much great stuff happens when sitting side-by-side.
At the css level, "top-level" components are absolute positioned, but nested components are layed out with flexbox.
There's no way to bring your own React component library yet, but once that's possible, you can always make things responsive in the library itself too.
The app frontend is open source while the backend is closed source, at least for now. It should run without the backend, but some things like sharing projects won't work. I'm planning to publish the individual frontend packages to npm as an "SDK for building design tools", so anybody can import "noya-canvas", "noya-renderer", etc, to build their own design tool.
Providing your own design system is definitely on the roadmap! We made a prototype of being able to wireframe with your existing components within a NextJS app - it was pretty cool, and we want to explore that more.
Facebook's own tutorial is quite good I think (caveat: I wrote some parts of it), so I would definitely recommend going through that first. It's a really great overview of most React Native concepts.
This gives more in-depth and hands-on instructions. E.g. creating a project from scratch and building it to completion, one step at a time.
reactnative.com is an aggregator of useful topics, news, and links (a few of which are tutorials), so it's a bit different, but also very useful when getting started.
These are the only two so far, but I have a few others in mind. I really like how these have turned out, and I like this style of guide in general.
I have both "Quick Start" for CRA, and then the more detailed coverage of npm, Webpack, and Babel under "Build Tools". In most parts of the guide I make a more opinionated choice--however, in this case I leave it to the reader to decide how to set up, since both are valuable for different reasons. I briefly compare the two in "Environment", but it might be worth explaining in more depth.
CRA is amazing for new apps. Yet for somebody trying to learn React to bring it into their workplace, CRA may not make sense.
I'd also love to dive deeper into Webpack and Babel, but don't want the guide to slow down too much before getting into React.
¯\_(ツ)_/¯
Thanks for the great feedback! I should probably link to the React Native version somewhere.
I think between Sketch and Create-React-Native-App, you guys are solving the single biggest problem in React Native right now: getting started. The relatively complex environment setup really discourages newcomers. Once they try it in the browser first, they're sure to love it :) After that, Create-React-Native-App makes setting up a breeze.
I plan on using both of these things in my React Native classes, since they're going to save a lot of time and effort!
Ideally web is just another taraget :) https://github.com/necolas/react-native-web
That said, while writing a website with react-native-web is potentially interesting for new sites, it can be less worthwhile for an existing site to just embed a little bit (which is one of the huge values of React). It's also still very experimental. But I suspect it will be supported in a huge way soon.