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.
These problems are solved by BEM methodology,
a development approach allowing to achieve flexible and maintainable code.
Common approach for all technologies: HTML, CSS, JavaScript, docs, tests, etc.
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.
Common rules help to automate process. Code may be partially autogenerated.
Methodology provides language agnostic practices to increase code reliability and reuse.
You can read all the methodology during your morning coffee.
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.
Vadim Makeev Web Evangelist, Opera Software BEM is okay.
Jonathan Snook Author of OOCSS, 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.