console
unocss
console | unocss | |
---|---|---|
11 | 56 | |
107 | 15,557 | |
10.3% | 2.2% | |
9.7 | 9.7 | |
1 day ago | 1 day ago | |
TypeScript | TypeScript | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
console
-
Oxide Cloud Computer. No Cables. No Assembly. Just Cloud
>https://console-preview.oxide.computer/
That's pretty cool! The design language is a nice touch for sure.
-
Storybook 8
I've used Storybook during development for a while now and the use case you present is how the Storybook is pitched. I actually agree about the simplicity of discovering the components. What I disagree with, though, is that I can't see value of "develop & test your UI independently from your app" part. It forces me to decouple the state from a component and this in turn adds unnecessary complexity to the architecture.
I'm going to use Oxide console [1] as an example because it has a really good setup of MSW + OpenAPI autogenerated mocks (which means that it doesn't need any complete backend, just a defined contract).
Consider this fairly simple page [2]. If I'm using the Storybook pattern, I'm keeping all of the state outside of the component, which means I now have to manually memoize every single variable defined before the return to make sure that the component doesn't do any unnecessary re-renders. This includes `intervalPicker`, `commonProps`, `setFilterId`, every return of `useDateTimeRangePicker`. With MSW I have benefits not needing the API, testing in real production app, using the same exact mocks for unit tests and development.
[1]: https://github.com/oxidecomputer/console
[2]: https://github.com/oxidecomputer/console/blob/main/app/pages...
- Tailwind CSS v4.0.0 Alpha
-
Remix Vite Is Now Stable
SPA mode (what I assume you mean by BFF mode) is brand new, so almost nobody has used it. However, a close example would be the Oxide web console, which we build as an SPA because we want to serve it as static assets from a Rust backend. It's very close to your suggested stack: React + React Router + Tanstack query + zustand, though importantly we also use React Router's loaders to give the app a better-than-SPA feel on navigations. I do plan on moving it to Remix SPA mode when I get a chance, but like I said the result should be very similar so it's not that high a priority for me. If I were starting from scratch I'd probably use Remix SPA.
Repo: https://github.com/oxidecomputer/console/
Live demo here with in-browser MSW mock API: https://oxide-console-preview.vercel.app
-
Oxide: The Cloud Computer
VPS providers are nice, but they don't provide the same cloud-level capabilities that Oxide offers. Check out the console to get an idea of what I mean (this is a demo with mock data): https://oxide-console-preview.vercel.app/
-
Mock Service Worker(msw) releases 2.0
Yeah, basically. We do it with a function call where the argument to the function is that interface representing all the API endpoints. `makeHandlers` handles parsing path params, query params, and request body and passes them to each endpoint handler. So the runtime validation of request bodies is also generated — we generate a zod schema for each request body in the OpenAPI definition and use it to parse the actual request body that comes in.
big function call https://github.com/oxidecomputer/console/blob/bd65b9da7019ad...
automatic body parsing and argument passing: https://github.com/oxidecomputer/console/blob/bd65b9da7019ad...
When an endpoint gets added to the spec, we can rerun the generator and get type errors in the `makeHandlers` telling us endpdoints are missing.
unocss
-
Tailwind CSS v4.0.0 Alpha
I wish tailwind would support attributify like https://github.com/unocss/unocss, which is much more readable for complex layouts:
link
- UnoCSS — an Instant On-Demand Atomic CSS Engine
-
Catalyst – Tailwind CSS Application UI Kit
I feel the same about people praising Tailwind.
Tailwind (and similar, I tend to use https://unocss.dev/) is not good for your frontend architecture BUT they allow you to be so fast, that it negates the benefits.
For a job well done, I'd follow the principles of https://maintainablecss.com/
-
What do you think we can do better to improve Vue position in the frontend space as a dominant UI framework?
I think UnoCss is may be better than Tailwind already and has a good Vue integration https://unocss.dev/
-
~~New~~ Old way to write CSS
The most popular tools that implement this approach are: Tailwind, WindiCSS, UnoCSS.
-
Which is best for DX and efficiency, TailwindCSS, UnoCSS, PandaCSS, or the new MasterCSS
- UnoCSS: https://unocss.dev/
-
A design system for the federal government
haha, fair point. Still, I'm on the fence about how utility components are namespaced in USWDS. Perhaps giving users the flexibility to define the namespace might work better? One thing that bugs me is the absence of class-sorting like we have in TailwindCSS. Plus, there are some gaps I've noticed in USWDS. The naming, especially when comparing "padding-x-2" and "p-x-2", can be really annoying when switching around, maybe that could also be an option for the developer or project. Similar to the ideas antfu has on uno.css https://unocss.dev/ ♥
-
Modern CSS Framework or Library for Static Websites?
UnoCSS is a popular option
-
Vrite Editor: Open-Source WYSIWYG Markdown Editor
UnoCSS — for styling with Tailwind-like atomic CSS;
-
Why I Switched From Neovim to VSCode
Some exceptional libraries and frameworks only support VSCode, which you could argue is a bad thing, but it makes sense, VSCode is the most popular code editor after all. For example UnoCSS only has a VSCode extension, and it's my favourite way to write CSS. Astro has a LSP but I've found that the experience in VSCode is much better than in Neovim.
What are some alternatives?
orval - orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺
Tailwind CSS - A utility-first CSS framework for rapid UI development.
meetup-contacts-app-2021 - Modern, structured React application demo with pages, services. An Opinionated React App template for large projects.
windicss - Next generation utility-first CSS framework.
cio - Rust libraries for APIs needed by our automated CIO.
tail-kit - Tail-kit is a free and open source components and templates kit fully coded with Tailwind css 3.0.
moonfire-nvr - Moonfire NVR, a security camera network video recorder
unplugin-vue-components - 📲 On-demand components auto importing for Vue
manifold-api - Manifold API Client Bindings
Quasar Framework - Quasar Framework - Build high-performance VueJS user interfaces in record time
oxide.ts - TypeScript client for the Oxide API
pico - Minimal CSS Framework for semantic HTML