Need advice about which tool to choose?Ask the StackShare community!
Bulma vs Vuetify: What are the differences?
Introduction
Bulma and Vuetify are two popular UI frameworks used for building websites and web applications. While both frameworks offer a wide range of components and features to create responsive and visually appealing interfaces, there are several key differences that set them apart from each other.
Design Philosophy: Bulma is a lightweight, minimalistic CSS framework that focuses on providing a simple and flexible grid system along with a set of utility classes. It offers a clean and modern design with a modular architecture, allowing developers to customize and extend the framework as per their requirements. On the other hand, Vuetify is a comprehensive Material Design component framework built specifically for Vue.js. It follows the Material Design guidelines, providing pre-designed components based on Google's design language, making it easier to achieve a consistent and polished look for web applications.
Component Library: Bulma offers a limited set of components compared to Vuetify. It includes basics like buttons, forms, cards, modals, and navigation elements. While it provides a solid foundation for building websites, developers may need to rely on additional libraries or custom CSS to implement more complex features. Vuetify, on the other hand, provides an extensive collection of ready-to-use components that follow the Material Design principles. It includes a variety of UI elements such as grids, buttons, dialogs, data tables, navigation bars, and more, allowing developers to quickly and easily build feature-rich applications without the need for additional libraries.
Integration with Vue.js: While both frameworks can be used with Vue.js, Vuetify is designed specifically for Vue and provides seamless integration with its ecosystem. Vuetify offers Vue-specific features like directive-based transitions, convenient helper components, and easy integration with Vue Router and Vuex. It also leverages Vue's reactivity system and allows for efficient component-level updates. Bulma, on the other hand, is a standalone CSS framework and does not have direct integration with Vue.js. Although it can be used alongside Vue, developers need to manually handle component state and lifecycle hooks.
Styling and Customization: Bulma provides a clean and customizable foundation with sensible defaults. It offers various utility classes and a straightforward way to override default styles using custom CSS. However, it requires more manual effort and CSS knowledge to create a completely unique and customized design. Vuetify, on the other hand, provides a set of predefined styles and themes that can be easily customized using SCSS variables or the built-in theming system. This allows developers to quickly change the overall look and feel of the application while maintaining consistency with the Material Design guidelines.
Documentation and Community Support: Both Bulma and Vuetify provide comprehensive documentation with examples, tutorials, and guides. However, Vuetify has a more active and larger community compared to Bulma, which means it has more readily available resources and community support. Vuetify also benefits from being a part of the larger Vue.js community, making it easier to find solutions to common problems and receive help when needed.
File Size and Performance: Bulma is known for its lightweight nature, with a file size of around 200KB. This makes it suitable for projects where performance and load times are a priority. On the other hand, Vuetify has a larger file size due to its extensive component library and additional dependencies. While Vuetify offers more out-of-the-box features, it may result in slower load times and increased bundle size, especially for small or performance-sensitive projects.
In Summary, Bulma is a lightweight and flexible CSS framework with a modular architecture, while Vuetify is a comprehensive Material Design component framework specifically built for Vue.js, offering a wide range of pre-designed components and seamless integration with Vue ecosystem. Vuetify provides an extensive component library and follows the Material Design guidelines, making it easier to create visually appealing and consistent interfaces. However, Bulma offers more customization options and a smaller file size, making it suitable for projects where performance and minimalism are key. The choice between the two frameworks ultimately depends on specific project requirements and preferences.
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?
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.
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.
Pros of Bulma
- Easy setup12
- Easy-to-customize the sass build6
- Community-created themes6
- Responsive5
- Great docs5
- Easy to learn and use4
Pros of Vuetify
- Enables beauty for graphically challenged devs29
- Wide range of components and active development24
- Vue22
- New age components18
- Easy integration13
- Material Design11
- Nuxt.js10
- Open Source10
- Awesome Documentation6
- Awesome Component collection5
- Internationalization5
- Not tied to jQuery5
- Best use of vue slots you'll ever see4
- Not tied to jQuery2
- Treeshaking2
- Active Community2
- Responsiveness2
Sign up to add or upvote prosMake informed product decisions
Cons of Bulma
- Not yet supporting Vue 32
Cons of Vuetify
- It is heavy19
- Not Vue 3 Ready (Alpha-Version)3