To create rich, engaging online courses, course authors must be able to combine components from a variety of sources. XBlock, which is edX’s component architecture, makes this possible. Courses are built hierarchically of pieces called XBlocks. Like HTML <div> tags, XBlocks can represent pieces as small as a paragraph of text, a video, or a multiple-choice input field, or as large as a section, a chapter, or an entire course.
XBlocks are not limited only to delivering courses. A complete educational ecosystem will make use of a number of web applications, all of which will need access to course content and data. XBlocks provide the structure and APIs needed to build components for use in all of these applications.