Knihy a audioknihy v jedné aplikaci, i offline
Čte EPUB, FB2 a PDF a přehrává audioknihy MP3 a M4B. Knihy zůstávají v telefonu a otevřou se bez internetu; vestavěný obchod nabízí 20 klasických knih zdarma.
Osobní projekt Mykhaila Plokhina. Instaluje se z prohlížeče na Androidu i iPhonu.
Next.js · TypeScript · IndexedDB · OPFS · Service Worker



Problém
Většina čteček zvládne buď text, nebo audio, chce účet, nebo se rozbije na skutečných souborech: divná kódování, zazipované složky, MP3 bez kapitol.
- Ruské FB2 soubory bývají ve windows-1251 nebo koi8-r a často špatně označené.
- Audiokniha je obvykle složka souborů nebo ZIP z aplikace Soubory na iPhonu.
- Číst a poslouchat stejnou knihu znamená udržet v souladu dvě pozice.
Jak je to postavené
Všechno běží v prohlížeči. Soubory projdou stejnými parsery, ať přijdou z telefonu, nebo z obchodu; záznamy jdou do IndexedDB, velké soubory do soukromého souborového systému prohlížeče.

Klíčová rozhodnutí
Každé rozhodnutí a alternativa, kterou porazilo.
Zpracovat knihy v prohlížeči, bez serveru
Knihy nikdy neopustí zařízení a není potřeba provozovat ani platit žádný backend.
Streamované čtení ZIPu
Složka audioknihy zazipovaná na iPhonu může mít gigabajty. Čtení položek jako proud je nedrží v paměti — včetně archivů ZIP64 a ruských názvů souborů.
Velké soubory v soukromém souborovém systému
Origin Private File System pojme velké soubory bez limitů starších úložišť; starší iOS Safari se vrátí k IndexedDB.
Jedna pozice pro text i audio
Když má kniha zvukovou verzi, přepnutí přenese místo podle kapitoly a podle toho, jak daleko v ní jste byli.
Čísla
Boowie běží: otevřete ho v telefonu a přidejte na plochu. Každý údaj tady je ověřený v kódu nebo v běžící aplikaci.
| Údaj | Co znamená | Základ |
|---|---|---|
| 5Formáty | EPUB, FB2, PDF, MP3 a M4B, plus jejich ZIP archivy.Ověřeno | Ověřeno |
| 20Knih zdarma | Volná díla ve vestavěném obchodě; audioknihy namluvil hlas RHVoice.Ověřeno | Ověřeno |
| OfflineFunguje | Service worker ukládá aplikaci do mezipaměti a knihy jsou uložené v zařízení.Ověřeno | Ověřeno |
- Ověřeno
- — Ověřeno v kódu nebo na běžící verzi
Potřebujete něco podobného?
Popište zadání pár řádky. Odpoví člověk z týmu.
Probrat projekt