Skia Graphics Engine

Skia Graphics Engine — кроссплатформенная открытая библиотека для работы с двумерной графикой, написанная на языке C++. Skia абстрагирует особенности графических API разных платформ, позволяя разработчикам работать на различных операционных системах с единым интерфейсом[1]. Библиотека была изначально разработана компанией Skia Inc., которую в 2005 году приобрела Google[2]. В 2008 году Skia стала распространяться по свободной лицензии New BSD License.

Что важно знать
Skia Graphics Engine
Тип библиотека для работы с графикой
Автор Skia Inc.
Разработчик Google
Написана на C++
Операционные системы Android, iOS, Linux, macOS, Windows
Репозиторий skia.googlesource.com/sk…
Лицензия New BSD License
Сайт skia.org

История

Компания Skia Inc., разработчик Skia Graphics Engine, была основана в 2004 году Майком Ридом и Кэри Кларком в Чапел-Хилл, Северная Каролина. В 2005 году её приобрела Google[3].

Этимология

«Skia» — латинизация греческого слова «тень» (Σκιά).

Обзор

Для обеспечения мультиплатформенности Skia поддерживает несколько аппаратно- и программно-зависимых бэкендов, включая:

  • программную растеризацию на CPU;
  • генерацию вывода в PDF;
  • аппаратно-ускоренный рендеринг через:[4]
    • бэкенд ANGLE, реализующий преобразование вызовов OpenGL ES в нативные API вендоров;
    • Vulkan и Metal;
  • поддержку формата SVG;
  • экспорт в XML Paper Specification (XPS).

По своему назначению Skia ближе всего к библиотекам вроде Cairo или Pathfinder (главная задача — вывод графики), а не к более комплексным API с поддержкой виджетов и языков описания UI, таким как Qt[5].

Применение

По состоянию на 2023 год библиотека применяется, в частности, в Google Chrome, ChromeOS, ChromiumOS, Mozilla Firefox, Mozilla Thunderbird, Android, Firefox OS, Flutter, Ladybird[6], Avalonia (с Alpha 4), LibreOffice (с версии 7.0), RAD Studio[7] (начиная с версии 12.0).

Поддерживаемые платформы

  • Windows 10 и 11
  • macOS 10.15 и новее
  • iOS 12 и новее
  • Android 4.3 (JellyBean) и новее
  • Ubuntu 18.04+, Debian 10+, openSUSE 15.2+, Fedora Linux 32+
  • веб-браузеры[8]

Примечания