Software Alternatives, Accelerators & Startups

React Navigation VS BEM

Compare React Navigation VS BEM and see what are their differences

React Navigation logo React Navigation

Description will go into a meta tag in <head />

BEM logo BEM

BEM โ€” Block Element Modifier is a methodology, that helps you to achieve reusable components and code sharing in the front-end.
  • React Navigation Landing page
    Landing page //
    2022-05-25
  • BEM Landing page
    Landing page //
    2022-11-21

React Navigation features and specs

  • Flexibility
    React Navigation provides a highly customizable navigation solution that allows developers to design intricate and dynamic navigation patterns suited to the specific needs of the app.
  • Integration
    It integrates seamlessly with the rest of the React ecosystem, taking advantage of native components and leveraging React's component-based architecture.
  • Community Support
    Being one of the most popular navigation libraries for React Native, it has strong community support, with numerous resources, tutorials, and plugins available.
  • Ease of Use
    React Navigation's API is intuitive and straightforward, which makes setting up basic navigation quick and easy even for those new to React Native.
  • Redux Integration
    It offers excellent integration with Redux, allowing developers to manage navigation state along with the application state if needed.

Possible disadvantages of React Navigation

  • Performance Overhead
    While it is flexible, React Navigation can introduce performance overhead in certain complex navigation structures compared to some other solutions like native navigation.
  • Complexity for Advanced Features
    Implementing advanced navigation patterns can become complex and may require a steep learning curve to fully utilize the libraryโ€™s capabilities.
  • Frequent Changes
    The library is under active development, which can lead to frequent updates and changes, potentially causing maintenance overhead for existing projects.
  • Default Transitions
    Out of the box, the default transition animations might not meet the needs of certain high-performance or highly-animated applications, requiring additional customization.

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.

React Navigation videos

React Native Tutorial #19 - React Navigation Setup

More videos:

  • Tutorial - React Navigation 5 Complete Tutorial - React Navigation made easy | Bottom Tabs | Side Drawer
  • Tutorial - How to Use React Navigation 5 in React Native (Part 1) - Navigators

BEM videos

BEM REVIEW! is Bem worth watching?

More videos:

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

Category Popularity

0-100% (relative to React Navigation and BEM)
Development Tools
65 65%
35% 35
Developer Tools
37 37%
63% 63
Design Tools
0 0%
100% 100
Javascript UI Libraries
100 100%
0% 0

User comments

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

Social recommendations and mentions

React Navigation might be a bit more popular than BEM. We know about 56 links to it since March 2021 and only 49 links to BEM. 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.

React Navigation mentions (56)

  • The host shell: federated remotes as tabs in React Native
    React Navigation โ€” the bottom tab navigator the host shell is built on. - Source: dev.to / 22 days ago
  • To Share or Not to Share: Taking Your Vega App Multi-Platform
    Screen-to-screen routing (moving between pages, tabs, drawers) is usually fully shareable. If you're using React Navigation (which Vega supports via its react-navigation package), your screen definitions, route configs, and navigation structure work the same across platforms. - Source: dev.to / 3 months ago
  • ๐Ÿš€ Why You Should Start Building Cross-Platform Apps with React Native & Expo Right Now!
    โœ… React Navigation โ€“For smooth screen navigation. Guide. - Source: dev.to / over 1 year ago
  • 5 Easy Methods to Implement Dark Mode in React Native
    Deciding on a navigation library is one of the most discussed topics in the React Native community. One of the top advantages of React Navigation is theme support. This offloads the implementation of making themes from developers. - Source: dev.to / over 1 year ago
  • An Android Developer's Guide to React Native
    No Built-in System: Unlike Android's core Intent and Activity systems, React Native doesn't have a built-in navigation framework. Instead you need to chose a 3P library, React Navigation being the most widely adopted solution. - Source: dev.to / over 1 year ago
View more

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 / 8 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 / 12 months 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

What are some alternatives?

When comparing React Navigation and BEM, you can also consider the following products

React Native - A framework for building native apps with React

Sass - Syntatically Awesome Style Sheets

Node.js - Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications

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.

CodePush - CodePush is a cloud service that enables Cordova and React Native developers to deploy mobile app updates directly to their users' devices.ย 

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