BEM methodology was invented at Yandex to develop sites which should be launched fast and supported for a long time. It helps to create extendable and reusable interface components.
Every web developer meets the same problems
These problems are solved by BEM methodology,
a development approach allowing to achieve flexible and maintainable code.
BEM provides the same rules to achieve code consistency
Grow and scale your codebase
Code grows following predefined rules.
Most projects use the same components. Code reuse significantly reduces price and time of development.
Simplicity of updates and scalability increases productivity.
Common terminology provides ability for developers to rapidly switch projects — everything is familiar.
Do less, get more
Common rules help to automate process. Code may be partially autogenerated.
Suitable for any programming language or any framework
Methodology provides language agnostic practices to increase code reliability and reuse.
Easy to learn
You can read all the methodology during your morning coffee.
Experts recommend BEM
- Harry Roberts Consultant Front-end Architect
I use BEM notation on everything I build now as its usefulness has proved itself over and over.
- Mark McDonnell Technical Lead, BBC News
Itʼs less confusing than the other methods (i.e. SMACSS) but still provides us the good architecture we want (i.e. OOCSS) and with a recognisable terminology.
- Connie Chan Design Director, Thoughtbot
Combined with a preprocessor, BEM makes keeping your CSS modular and object-oriented a breeze.
- Jonathan Snook Author of SMACSS, Xero
Most common misspelling is “SMACCS”. I should just rename it to BEM.
- Paul Irish Front-end Developer, Google Inc.
This BEM stuff is next-level shit. Itʼs incredible how methodical it is.
- Necolas Gallagher Software Engineer, Twitter
BEM is far more than a HTML/CSS system. Iʼve got no plans to use it all; just adapted some of its ideas.