Представлен SeedKit, проект для создания GNOME-приложений на базе web-технологий

Разработчики проекта GNOME представили первый публичный выпуск проекта SeedKit, позволяющего создавать приложения для десктоп-окружения GNOME с использованием HTML5-технологий, CSS3 и JavaScript. Основной целью создания SeedKit является снижение порога вхождения разработчиков в проект, которым теперь не требуется изучения низкоуровневых языков и знания тонкостей GTK+, достаточно иметь базовые навыки web-программирования.

В состав пакета входит JavaScript-библиотека для формирования интерфейса пользователя, позволяющая обращаться к объектам GObjects, GTK-виджетам, обрабатывать события, взаимодействовать DBus и вызывать функции низкоуровневых библиотек GNOME. В качестве основы библиотеки выступает браузерный движок WebKit. Вторым элементом является SeedKit Viewer - управляемая через командную строку среда для исполнения и отображения приложений. По заявлению разработчиков, написанные с использованием web-технологий программы по внешнему виду, интеграции с рабочим столом и взаимодействию с пользователем ничем не отличаются от классических GNOME-приложений.

Отдельно отмечается, что SeedKit предоставляет возможность разработчикам создания гибридных GTK+ приложений, в которых код на языках Си и Vala совмещается со встроенными элементами интерфейса, подготовленными с использованием SeedKit. В SeedKit допускается использование сторонних JavaScript библиотек, таких как JQuery, ExtJS и Dojo. Для разработчиков сайтов SeedKit может представлять интерес с точки зрения подготовки специализированного для просмотра данного сайта приложения-браузера, которое может поддерживать такие функции как запуск из меню GNOME и вывод уведомлений.

Разработка JetPack велась под впечатлением от webOS SDK и Mozilla JetPack. Первая версия SeedKit позиционируется как ранний экспериментальный релиз, стабилизация кодовой базы и формирование API будет завершено к моменту выпуска стабильного релиза 1.0, до этого времени совместимость API между выпусками не гарантируется. Исходные тексты библиотеки распространяются в рамках лицензии LGPLv3, а SeedKit Viewer - GPLv3. Для работы SeedKit требует установки предварительной версии библиотеки GTK+ 3.0.

К слову, в Qt сейчас также наблюдается тенденция к переходу к декларативным средствам построения интерфейса пользователя - QML, в качестве языка для создания сценариев в котором используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками, представляющими собой определение JavaScript-объектов. QML-компоненты могут быть не только интегрированы в состав проектов на языке C++, но и работать в виде обособленных графических приложений, логика функционирования которых задана целиком на языке JavaScript.

©  OpenNet