Come costruire la tua libreria multimediale da zero: recensione di Legado-E
Situazione familiare: vuoi leggere un libro, guardare una serie o ascoltare un podcast, ma ogni tipo di contenuto richiede un'app separata. E se i contenuti sono sparsi su siti diversi, il tuo telefono si trasforma in un ammasso di icone. Recentemente ho scoperto il repository Luoyacheng/legado-E, che offre un approccio radicale a questo problema.

Cos'è esattamente questa cosa
Legado-E (o 阅读Sigma) è un fork del popolare reader open-source Legado. Se il progetto originale si concentrava principalmente sui libri, la versione Sigma è andata oltre. In sostanza, è un "motore" vuoto con un parser avanzato. Gli fornisci delle regole (sources), e trasforma l'HTML grezzo di praticamente qualsiasi sito in un'interfaccia pulita di lettura o riproduzione.
Il progetto è scritto in Kotlin e ha come target Android. La caratteristica principale è che l'app stessa non contiene alcun contenuto. È uno strumento per chi ama personalizzare tutto a proprio piacimento e non vuole dipendere dai capricci delle piattaforme di streaming o delle librerie online.
Come Sigma si differenzia dall'originale
Gli sviluppatori non hanno reinventato la ruota e hanno mantenuto la base di Legado 3.0, ma hanno aggiunto diverse funzionalità che mancavano davvero:
- Multimedia. Non si tratta più solo di testo. Sigma ha un player audio con supporto per i testi delle canzoni e un video player che gestisce anche i danmaku (commenti volanti sovrapposti al video).
- Editor delle fonti migliorato. Scrivere regole per il parsing dei siti è diventato un po' più facile. Se hai mai provato a fare debug di regex o XPath su un'interfaccia mobile, capirai perché questo conta.
- Subscriptions flessibili. Il sistema RSS e di aggiornamento dei contenuti funziona in modo più affidabile qui rispetto alla versione vanilla.
Come funziona nella pratica
tutta la magia ruota attorno alle "sources" (Book Sources). Crei un file JSON in cui descrivi come cercare un libro su un sito, dove si trova l'indice e come estrarre il testo del capitolo.
Interessante notare che l'app fornisce due tipi di API: via Web e via Content Provider. Questo ti permette, ad esempio, di gestire la tua libreria da remoto o di integrare il reader con altri servizi.
Stack tecnico sotto il cofano
Il progetto utilizza attivamente le librerie standard di sviluppo Android, ma la lista delle dipendenze è impressionante:
- Jsoup e JsoupXpath — per il parsing dell'albero HTML.
- Rhino Android — per l'esecuzione di scenari JavaScript all'interno delle regole di parsing.
- OkHttp — per le richieste di rete.
- LyricViewX — la libreria per la visualizzazione di testi scorrevoli nel player audio.
Perché potrebbe interessare agli sviluppatori
Se ti appassiona il parsing o l'automazione, Legado-E è un eccellente terreno di test. Invece di scrivere la tua soluzione per leggere dati da una specifica risorsa, puoi semplicemente scrivere una regola per questa app.
A proposito, il repository supporta temi personalizzati e impostazioni tipografiche flessibili. Puoi cambiare tutto: dall'interlinea alle regole di conversione dal Cinese semplificato al tradizionale (anche se meno rilevante per il segmento di lingua italiana, il meccanismo per sostituire il testo "al volo" tramite regex è molto potente).

Vale la pena provarlo
Legado-E è un progetto specifico. Ha una curva di apprendimento: dovrai either cercare liste di fonti già pronte online (ce ne sono molte sui canali Telegram e sui forum), oppure capire da solo la struttura delle regole JSON.
A chi piacerà sicuramente:
- A chi vuole un "tutto-in-uno" per tutti i tipi di contenuto in un unico pacchetto.
- A chi tiene alla privacy e non ama la pubblicità (l'app è completamente pulita).
- Agli sviluppatori che hanno bisogno di un client comodo per i loro server domestici o per siti specifici.
Lo svantaggio è che la documentazione è principalmente in cinese, ma l'interfaccia è intuitiva e la community su Discord e Telegram è piuttosto reattiva. Se ti senti stretto nei reader tradizionali, Sigma merita sicuramente un posto sul tuo smartphone.
Progetti correlati