All Readium implementations (mobile, desktop or Web) are split in two main modules, which use the Readium Web Publication Manifest to communicate together.
In native apps, the Streamer is responsible for parsing packaged publications and exposing them using an in-memory model.
On all platforms, the Navigator is meant to navigate in the resources of a publication and can adopt very different strategy based on the nature of the publication (ebooks, audiobooks and comics).
These modules are not necessarily meant to be deployed on the same device or written in the same language, which lets developers select the best implementation based on their requirements.
Take a look at our dedicated awesome-readium repository to explore the ecosystem built around Readium.