Need advice about which tool to choose?Ask the StackShare community!
Bulma vs Semantic UI: What are the differences?
Introduction:
Bulma and Semantic UI are both popular front-end frameworks that offer a wide range of pre-built CSS components and utilities to simplify the process of building responsive and user-friendly websites. While they have similarities, there are key differences between the two.
Customization Options: Bulma provides extensive customization options, allowing developers to modify various aspects of the framework such as colors, typography, and breakpoints, which makes it highly flexible and adaptable to different design requirements. On the other hand, Semantic UI offers less customization options, making it more suitable for projects that do not require extensive customization.
Grid System: Bulma utilizes a flexible grid system that uses a lightweight CSS framework called Flexbox, which allows for easy creation of responsive layouts. On the contrary, Semantic UI uses a grid system based on the CSS float property, which may not be as robust or efficient as Flexbox. This makes Bulma a better choice for projects that require advanced grid functionalities.
Component Availability: Bulma provides a comprehensive set of ready-to-use components such as navigation bars, forms, cards, and modals, making it ideal for developers who want to quickly assemble a website without writing much custom CSS. Semantic UI also offers a wide range of components but may not be as extensive as Bulma. However, Semantic UI has a larger user community, which often contributes additional community-built components.
Documentation: Bulma has a well-documented website with clear examples and detailed explanations of each component and utility, making it easier for developers to learn and use the framework effectively. Semantic UI also has extensive documentation, but some developers find it less intuitive and comprehensive compared to Bulma.
File Size: Bulma has a relatively small file size, which means faster loading times and optimized performance, making it suitable for projects where performance is a priority. Semantic UI, on the other hand, has a larger file size due to its extensive features and components.
Framework Design Philosophy: Bulma follows a "class-based" design philosophy, where developers add classes directly to HTML elements to apply styles and functionality. This approach provides more simplicity and control over individual components. In contrast, Semantic UI follows a "semantic HTML" design philosophy, emphasizing the use of semantic HTML elements with predefined class names for consistent styling. This makes Semantic UI more suitable for projects where semantic HTML structure is a top priority.
In summary, Bulma offers extensive customization options, a flexible Flexbox-based grid system, comprehensive component availability, well-documented website, smaller file size, and a class-based design philosophy. On the other hand, Semantic UI provides less customization options, a grid system based on CSS float, extensive documentation, larger file size, and a semantic HTML design philosophy.
I'm building, from scratch, a webapp. It's going to be a dashboard to check on our apps in New Relic and update the Apdex from the webapp. I have just chosen Next.js as our framework because we use React already, and after going through the tutorial, I just loved the latest changes they have implemented.
But we have to decide on a CSS framework for the UI. I'm partial to Bulma because I love that it's all about CSS (and you can use SCSS from the start), that it's rather lightweight and that it doesn't come with JavaScript clutter. One of the things I hate about Bootstrap is that you depend on jQuery to use the JavaScript part. My boss loves UIkIt, but when I've used it in the past, I didn't like it.
What do you think we should use? Maybe you have another suggestion?
I have used bulma in several projects. We could not customize with the websites very well. Also when we need "quick solutions" Bulma is not suitable (I mean basic animations, to-top buttons, transparent navbar solutions etc. For these solutions, you need extra js codes).
Everybody knows about Bootstrap (heavy but popular).
Now we start a new project with UI kit, I like it. Pros: It is fast and lightweight and imho it has very good UI. Cons: Small community. Documentation.
Check this link for kick-off. https://github.com/zzseba78/Kick-Off
Maybe it is helpful.
Been checking out Bulma, myself, and really dig it. I like that it's a great base level jumping off point. You can get a layout going with it, pretty quickly, and then customize as you want. It definitely sounds like it's the one you're leaning towards but a big factor would be who will be using it most? Your boss, yourself, others? Whichever you like best, you'll prob be most productive with but if in the end your boss says it has to be UIkit, then best to be open-minded and give it another shot. Sometimes you may not jive with new tools in your stack, at first, but then they can become tools you learn to love. Best to you in your decision! Take care & keep safe.
I've moved away from the concept of UI kits. Not that many support CSS grid. A lot of the icons are easier to use in SVG. I've had success in the concept of design framework and design tokens. I build my brand identity in Figma, and extract in Diez. Then Diez integrates into React and SASS. Much easier because design is decoupled from software in a central authority, and software updates automatically from design changes.
Honestly - pick whatever you are the most comfortable with. You can achieve almost the same effects with different tools, so why not use something I like using?
I used UIKit and Bootstrap many times. I love Bootstrap for fast, easy layouts to web apps. Clean code, easiest and fastest way to write layouts for front end if you learned something before about Bootstrap. Now in React I use React-Boostrap too. About UIKit I can say its nice idea. It's easier than Bootstrap. This is good option for trainee developer to learn how u should create layout of your website, but for me UIKit have not enough functions. If you need to create something complicated, u have an error in your mind. You must create amazing code combinations for UIKit where in Bootstrap in the same ideas you have easy solutions.
Actually it really depends on your needs, there are 3 types of UI frameworks you can use:
-
A complete set of UI components like: https://react-bulma.dev/en/getting-started.
Pros:
Having a lot of pre-built UI components saves a lot of time
Cons:
need to learn the react framework and the bulma styles, and it's harder to customize to your needs
-
A pure css framework, like Bulma, where you write all the components yourself.
Pros:
A lot of flexibility to build the components you need
Cons:
You are bound to Bulma classes and markup.
Takes more time since you need to build the components
A utility class framework like: https://tailwindcss.com/.
Pros:
Most flexible, mix and match classes as you like and build your own markup
Very easy to customize to your needs
Cons:
Might take time to get used to and takes more time since you need to build the components
If you choose options one, then it's just a matter of deciding what style you like (material,ant, bulma) and go with the library that implements it If you go with pure css and build your own components, I can't recommend tailwind enough, I've been finding myself building entire pages without writing a single line of css.
And if later on, the designer wants to make a change to some color, or size, I just need to change one value in the config file, and the entire app is updated.
Pros of Bulma
- Easy setup12
- Easy-to-customize the sass build6
- Community-created themes6
- Responsive5
- Great docs5
- Easy to learn and use4
Pros of Semantic UI
- Easy to use and looks elegant157
- Variety of components92
- Themes64
- Has out-of-the-box widgets i would actually use61
- Semantic, duh57
- Its the future44
- Open source42
- Very active development37
- Far less complicated structure31
- Gulp28
- Already has more features than bootstrap9
- Just compare it to Bootstrap and you'll be hooked8
- Clean and consistent markup model7
- UI components7
- Responsiveness6
- Because it is semantic :-D4
- Elegant. clean. readable. maintainable4
- Good-Looking4
- Is big and look really great, nothing like this2
- Consistent2
- Great docs2
- Modular and scalable2
- Easy to use1
- Blends with reactjs1
- Jquery1
Sign up to add or upvote prosMake informed product decisions
Cons of Bulma
- Not yet supporting Vue 32
Cons of Semantic UI
- Outdated build tool (gulp 3))5
- Poor accessibility support3
- HTML is not semantic (see list component)3
- Javascript is tied to jquery2