Need advice about which tool to choose?Ask the StackShare community!

BEM

121
95
+ 1
0
Bootstrap

55.3K
13K
+ 1
7.7K
Add tool

BEM vs Bootstrap: What are the differences?

Key Differences between BEM and Bootstrap

Introduction

BEM (Block Element Modifier) and Bootstrap are two popular approaches when it comes to building responsive and modular web applications. While both serve the purpose of enhancing the front-end development process, they differ in several key aspects. This article aims to highlight the main differences between BEM and Bootstrap.

  1. Methodology Approach: BEM follows a specific naming convention that emphasizes component-based development. It uses a unique class naming structure, where each class represents a specific block, element, or modifier. On the other hand, Bootstrap is a framework that provides a set of predefined components, styles, and utility classes to streamline development.

  2. Customizability: BEM offers more flexibility and customization options compared to Bootstrap. With BEM, developers have control over the styling and behavior of individual components, allowing for greater design freedom. In contrast, Bootstrap provides pre-designed components that have a consistent appearance, which may limit the extent of customization.

  3. Learning Curve: BEM requires developers to learn and adhere to a specific naming convention and methodology, which may have a steeper learning curve initially. On the other hand, Bootstrap provides a more straightforward and intuitive approach, making it easier for developers to get started quickly.

  4. Responsiveness: Bootstrap is highly focused on creating responsive web interfaces. It offers a grid system that allows developers to create responsive layouts effortlessly. BEM, although not specifically designed for responsiveness, can be easily used in conjunction with other responsive frameworks or techniques to achieve similar results.

  5. Dependency: BEM is a methodology that can be used independently of any particular framework or library. It promotes a modular and component-based approach that can be implemented with any set of tools. Bootstrap, on the other hand, is a comprehensive framework that comes with its own set of components, styles, and JavaScript plugins, making it more dependent on the Bootstrap ecosystem.

  6. Size and Performance: BEM being a methodology does not introduce any additional overhead in terms of file size or performance. It allows developers to write only the necessary CSS styles required for each component, resulting in smaller file sizes and potentially better performance. In contrast, using Bootstrap may introduce a higher file size due to the inclusion of the entire framework, even if some components are not used.

In Summary, BEM and Bootstrap differ in their approach to front-end development, with BEM emphasizing component-based development and customization, while Bootstrap provides a ready-made set of components and focuses on responsiveness and ease of use.

Advice on BEM and Bootstrap
Needs advice
on
BootstrapBootstrap
and
Tailwind CSSTailwind CSS

I am planning to redesign my entire application, which is currently in Bootstrap. I heard about Tailwind CSS, and I think its really cool to work with. Is it okay if I use Bootstrap and Tailwind together? I can't remove Bootstrap altogether, as my application is using the js dependencies of Bootstrap, which I don't want to disturb.

See more
Replies (3)
Ivo Pereira

Factually talking about systems, we gotta make two bold headlines about each one: Bootstrap has been around for a while, has a vast community and much probably will not be gone in a while. Tailwind in the other hand, is the trendy framework starting from the past year. Referring to UI, I really prefer Tailwind, however I can't ignore the fact that a lot of libraries that emerged felt short in the end after a few years (a point where Bootstrap kept his status).

You are able to use both them together but I advise you — it will be a mess. And you gotta hope that you won't have any kind of conflicts between class naming and other general styling.

My recommendation would be to use one and only one. Perhaps rebuild the UI with a specific framework in mind, otherwise you will start to workaround things of both frameworks to contradict each other - and your team (if you work with one) will hate you.

See more
Arslan Ameer
Sr. Software Engineer at Forenax Technologies · | 5 upvotes · 589.5K views
Recommends
on
BootstrapBootstrap

You might have heard about bootstrap 5. Bootstrap is now totally jQuery free. i have tried foundation and bulma too. but eventually fall again for bootstrap, as it is most convenient and stable. i use bootstrap with less or sass.

See more
Barry Hylton
Recommends
on
BootstrapBootstrap

I use both of these regularly. If you're going to have to use Bootstrap due to your js dependencies, stick with Bootstrap. I actually prefer Tailwind, but trying to use both of them and make them "play nice" feels like making things more complex with no real benefit.

EDIT: Sorry for the late response, I just noticed how old this is. StackShare sent me this in an email for some reason so I assumed it was relatively fresh.

See more
Daniel Hernández Alcojor
Frontend Developer at atSistemas · | 8 upvotes · 992.3K views
Needs advice
on
BootstrapBootstrapBulmaBulma
and
UIkItUIkIt

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?

See more
Replies (7)
Recommends
on
UIkItUIkIt

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.

See more
Damien Lucchese
Recommends
on
BulmaBulma

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.

See more
Recommends
on
DiezDiez

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.

See more
Recommends
on
BulmaBulma

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?

See more
Recommends

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.

See more
Tomer Fishaimer
Frontend Architect at Aqua Security · | 2 upvotes · 538.5K views
Recommends
on
Tailwind CSSTailwind CSS

Actually it really depends on your needs, there are 3 types of UI frameworks you can use:

  1. 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

  2. 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

  3. 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.

See more
Needs advice
on
BootstrapBootstrapTailwind CSSTailwind CSS
and
UIkItUIkIt

We are re-modifying the existing portal to the new one. Looking out for a CSS framework where over-rides are possible, the performance of page loading, extendable, etc Please suggest between tailwind, UIkit and bootstrap frameworks explaining in detail on different factors. I request your help on the same.

See more
Replies (2)
Collins Ogbuzuru
Front-end dev at Evolve credit · | 3 upvotes · 552.2K views
Recommends
on
Tailwind CSSTailwind CSS

Hey Sai, My thoughts on UIkit - It's beautiful, fast, and it has good animation too. Why would I choose it ? Nothing other than giving the internet a new look .

My thoughts on Bootstrap - it's beautiful, if used well. It's very fast and has clean class naming convention unlike Uikit. Why I would choose it ? It's been tested and trusted, I can find a whole lot of resources and a community around it. Also with the type of project you working on I bet Bootstrap would do the job .

Now, considering Tailwind, it's seen as a classic, simple-to-set-up tool with clean utilities. I wouldn't think of tailwind the way I would to Bootstrap or UIkit. What do I mean ? Tailwind is more like a tool set to create your own design flow. Tailwind allows you to build unique design elements, offering you a level of customization that may be unmatched by the other frameworks.

My final thoughts.

If you have the time , setup and use tailwind it will give you a great chance when it comes to customization and performance.

See more
Brett Stevenson
Recommends
on
BootstrapBootstrap

I'm a big proponent of Tailwind and I personally use it whenever I get the chance, mostly because it's not really a UI-kit, but it sounds like in this case a UI-kit like Bootstrap with pre-defined components is more what you are looking for. Bootstrap is (relatively) extendable and overridable and makes it really simple to make a decent looking UI using a handful of pre-defined classes, whereas with Tailwind you configure the classes and create your own components. My main reason for replacing Bootstrap in my workflow is that it feels like the component creation has become so abstracted from the developer that any meaningful customization becomes a chore, resulting in many websites having the generic "Bootstrap-look". Nonetheless, it is effective for creating a pleasant and responsive UI. Though, I don't have any experience with UIkit.

See more
Decisions about BEM and Bootstrap
Bridget Sarah
Full Stack Developer at Bridget Sarah · | 10 upvotes · 639.8K views

I do prefer to write things from scratch however when it came to wanting to jump-start the frontend, I found that it was taking me a lot longer hence why needing to use something very fast.

Bootstrap was the boom when it came out, I didn't like it, to be honest, set in its way and a pain to over-ride and in addition, you can tell from a distance if you're using boostrap and as everything looks the same.

I came across Tailwind CSS as I wanted more dynamic features, you could say, I've been now doing it for a few days and I love it a lot. I've been practising with the full stack part installed but I an't we wait until I do a new project, and I'll e able to select exactly what I want. Much faster.

See more

Fonts and typography are fun. Material Design is a framework (developed by Google) that basically geeks out on how to assemble your typographical elements together into a design language. If you're into fonts and typography, it's fantastic. It provides a theming engine, reusable components, and can pull different user interfaces together under a common design paradigm. I'd highly recommend looking into Borries Schwesinger's book "The Form Book" if you're going to be working with Material UI or are otherwise new to component design.

https://www.amazon.com/Form-Book-Creating-Printed-Online/dp/0500515085

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of BEM
Pros of Bootstrap
    Be the first to leave a pro
    • 1.6K
      Responsiveness
    • 1.2K
      UI components
    • 943
      Consistent
    • 779
      Great docs
    • 677
      Flexible
    • 472
      HTML, CSS, and JS framework
    • 411
      Open source
    • 375
      Widely used
    • 368
      Customizable
    • 242
      HTML framework
    • 77
      Easy setup
    • 77
      Mobile first
    • 77
      Popular
    • 58
      Great grid system
    • 52
      Great community
    • 38
      Future compatibility
    • 34
      Integration
    • 28
      Very powerful foundational front-end framework
    • 24
      Standard
    • 23
      Javascript plugins
    • 19
      Build faster prototypes
    • 18
      Preprocessors
    • 14
      Grids
    • 9
      Good for a person who hates CSS
    • 8
      Clean
    • 4
      Rapid development
    • 4
      Easy to setup and learn
    • 4
      Love it
    • 3
      Great and easy to use
    • 2
      Powerful grid system, Rapid development, Customization
    • 2
      Boostrap
    • 2
      Devin schumacher rules
    • 2
      Community
    • 2
      Provide angular wrapper
    • 2
      Great and easy
    • 2
      Great customer support
    • 2
      Popularity
    • 2
      Clean and quick frontend development
    • 2
      Great and easy to make a responsive website
    • 2
      Sprzedam opla
    • 2
      Easy to use
    • 1
      Not tied to jQuery
    • 1
      Responsive design
    • 1
      Love the classes?
    • 1
      Painless front end development
    • 1
      Design Agnostic
    • 1
      So clean and simple
    • 1
      Numerous components
    • 1
      Recognizable
    • 1
      Intuitive
    • 1
      Material-ui
    • 1
      Felxible, comfortable, user-friendly
    • 1
      Poop
    • 1
      Pre-Defined components
    • 1
      It's fast
    • 1
      Geo
    • 1
      The fame
    • 1
      Easy setup2

    Sign up to add or upvote prosMake informed product decisions

    Cons of BEM
    Cons of Bootstrap
      Be the first to leave a con
      • 26
        Javascript is tied to jquery
      • 16
        Every site uses the defaults
      • 15
        Grid system break points aren't ideal
      • 14
        Too much heavy decoration in default look
      • 8
        Verbose styles
      • 1
        Super heavy

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is BEM?

      This methodology was developed at Yandex with the goals in mind that Fast development and long-lasting results for standard projects,A project involves many people,Scalable teams,Code reuse.

      What is Bootstrap?

      Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use BEM?
      What companies use Bootstrap?
      See which teams inside your own company are using BEM or Bootstrap.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with BEM?
      What tools integrate with Bootstrap?
        No integrations found

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        What are some alternatives to BEM and Bootstrap?
        SUIT CSS
        SUIT CSS provides a reliable and testable styling solution for component-based web application development.
        CSS Modules
        It is a CSS file in which all class names and animation names are scoped locally by default. The key words here are scoped locally. With this, your CSS class names become similar to local variables in JavaScript. It goes into the compiler, and CSS comes out the other side.
        Material Design for Angular
        Material Design is a specification for a unified system of visual, motion, and interaction design that adapts across different devices. Our goal is to deliver a lean, lightweight set of AngularJS-native UI elements that implement the material design system for use in Angular SPAs.
        Animate.css
        It is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
        Tailwind CSS
        Tailwind is different from frameworks like Bootstrap, Foundation, or Bulma in that it's not a UI kit. It doesn't have a default theme, and there are no build-in UI components. It comes with a menu of predesigned widgets to build your site with, but doesn't impose design decisions that are difficult to undo.
        See all alternatives