BEM (Block, Element, Modifier) is a modular approach to web development that divides a user interface into independent blocks. Yandex uses BEM for frontend development.
What BEM includes
- A methodology for website development: simple guidelines for organizing a project that needs to be developed quickly and maintained long-term.
- Open-source technologies and libraries that implement the BEM recommendations.
- Automation tools for applying the BEM methodology.
Advantages of BEM
- Easily support the code structure as your project grows.
- Re-use existing code.
- Make point-by-point changes: minimize the cost to update your design, add functional elements, and so on.