Kross (программное обеспечение) - Kross (software)
Разработчики) | KDE |
---|---|
Стабильный выпуск | 5.76.0 (7 ноября 2020 г.[±][1] | )
Репозиторий | github |
Написано в | C ++ |
Лицензия | LGPL |
Интернет сайт | кросс |
Kross это среда сценариев для Фреймворки KDE. Первоначально Kross был разработан для использования в KOffice но в итоге стал официальной средой создания сценариев в Компиляция программного обеспечения KDE 4. Kross разработан для обеспечения полной функциональности сценариев для пользователей приложений KDE, с языком их собственный выбор; и упростить разработчикам, ориентированным на платформу KDE, возможность включения в свои приложения поддержки несколько языков сценариев (без необходимости владеть любым из них).
Фреймворк сценариев Kross - это не язык сценариев сам. Он просто служит для включения в KDE поддержки других, уже существующих языков сценариев. В настоящее время поддерживаются: Python, Рубин, и JavaScript и язык программирования Falcon. Добавление других языков сценариев упрощается благодаря модульной архитектуре фреймворка.
Kross предоставляет следующие преимущества по сравнению с другими подходами для включения сценариев для настольных приложений или сред рабочего стола:
- Пользователь может выбрать и использовать свой любимый язык для написания сценариев.
- Разработчику приложения не обязательно знать специфику языка сценариев.
- Другие языки сценариев можно легко добавить, написав модуль /плагин для Кросса.
Сравнение с другими фреймворками сценариев
SWIG: упрощенная оболочка и генератор интерфейсов
- В настоящее время Kross поддерживает меньше языков сценариев.
- Kross построен на Qt / KDE. Это позволяет получить доступ к объектам Qt / KDE без дополнительных усилий для их обертывания.[2]
- Приложениям, поддерживающим Kross, не требуется столько кода, сколько для поддержки SWIG.[2]
- При использовании SWIG набор поддерживаемых языков сценариев определяется во время компиляции приложения: каждый поддерживаемый язык должен иметь код в приложении для вызова интерпретатора этого языка и / или иметь общую библиотеку, специфичную для этой пары приложение-язык, тогда как Кроссу не нужно знать до момента выполнения.
AppleScript
По сравнению с Open Scripting Architecture (OSA) AppleScript:
- OSA можно использовать с МПК (События Apple ), позволяя сценарию находиться в отдельном процессе, тогда как сценарии Кросса всегда выполняются в том же процессе, что и основное приложение. На практике использование IPC позволяет сценарию взаимодействовать между несколькими уже запущенными приложениями; Кросс - нет.
- (IPC не является технически необходимым для одного сценария для одновременного доступа к коду из многих приложений: сценарий может связываться с библиотечными формами этих приложений, такими как библиотеки, созданные SWIG.)
- В то время как Kross позволяет разработчику сценариев писать сценарии на любом языке по своему выбору, AppleScript является одним из заданных языков, хотя его можно вызывать из других (сценариев) языков.
- Kross всегда требует, чтобы код добавлялся в приложение явно для Kross, тогда как многие macOS приложения имеют базовую возможность создания сценариев только потому, что они выбрали инструментарий графического интерфейса (Какао ) (увидеть AppleScript в macOS). (Собачий хвост и другие Инструменты тестирования / автоматизации GUI также имеют это свойство.) «Базовая возможность использования сценариев» здесь означает, по крайней мере, возможность нажимать кнопки и меню и получать доступ к информации, предоставляемой доступность программное обеспечение, такое как Программы чтения с экрана.
Kross в настоящее время не имеет возможности запускать ненадежные скрипты, т.е. не позволяет ограничивать возможности скриптов. Разработчик Kross Зауэр[3] предлагает либо использовать язык с хорошей поддержкой песочницы (например, с помощью экспериментального подключаемого модуля Java), либо использовать подходы для повышения доверия к скриптам, такие как использование подписанных скриптов.[4]