welder 3 hours ago

The landscape is very crowded. For example, I've tried all of these:

- https://ui.shadcn.com/ *

- https://daisyui.com/

- https://www.ripple-ui.com/

- https://flowbite.com/

- https://tailblocks.cc/

- https://headlessui.com/

* Finally settled on this one because I can edit the components easily if needed. It's basically a code generator not a component library.

I'm already set on shadcn, but still have to ask what this one does better/different?

  • ajaypatel9016 a few seconds ago

    Hello welder,

    Thanks for sharing your thoughts.

    Obviously, shadcn is the best library.

    FlyonUI is designed to combine the best of both worlds: the aesthetic appeal of semantic classes and the powerful functionality of JS plugins.

    Why should I use FlyonUI? Using Tailwind CSS alone may lead to cluttered HTML with numerous utility classes, which can be a nightmare to maintain.

    Apart from that Tailwind CSS or DaisyUI doesn’t provide any interactive headless JavaScript components like accordion, overlay, dropdowns, etc…

    This is where FlyonUI shines.

    FlyonUI brings together the beauty of semantic classes and the interactive headless JavaScript plugins, offering you a powerful toolkit to build stunning, interactive user interfaces with ease.

  • phforms 2 hours ago

    I love the approach of shadcn and the fact that they use Radix primitives, which have a focus on accessibility. But I wish they would have a pure CSS option without tailwind style classes. It took me some time to translate the classes shadcn uses from tailwind to CSS (which sometimes require more research) and the variables for colors, sizes, etc. into the CSS-to-js system I use (which is stitches - yes, its deprecated, but still the best one I know).

    Tailwind is nice for prototyping and simple projects, but often I find that it obscures things too much and when I need more control over the CSS it is too abstract and awkward to use.

    • worble 2 hours ago

      >Tailwind is nice for prototyping and simple projects

      That's interesting because I find it quite the opposite, if all I'm doing is a quick prototype then the last thing I want to do is spend hours creating a ton of components with tailwind! I've often gotten extremely frustrated that it completely nukes basic browser styles when all I'm trying to see what it'd look like if I had some text, a form and maybe a picture on the page.

  • makingstuffs 3 hours ago

    It was ShadCN which convinced me that there is a lot of utility in Tailwind TBH. Absolutely love the whole 'just copy the component to my repo' concept. Plate JS follows the same and uses the same components but is a WYSIWYG editor: https://platejs.org/

  • Saanvi001 an hour ago

    In Shadcn you will have to style the components manually while Flyon UI provides styled-components. You will get Semantic classes as well.

  • whazor 3 hours ago

    It would be nice if shadcn became the standard and you could copy components from any tailwind component library.

    Technically, this would mean that all these component libraries allow you to copy-paste their components, and additionally there would be a 'standard' in theme token naming.

    • wg0 3 hours ago

      It could also be nice if it were pure HTML instead of React.

      • crucialfelix 3 hours ago

        Many of the components in shadcn are implemented with radix components which have the js functionality.

        I too have been wanting html versions of some simple non functional ones for use in Django.

        Daisy UI is great because it just makes custom classes using tailwind @apply so you can use them in react or server side html.

      • whazor an hour ago

        These components are interactive, but you can copy them to HTML by inspecting them via your browser.

fermigier 2 hours ago

I'm worried about the license.

Flyon contains code from Preline which is "dual licensed" under the MIT license and a proprietary "fair" license.

> Preline UI is free for both personal and commercial projects, released under dual license terms "MIT" and "Preline UI Fair Use License".

See: https://preline.co/docs/license.html

They don't explain if "dual license" means "and" or "or". I suspect "and", because otherwise, it wouldn't make sense since MIT is one of the less restrictive open source licenses.

If it's the case, neither Flyon nor Preline are open source.

  • ajaypatel9016 an hour ago

    Hello Fermigier,

    Thank you for sharing your input.

    You’re correct that Preline has a dual license (MIT) allowing usage for both personal and commercial projects.

    We've confirmed with Preline and they have implemented this license just to restrict those who utilize their code without proper attribution.

    FlyonUI utilizes the Preline JS plugins to enhance the functionality of its semantic components.

    As a result, it also adheres to the same licenses. For more details, please visit: https://flyonui.com/docs/getting-started/license/

sureglymop 3 hours ago

This looks really good and I especially like that you also thought about "Third party plugins" and included that in the docs. Being able to integrate both fullcalendar and a wysiwyg editor easily is definitely a headstart and something that is a point of friction with most of these component libraries!

I can't use it yet, since the docs are still missing the part about using this with svelte, but good to know you are working on that.

  • devsoul 3 hours ago

    Thank you for the feedback! I'm glad to hear that you found the inclusion of third-party plugins helpful. We understand that seamless integration is often a point of friction, so we've made it a priority to simplify that process.

    That's the reason we have said "Easiest Tailwind CSS Components Library"

ShanAIDev 20 minutes ago

beautiful work, This looks like an interesting project that aims to combine the power of utility classes with semantic components. I'm curious if FlyonUI is currently limited to Next.js, or if it can be used with other frontend frameworks like Nuxt.js as well?

fmnxl 4 hours ago

Isn't this just a thin wrapper of Preline? Why use this instead of Preline?

  • ajaypatel9016 an hour ago

    Hello fmnxl,

    Those are nice questions and we asked the same ourselves twice before we started working on this http://flyonui.com/.

    Preline is a great library with its beauty. It uses Tailwind CSS utility clasess may lead to cluttered HTML with numerous utility classes, which can be a nightmare to maintain.

    Where DaisyUI is the most popular component library for Tailwind CSS, offering a wide range of components with semantic class names. However many projects require interactive features that need JavaScript.

    This is where FlyonUI shines.

    FlyonUI builds on top of DaisyUI by integrating Preline’s JS plugins, offering headless, fully unstyled components that are accessible and responsive.

nprateem 3 hours ago

Large amount of praise from low karma accounts.

atilimcetin 4 hours ago

Looks great! Can you also consider supporting svelte[1] (and sveltekit[2]) officialy?

[1] https://svelte.dev

[2] https://kit.svelte.dev

  • devsoul 3 hours ago

    Yes, if Daisy UI provides support to Svelte, we will surely go for it.

    • rizzaxc 2 hours ago

      I'm tempted to try this in my SvelteKit app. What do I lose compared to a React user?

      • husarcik 2 hours ago

        Bigger ecosystem for react. Svelte is easier to develop in rapidly.

        I can make things much faster in Svelte, epsecially since Svelte is less complex than React. With AI code generators, I don't really even have to think, just tell it what I want.

        Of note, my main career isn't programming.

rockyj 3 hours ago

Used https://daisyui.com/ which is also pretty good (and similar).

  • ajaypatel9016 5 minutes ago

    Hello rockyj,

    Here are some key points addressing the need for another component library on top of DaisyUI, like FlyonUI:

    Additional JavaScript Support: DaisyUI is the most popular component library for Tailwind CSS, offering a wide range of components with semantic class names. But many projects require interactive features that need JavaScript. FlyonUI builds on top of DaisyUI by integrating Preline’s JS plugins, offering headless, fully unstyled components that are accessible and responsive.

    Headless Architecture: FlyonUI’s headless architecture allows developers to focus on functionality, providing greater flexibility when integrating components into any UI framework or design system.

    Broader Component Set: FlyonUI extends the component offering, with both UI elements and functional components that handle interactive behaviors like accordion, overlay, dropdowns, and carousels, etc.

    Third-Party Component Support: FlyonUI provides built-in support for popular third-party libraries like ApexCharts, FullCalendar, Flatpickr, and Toast, etc. This allows developers to extend their UIs with advanced features.

    For more details refer: https://flyonui.com/docs/getting-started/introduction/

  • welder 3 hours ago

    I really dislike daisy's default colors and changing them is a PITA

    • wg0 3 hours ago

      Maybe it's just me but these "modern" UI kits such as Daisy and Skeleton have horrible UI color schemes, themse and aesthetics.

kewp 2 hours ago

Tried to put it into my svelte project. Build failed. Went onto github to report it. A reproduction url is required ... so not submitting a bug ... and looking for something else to use ...

  • ajaypatel9016 31 minutes ago

    Hello kewp,

    We appreciate your feedback.

    Honestly, we've just shipped our first release and we will be creating guides for the framework integration soon.

    https://flyonui.com/docs/getting-started/framework-guides/

    However, you can mention localhost in the URL if you're trying on the local machine or you can share stackblitz URL with setup which you have tried.

hombre_fatal 4 hours ago

The two interactive clusters of component examples on the homepage are really amazing and well thought out.

How'd you come up with the idea of having them cascade down from the right side of the webpage above the fold? Never seen that before.

The docs have some serious attention to detail.

  • devsoul 3 hours ago

    A huge thanks to our talented design team for their exceptional work and dedication! Their creativity and attention to detail have truly elevated the project

seanwilson 4 hours ago

Looks great, but for dark/Gourmet, the purple primary color and others like accent and success are too dark and don't contrast well for me. The purple fails WCAG contrast checks from a quick look.

  • devsoul 3 hours ago

    Thanks for the appreciation & suggestion. We will look into it.

sgt 4 hours ago

Looks great. I've just been using TailwindUI (commercial) and creating components as I see fit. I base it off the HTML templates only.

  • devsoul 3 hours ago

    Thanks for the appreciation.

faloppad 5 hours ago

Looks great and quite complete

  • devsoul 3 hours ago

    Thanks for the appreciation.

icemelt8 4 hours ago

beautiful work, can't imagine the hours that went into it

  • devsoul 3 hours ago

    8 months actually...!! But worth it. The appreciation and love it is getting already, the efforts are paid off.

    Thanks a lot for your appreciation.

1-2-3-5-8 4 hours ago

Excellent effort and thanks in advance for publishing this.

  • devsoul 3 hours ago

    You are welcome. Thanks for the appreciation.

littlestymaar 4 hours ago

I don't understand the fascination for tools like Tailwind (or bootstrap before that). Sure when your doing very basic things it sounds cool to be able to use just a simple class to get a cool style, but then when used in hanger you end up with a list of class like this

    `fixed flex items-center w-full max-w-xs p-4 space-x-4 text-gray-500 bg-white divide-x rtl:divide-x-reverse divide-gray-200 rounded-lg shadow top-5 right-5 dark:text-gray-400 dark:divide-gray-700 dark:bg-gray-800"` [1] 
and then I really don't understand what you've gained compared to using CSS directly…

[1]: this class is taken from a flowbite component I've worked with no latter than yesterday. https://flowbite.com/docs/components/toast/#simple-toast

  • ajaypatel9016 21 minutes ago

    Hello littlestymaar,

    Thanks for sharing your thoughts.

    To deal with the huge number of class lists like this

    `fixed flex items-center w-full max-w-xs p-4 space-x-4 text-gray-500 bg-white divide-x rtl:divide-x-reverse divide-gray-200 rounded-lg shadow top-5 right-5 dark:text-gray-400 dark:divide-gray-700 dark:bg-gray-800"` [1]

    We've created Flyon UI, to combine the best of both worlds: the aesthetic appeal of semantic classes and the powerful functionality of JS plugins.

    With FlyonUI you can achieve this with semantic classes like:

    btn btn-primary

    for more details: https://flyonui.com/docs/third-party-plugins/notyf/

  • fmnxl 2 hours ago

    It's more ergonomic than using stylesheets.

    - No external stylesheets. No need to think about optimising the serving of CSS assets (e.g. with CDN)

    - Co-locality: work on styling right where the element is, you don't have to figure out which stylesheet affects a particular element.

    - No naming headache, as there's no need to give class names to elements in order to style a particular (or set of) elements

    These days HTML is served compressed, with gzip/brotli, so long class attributes won't bloat the resulting file size by much.

    Stylesheets still has its place of course.

  • mjAxi0m an hour ago

    I really agree on that one. Being able to define SOME (and I insist on that point) style directly in HTML is super convenient and can be a huge time saver day by day. But I think Tailwind went too far by trying to entirely replace CSS with countless classes and shortcuts. Just imagine the learning curve and the time spent by devs trying to find the right syntax for a specific transition or such...

    I like the approach of tools like Perseid (https://perseid.dev/docs/ui/styling/classes), focusing only on layout design and providing a small set of built-in CSS classes (alignments, positions, margins, dimensions, …) for that purpose. All the rest (colors, shadows, fonts, animations and such) lying in good old CSS declarations.

  • emmanueloga_ 2 hours ago

    I had my doubts, but Tailwind's mantra "looks horrible, but you need to try it!" turned out to be true for me.

    You can think of Tailwind as the "APL of CSS." A single utility class can generate a lot of CSS for you, which is one advantage.

    The key benefit of Tailwind is that it co-locates your CSS with your HTML, reducing cascading issues and improving maintainability.

    Like any codebase, you can use your tools to add more structure and meaning.

    For example, I like using a tw function like this:

        export const tw = (...classes: (string | undefined | boolean)[]) => classes.filter(Boolean).join(" ");
    
    Using the tw function, your example classes would look something like this:

        class={tw(
          "fixed top-5 right-5 w-full max-w-xs p-4",
          "flex items-center space-x-4 divide-x divide-gray-200 rtl:divide-x-reverse dark:divide-gray-700",
          "rounded-lg shadow",
          "bg-white text-gray-500 dark:bg-gray-800 dark:text-gray-400"
        )}
    
    I like splitting the classes into logical groups. In this case, I’m grouping by: 1) base positioning, 2) flex behavior, 3) effects, and 4) colors.

    Finally, the filter in the tw function allows for easy conditional classes:

        class={tw(kind === "something" && "m-4 p-4")}
    
    
    I also use Biome, which has a work-in-progress but already quite good class sorter for Tailwind [1]. This keeps the code tidy by applying a logical sort order to each string passed into the tw function.

    --

    1: https://github.com/biomejs/biome/pull/1362

  • input_sh 3 hours ago

    This is like a backend developer asking someone using a spreadsheet why don't they just build their own database. Or a sysadmin telling you why don't you just run your own Kubernetes cluster. Unless there's like a 10 person team working on the same thing, you gotta take shortcuts somewhere.

    Not here to argue that learning CSS properly isn't better, but I legit have no interest in doing so. I can copy-paste that code and be sure it'll look exactly the same on my website. I can't do the same with CSS.

    • wildrhythms 22 minutes ago

      To be clear, you have to 'learn CSS properly' to make sense of Tailwind. I don't see how someone can not know CSS, but know Tailwind. Tailwind is just atomic classes for the underlying CSS styles.

    • aniforprez 2 hours ago

      I can honestly say that tailwind made me way better at CSS. Going through the docs to find classes I needed to do particular things and reading what they did had made me so much better at understanding what it does at a low level. I would still prefer not to write tailwind classes rather than struggle with naming bespoke classes and writing all the CSS but it's definitely made me a better and faster frontend developer

  • devsoul 3 hours ago

    Writing vanilla CSS often involves the hassle of coming up with proper class names, which can become tedious. That's where Tailwind CSS shines, as it allows you to apply styles directly with utility classes. However, repeatedly using the same classes and writing many of them can become cumbersome. To simplify this, FlyonUI introduces semantic classes to streamline your work. For example, instead of writing multiple utility classes for a button, you can simply use `.btn`, and your button styling is ready to go.

  • jonwinstanley 2 hours ago

    A lot of people find tailwind easier to use because it cuts out the steps in CSS where you have to come up with all those names for elements/containers/wrappers etc and define the styles for them all.

    The big long lines of classes are often only written once anyway as web development usually makes use of components or partials for repeated elements.

    Obviously others can continue to use CSS if they prefer to do it that way.

  • joseferben an hour ago

    you've gained:

    - fine-grained design tokens (p-63 doesn't exist)

    - freedom from having to name things prematurely

    - not having to jump back and forth between index.html and styles.css

Saanvi001 5 hours ago

Looks really cool..!!

  • devsoul 3 hours ago

    Thanks for the appreciation.

vb175 5 hours ago

[flagged]

  • devsoul 3 hours ago

    Thanks a lot for the appreciation & detailed review.