Kross es un marco de scripting para KDE Frameworks . Originalmente, Kross fue diseñado para su uso en KOffice, pero finalmente se convirtió en el marco de scripting oficial en KDE Software Compilation 4 . Kross está diseñado para proporcionar toda la potencia de scripting a los usuarios de aplicaciones KDE, con un lenguaje de su propia elección ; y facilite a los desarrolladores que se dirigen a la plataforma KDE habilitar su aplicación con soporte para múltiples lenguajes de scripting (sin necesidad de dominar ninguno de ellos).
Desarrollador (es) | KDE |
---|---|
Lanzamiento estable | 5.83.0 (12 de junio de 2021 [±] [1] | )
Repositorio | github |
Escrito en | C ++ |
Licencia | LGPL |
Sitio web | kross |
El marco de scripting de Kross no es un lenguaje de scripting en sí mismo. Simplemente sirve para conectar a KDE el soporte para otros lenguajes de scripting ya existentes. Actualmente se admiten: Python , Ruby y JavaScript y el lenguaje de programación Falcon. La adición de otros lenguajes de secuencias de comandos se facilita gracias a la arquitectura modular del marco.
Kross ofrece las siguientes ventajas sobre otros enfoques para habilitar la creación de scripts para aplicaciones de escritorio o entornos de escritorio:
- El usuario es libre de elegir y utilizar su idioma favorito para las tareas de creación de scripts.
- El desarrollador de la aplicación no necesita conocer los detalles sobre un lenguaje de scripting.
- Se pueden agregar fácilmente otros lenguajes de secuencias de comandos escribiendo un módulo / complemento para Kross.
Comparación con otros marcos de scripting
SWIG: Generador de interfaz y envoltorio simplificado
- Actualmente, Kross tiene menos lenguajes de secuencias de comandos compatibles.
- Kross está construido sobre Qt / KDE. Esto permite el acceso a cosas de Qt / KDE sin necesidad de un esfuerzo adicional para envolverlas. [2]
- Las aplicaciones que admiten Kross no requieren tanto código como para admitir SWIG. [2]
- Con SWIG, el conjunto de lenguajes de secuencias de comandos admitidos se determina en el momento de compilar la aplicación: cada idioma admitido debe tener un código en la aplicación para invocar al intérprete de ese idioma y / o tener una biblioteca compartida específica para ese par de idiomas de aplicación, mientras que Kross no necesita saberlo hasta el tiempo de ejecución.
AppleScript
En comparación con la Arquitectura de secuencias de comandos abierta (OSA) de AppleScript:
- OSA se puede utilizar con IPC ( eventos de Apple ), lo que permite que un script esté en un proceso separado, mientras que los scripts de Kross siempre se ejecutan en el mismo proceso que la aplicación principal. En términos prácticos, el uso de IPC permite que un script interactúe entre varias aplicaciones que ya se están ejecutando; Kross no lo hace.
- (IPC no es técnicamente necesario para que una secuencia de comandos acceda al código de muchas aplicaciones a la vez: una secuencia de comandos se puede vincular con las formas de biblioteca de esas aplicaciones, como las bibliotecas producidas por SWIG).
- Mientras que Kross permite al programador escribir scripts en un idioma de su elección, AppleScript es un lenguaje dado, aunque se puede llamar desde otros lenguajes (de script).
- Kross siempre requiere que se agregue código a la aplicación explícitamente para Kross, mientras que muchas aplicaciones macOS tienen una capacidad de secuencia de comandos básica solo debido a su elección del kit de herramientas GUI ( Cocoa ) (consulte AppleScript en macOS). ( Dogtail y otras herramientas de automatización / pruebas de GUI también tienen esta propiedad). “Capacidad de escritura básica” aquí significa al menos poder hacer clic en botones y menús y acceder a la información proporcionada al software de accesibilidad , como lectores de pantalla .
Actualmente, Kross no tiene ninguna disposición para ejecutar scripts que no sean de confianza, es decir, no permite restringir lo que pueden hacer los scripts. El desarrollador de Kross, Sauer [3], sugiere usar un lenguaje con buen soporte de sandbox (como usar el complemento experimental de Java) o usar enfoques para aumentar la confianza en los scripts, como usar scripts firmados. [4]
Aplicaciones que utilizan Kross
Referencias
- ^ "KDE Ships Frameworks 5.83.0" . KDE . 12 de junio de 2021 . Consultado el 16 de junio de 2021 .
- ^ a b "?" . Archivado desde el original el 24 de septiembre de 2006 . Consultado el 16 de mayo de 2007 .
- ^ El camino hacia KDE 4: Nuevas tecnologías de KOffice
- ^ "?" . Archivado desde el original el 24 de septiembre de 2006.