>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Kotlin

Hoe bouw je je eigen mediabibliotheek vanaf nul: Legado-E review

Herkende situatie: je wilt een boek lezen, een serie kijken of een podcast luisteren, maar elk type content vereist een aparte app. En als de content verspreid is over verschillende sites, verandert je telefoon in een berg icoontjes. Ik kwam onlangs de Luoyacheng/legado-E repository tegen, die een radicaal andere aanpak biedt voor dit probleem.

legado

Wat is dit ding eigenlijk

Legado-E (of 阅读Sigma) is een fork van de populaire open-source reader Legado. Als het originele project zich voornamelijk richtte op boeken, ging de Sigma versie verder. Essentieel is het een lege "engine" met een geavanceerde parser. Je voedt het met regels (bronnen), en het transformeert rauwe HTML van vrijwel elke site naar een schone reader of speler interface.

Het project is geschreven in Kotlin en richt zich op Android. Het belangrijkste kenmerk hier is dat de app zelf geen content bevat. Het is een tool voor degenen die graag alles naar hun hand willen zetten en niet afhankelijk willen zijn van de grillen van streaming platforms of online bibliotheken.

Hoe Sigma verschilt van het origineel

De ontwikkelaars hebben het wiel niet opnieuw uitgevonden en behouden de Legado 3.0 basis, maar voegden verschillende dingen toe die echt ontbraken:

  • Multimedia. Het gaat niet meer alleen om tekst. Sigma heeft een audio speler met lyrics ondersteuning en een video speler die zelfs danmaku aankan (vliegende comments over video's).
  • Verbeterde bron editor. Het schrijven van regels voor site parsing werd iets eenvoudiger. Als je ooit geprobeerd hebt om regex of XPath te debuggen in een mobiele interface, begrijp je waarom dit belangrijk is.
  • Flexibele abonnementen. Het RSS en content update systeem werkt hier betrouwbaarder dan in de vanilla versie.

Hoe het in de praktijk werkt

Alle magie draait om "bronnen" (Boek Bronnen). Je maakt een JSON bestand waarin je beschrijft hoe je een boek op een site zoekt, waar de inhoudsopgave is, en hoe je de hoofdstuktekst extraheert.

Interessant is dat de app twee soorten API biedt: via Web en via Content Provider. Dit stelt je in staat om, bijvoorbeeld, je bibliotheek op afstand te beheren of de reader te integreren met andere diensten.

Technische stack onder de motorkap

Het project maakt actief gebruik van standaard Android ontwikkelingsbibliotheken, maar de afhankelijkhedenlijst is indrukwekkend:

  • Jsoup en JsoupXpath — voor het parsen van de HTML boom.
  • Rhino Android — voor het uitvoeren van JavaScript scenario's binnen parsing regels.
  • OkHttp — voor netwerkverzoeken.
  • LyricViewX — de bibliotheek voor het weergeven van scrollende lyrics in de audio speler.

Waarom ontwikkelaars dit interessant kunnen vinden

Als je bezig bent met parsing of automatisering, is Legado-E een uitstekende testomgeving. In plaats van je eigen oplossing te schrijven voor het lezen van data van een specifieke bron, kun je gewoon een regel schrijven voor deze app.

Overigens ondersteunt de repository aangepaste thema's en flexibele typografie-instellingen. Je kunt alles veranderen: van regelafstand tot conversieregels voor Vereenvoudigd Chinees naar Traditioneel (hoewel minder relevant voor het Russischtalige segment, het mechanisme voor het vervangen van tekst "on the fly" via regex is zeer krachtig).

Is het de moeite waard om te proberen

Legado-E is een specifiek project. Het heeft een leercurve: je zult ofwel moeten zoeken naar kant-en-klare bronlijsten online (er zijn er veel op Telegram kanalen en forums), ofwel de JSON regelstructuur zelf uitzoeken.

Wie het zeker leuk zal vinden:

  1. Degenen die een "alles-in-één" willen voor alle types content in één pakket.
  2. Degenen die privacy en geen ads waarderen (de app is volledig schoon).
  3. Ontwikkelaars die een handige client nodig hebben voor hun thuisservers of specifieke sites.

Het nadeel is dat documentatie meestal in het Chinees is, maar de interface is intuïtief en de community op Discord en Telegram is vrij responsief. Als je je krap voelt binnen reguliere readers, verdient Sigma zeker een plekje op je smartphone.

Gerelateerde projecten