Software Alternatives, Accelerators & Startups

BEM VS Pattern Lab

Compare BEM VS Pattern Lab and see what are their differences

BEM logo BEM

BEM โ€” Block Element Modifier is a methodology, that helps you to achieve reusable components and code sharing in the front-end.

Pattern Lab logo Pattern Lab

Create atomic design systems with Pattern Lab.
  • BEM Landing page
    Landing page //
    2022-11-21
  • Pattern Lab Landing page
    Landing page //
    2022-01-20

BEM features and specs

  • Consistency
    BEM enforces a structured way of naming and organizing CSS classes, which promotes consistency across the codebase.
  • Scalability
    The methodology is designed to handle large and complex projects by keeping styles modular and reusable, which helps in maintaining scalability.
  • Maintainability
    By using a clear naming convention, BEM makes it easier for developers to understand and maintain code, even if they weren't the original authors.
  • Flexibility
    BEM allows for flexible and modular component development, making modifications easier without affecting unrelated parts of the codebase.

Possible disadvantages of BEM

  • Verbose Naming
    The class names in BEM can become quite long and verbose, which might make the HTML markup harder to read.
  • Learning Curve
    Developers unfamiliar with BEM may need some time to adapt to its conventions and understand the methodology well.
  • No Enforced Hierarchy
    BEM does not inherently enforce any specific hierarchy or structure among elements, which might lead to inconsistencies if not carefully managed.
  • Increased Initial Setup
    Implementing BEM from scratch can involve significant upfront planning and setup, which might be seen as an overhead for smaller projects.

Pattern Lab features and specs

  • Component-Driven Development
    Pattern Lab encourages a modular approach by allowing developers to create reusable components, which promotes consistency and efficiency in developing user interfaces.
  • Atomic Design
    It is built on the Atomic Design methodology, which helps in designing systems by breaking down interfaces into basic building blocks, leading to more manageable and scalable design systems.
  • Live Style Guide
    Pattern Lab generates a live style guide that updates in real time as components are developed, making it easy for designers and developers to stay in sync with the design system.
  • Platform Agnostic
    Pattern Lab can be integrated with various development stacks and workflows, making it flexible and adaptable to a wide range of projects.
  • Enhanced Collaboration
    By facilitating a shared language and set of tools between designers and developers, Pattern Lab improves collaboration and reduces communication barriers.

Possible disadvantages of Pattern Lab

  • Steep Learning Curve
    For teams that are new to the Atomic Design methodology or to Pattern Lab itself, there can be a significant learning curve required to get up to speed.
  • Initial Setup Complexity
    Setting up a project can be complex, especially for beginners, as it requires understanding both the tool and the underlying design principles thoroughly.
  • Limited Customization
    Although flexible, Pattern Lab does have limitations in terms of customizations, which may not be suitable for very specific or unique project requirements.
  • Performance Overheads
    As projects grow in size and complexity, managing and compiling a large number of components can lead to performance overheads, affecting build times.
  • Maintenance Burden
    Keeping the Pattern Lab and its components in sync with the ongoing changes in projects can become a maintenance burden over time, requiring dedicated resources.

BEM videos

BEM REVIEW! is Bem worth watching?

More videos:

  • Review - BEM - First Impressions
  • Review - Bem Episode 1 Discussion/ Review BEM HAS THE MUSIC!!!!!

Pattern Lab videos

Introduction to Pattern Lab

More videos:

  • Review - Using Pattern Lab to Design More Efficiently

Category Popularity

0-100% (relative to BEM and Pattern Lab)
Developer Tools
78 78%
22% 22
Design Tools
80 80%
20% 20
React
0 0%
100% 100
CSS Framework
79 79%
21% 21

User comments

Share your experience with using BEM and Pattern Lab. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, BEM should be more popular than Pattern Lab. It has been mentiond 49 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

BEM mentions (49)

  • Why CSS Is So Hard for Generative AIs to Understand?
    Beyond the countless ways to achieve the same result, there are just as many methodologies for writing CSS itself. Have you ever came across BEM, SMACSS, OOCSS, atomic CSS, etc. If not, then you can add yours to the list. - Source: dev.to / 9 months ago
  • hearing Michael Scott.
    SCSS makes it easier to use mixing and variables. I'm exploring it's applications for Codepen as well as the use of BEM to modularize reusable CSS components. - Source: dev.to / about 1 year ago
  • The CSS Odyssey: Why I Turned back to CSS After Trying Everything Else
    Style conflicts is one. Although CSS class definitions are placed in reverse import order, problems still occur in Next.js when some pieces only appear in page but not layout CSS bundles. Following BEM (Block Element Modifier) and "Composition over Extension" patterns to separate concerns helps avoid styling collisions significantly. - Source: dev.to / about 1 year ago
  • :where() :is() my mind?
    BEM encourages a flat structure with minimal nesting and specificity, making styles easier to read and maintain. It significantly reduces the risk of unintended style overrides and enhances modularity. - Source: dev.to / about 2 years ago
  • SASS, CSS, or Tailwind: Which One Should You Choose?
    Keep in mind you also have to use BEM. If you use just SASS, there are little to no advantages compared with CSS. I am going to cover BEM in a separate article, but for your understanding, BEM is a methodology for writing good CSS. - Source: dev.to / about 2 years ago
View more

Pattern Lab mentions (6)

  • Unlocking the frontend โ€“ a call for standardizing component APIs pt.2
    While this helped ease integration work, in parallel to that we also started exploring more systematic approaches on the frontend side itself. With the advent of Brad Frost Atomic Design, and tools like Pattern Lab, we started using a more component-centric approach. This included colocating all styling (CSS), behavior (JavaScript) and semantic structure (HTML) for a component, and way better encapsulation as a... - Source: dev.to / over 2 years ago
  • Atomic Design: A Methodology for Building Design Systems
    In order to apply this methodology in your work, you can use a tool called Pattern Lab, created by Brad Frost and Dave Olsen. Pattern Lab is a tool to create atomic design systems. - Source: dev.to / about 3 years ago
  • Integrating Accessibility In The Web Development Process
    Something that would really help to work with tested components and stay consistent with the code and guarantee code quality would be a component library created with Storybook or Pattern Lab, for example. Developers who have a high level of knowledge of how to write accessible code can create components and test them before implementing them. - Source: dev.to / about 4 years ago
  • How do you make the styling of the site flexible to fast change, but not tedious to actually go in and change every single detail?
    You can read more about Atomic Design Systems and how it scales. I've used Patternlab and I find it awesome. Source: almost 5 years ago
  • fractal.build as an atomic design tool
    Fractal seemed easier, at least to me, to understand and maintain, than PatternLab, which I failed to install due a bug in the current installer (and when I managed to install the grunt version, I was already told that there is fractal as a possible alternative). - Source: dev.to / almost 5 years ago
View more

What are some alternatives?

When comparing BEM and Pattern Lab, you can also consider the following products

Sass - Syntatically Awesome Style Sheets

Storybook - Storybook is an open source tool for developing UI components in isolation for React, Vue, and Angular. It makes building stunning UIs organized and efficient.

styled-components - styled-components is a visual primitive for the component age that also helps the user to use the ES6 and CSS to style apps.

vov.css - A small class-based animation library consisting of small but useful animations.

Tailwind CSS - A utility-first CSS framework for rapidly building custom user interfaces.

Bootstrap - Simple and flexible HTML, CSS, and JS for popular UI components and interactions