Need advice about which tool to choose?Ask the StackShare community!
BEM vs Material Design for Angular: What are the differences?
Introduction:
BEM (Block, Element, Modifier) and Material Design are two popular design methodologies used in web development. Focusing on Angular specifically, there are key differences between the two approaches that developers should consider when choosing a design system for their projects.
Naming Convention: BEM uses a naming convention based on blocks, elements, and modifiers, making it easier to understand the structure of the code. In contrast, Material Design for Angular follows the guidelines set by Google's Material Design system, which includes pre-defined components and styles, allowing for more consistency and familiar patterns.
Customization: BEM provides a high level of customization by allowing developers to create unique styles for each block, element, or modifier. On the other hand, Material Design for Angular offers a set of pre-built components and styles that can be easily integrated without the need for extensive customization.
Community Support: BEM has a strong community following and a well-established set of best practices and guidelines for implementing the methodology. In comparison, Material Design for Angular is supported by Google, providing access to official documentation, resources, and updates directly from the source.
Component Composition: BEM encourages the creation of reusable components that can be combined to build complex interfaces. Material Design for Angular, on the other hand, relies on pre-defined components that are designed to work together seamlessly, reducing the need for custom component composition.
Design Language: BEM focuses on creating a consistent and scalable design system by organizing code into blocks, elements, and modifiers. Material Design for Angular, on the other hand, follows Google's Material Design principles, emphasizing motion, depth, and material surfaces to create a tactile and engaging user experience.
Integration: BEM can be integrated into any project regardless of the technology stack or framework being used, offering flexibility and compatibility with a wide range of development environments. Material Design for Angular, on the other hand, is specifically tailored for Angular applications, providing a seamless integration with the framework's architecture and components.
In Summary, BEM and Material Design for Angular differ in their naming conventions, customization options, community support, component composition, design language, and integration capabilities.
Pros of BEM
Pros of Material Design for Angular
- Ui components121
- Backed by google62
- Free51
- Backed by angular50
- Javascript47
- Open source34
- Responsiveness32
- Easy to learn30
- Quick to develop28
- Customizable20
- Powerful8
- Easy to start8
- Flexible6
- Themes6
- Flexbox Layouts4
- Great community3
- I like its design3
- Great extensions2
- Consistents1
- CDK1
- It's the best looking out of the box1
- Seamless integration with AngularJS but lack of docs1
- Progressive Web Apps - to learn0
Sign up to add or upvote prosMake informed product decisions
Cons of BEM
Cons of Material Design for Angular
- No practical examples4