The Streamer is one of the main modules of the Readium Architecture.
The Streamer is usually divided into two different parts:
Every implementation should attempt to make each of these parts as independent as possible, to make sure that they can also be reused for other use cases.
- access packaged or exploded publications
- parses EPUB 2.x and 3.x
- gets the content of a publication's resource
- deobfuscates & decrypt resources
- injects CSS or JS in HTML resources
- injects user settings (CSS custom properties) in HTML resources
Every Streamer implementation has its own in-memory representation of a publication.
In addition to this model, all Streamers provide an access to:
- a Readium Web Publication Manifest
- the resources of the publication
While most Streamers are also Publication Servers that rely on HTTPS, each implementation is free to use a different approach to serve the resources of a publication.