XBlock is the component architecture for the elements of an Open edX course. Software developers build XBlocks to create independent course components that work seamlessly with other components in an online course.
For example, you can build XBlocks to represent individual problems, or text strings, or HTML content. In addition, XBlocks are composable: you can build XBlocks to represent larger structures such as lessons, sections, and entire courses. By combining XBlocks that serve a wide variety of purposes, from delivering text and video content, to presenting multiple choice and numerical questions, to supporting sophisticated collaborative and interactive learning laboratories, course teams can create rich and engaging courseware.
A primary advantage to XBlocks is that they are deployable. The code that you write can be deployed in any instance of the edX Platform or other XBlock runtime application, and then used by any course team using that system.