Kross (software) - Kross (software)
Vývojáři | KDE |
---|---|
Stabilní uvolnění | 5.76.0 (7. listopadu 2020[±][1] | )
Úložiště | github |
Napsáno | C ++ |
Licence | LGPL |
webová stránka | Kross![]() |
Kross je skriptovací rámec pro Rámečky KDE. Původně byl Kross navržen pro použití v KOffice ale nakonec se stal oficiálním skriptovacím rámcem v Softwarová kompilace KDE 4. Kross je navržen tak, aby poskytoval plnou skriptovací sílu pro uživatele aplikací KDE s jazykem jejich vlastní volba; a usnadnit vývojářům zaměřeným na platformu KDE povolení jejich aplikace s podporou pro více skriptovacích jazyků (aniž by sami museli být v jakémkoli z nich).
Skriptovací framework Kross není skriptovací jazyk sám. Slouží pouze k připojení KDE k podpoře jiných, již existujících skriptovacích jazyků. V současné době jsou podporovány: Krajta, Rubín, a JavaScript a programovací jazyk Falcon. Přidání dalších skriptovacích jazyků usnadňuje modulární architektura rámce.
Kross oproti jiným přístupům poskytuje následující výhody umožňující skriptování pro desktopové aplikace nebo desktopová prostředí:
- Uživatel si může při skriptování vybrat a použít svůj oblíbený jazyk
- Vývojář aplikace nemusí znát specifika skriptovacího jazyka
- Další skriptovací jazyky lze snadno přidat napsáním modulu /zapojit pro Kross.
Srovnání s jinými skriptovacími rámci
SWIG: Zjednodušený obal a generátor rozhraní
- Kross má v současné době méně podporovaných skriptovacích jazyků.
- Kross je postaven na vrcholu Qt / KDE. To umožňuje přístup k věcem Qt / KDE, aniž byste je museli zvlášť zabalit.[2]
- Aplikace podporující Kross nevyžadují tolik kódu jako podpora SWIG.[2]
- U SWIG je sada podporovaných skriptovacích jazyků určena v době kompilace aplikace: každý podporovaný jazyk musí mít buď kód v aplikaci k vyvolání tlumočníka daného jazyka, nebo mít sdílenou knihovnu specifickou pro tento pár aplikace - jazyk, zatímco Kross to nemusí vědět až do běhu.
AppleScript
Ve srovnání s otevřenou skriptovací architekturou (OSA) společnosti AppleScript:
- OSA lze použít s IPC (Události Apple ), což umožňuje, aby byl skript v samostatném procesu, zatímco skripty Kross běží vždy ve stejném procesu jako hlavní aplikace. Z praktického hlediska umožňuje použití IPC skriptu rozhraní mezi několika již spuštěnými aplikacemi; Kross ne.
- (IPC není technicky nutné, aby jeden skript mohl přistupovat ke kódu z mnoha aplikací najednou: skript se může propojit s knihovními formami těchto aplikací, jako jsou knihovny produkované SWIG.)
- Zatímco Kross umožňuje skriptovači psát skripty v jazyce podle vlastního výběru, AppleScript je jeden daný jazyk, i když jej lze volat z jiných (skriptovacích) jazyků.
- Kross vždy vyžaduje kód přidaný do aplikace výslovně pro Kross, zatímco mnoho Operační Systém Mac aplikace mají základní skriptovatelnost jen kvůli jejich volbě sady nástrojů GUI (Kakao ) (viz AppleScript v macOS). (Dogtail a další Nástroje pro testování / automatizaci grafického uživatelského rozhraní mít také tuto vlastnost.) „Základní skriptovatelnost“ zde znamená alespoň možnost klikat na tlačítka a nabídky a přistupovat k informacím poskytovaným přístupnost software jako Čtečky obrazovky.
Kross aktuálně nemá žádné ustanovení pro spouštění nedůvěryhodných skriptů, tj. Neumožňuje omezit, co skripty mohou dělat. Vývojář Kross Sauer[3] navrhuje buď použít jazyk s dobrou podporou karantény (například pomocí experimentálního pluginu Java), nebo použít přístupy ke zvýšení důvěry ve skripty, například použití podepsaných skriptů.[4]