Portál AbcLinuxu, 30. dubna 2025 10:12
Verze 2.5.3 bude pro RSS Guard docela přelomová. Na popup mnohých uživatelů (odsud i z e-mailové korespondence) jsem se pustil do implementace "pluginového systému".U přelomové verze bych doporučoval zvýšit major/minor verzi, ne jen patch. Tyhle setinkové verze by měly obsahovat jen opravy chyb, ne novou funkcionalitu, natož nějakou přelomovou.
RSS Guard bude podporovat pluginy, které ale nebudou separované na runtime úrovni (v samostatných libkách), ale lze je jednoduše aktivovat před kompilací v kódu. ... nejznámějších online kanálových API - TT-RSS, feedly, ownCloud News - tak, aby pluginové API bylo co možná nejflexibilnější, ale zároveň jednoduchéChápu, že je pracnější to udělat dynamicky, ale to chceš kód pro všechny možné služby udržovat sám? Navíc to bude problém při distribuci -- jak se má distributor rozhodnout, které moduly zapne? Buď tam dá všechny a pak uživatel bude mít program zahnojený službami, které ho nezajímají, nebo tam dá jen některé služby, a pak tam budou některým uživatelům chybět a výhoda distribuce se ztrácí -- uživatel si to bude muset kompilovat sám. Opravdu by byly lepší ty dynamické knihovny -- v distribuci by pak byl balíček
rssguard
a pak librssguard-plugin-ttrss
, librssguard-plugin-feedly
, librssguard-plugin-owncloud
atd. A uživatel by si nainstaloval, co potřebuje.
Dále bych zvážil implementaci v nějakém skriptovacím jazyce -- tzn. plugin by byl jen skript a nemusel by se ani kompilovat. Uživatel by si ho mohl snadno upravit nebo si napsat vlastní a jen vložit do adresáře s konfigurací.
Nebo jít ještě dál -- plugin by se spouštěl jako podproces. S aplikací by komunikoval přes proměnné prostředí, parametry příkazu a standardní vstup/výstup (vygeneroval by nějaké XML). To je ještě lepší, protože si to uživatel napíše ve svém oblíbeném jazyce.
Tyhle přístupy jsou sice výpočetně méně efektivní než kód zakompilovaný přímo v programu, ale to by nemuselo tolik vadit -- nemělo by to být nic až tak výpočetně náročného -- ovšem bude to mnohem pružnější a zrychlí to vývoj (pokud se zapojí další lidé, což by pro ně mělo být takhle snadnější). I z architektonického hlediska mi to přijde lepší (viz ta poznámka o distribucích).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.