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.