react-native-skia README

The project's README from github.com/wcandillon/react-native-skia. As one markdown file: README.md.

React Native Skia

High-performance 2d Graphics for React Native using Skia

CI npm version issues

skia

Checkout the full documentation here.

React Native Skia brings the Skia Graphics Library to React Native. Skia serves as the graphics engine for Google Chrome and Chrome OS, Android, Flutter, Mozilla Firefox and Firefox OS, and many other products.

Getting Started

yarn add react-native-skia

Installation instructions

v3 and v2

React Native Skia v3 renders with Graphite, Skia's new GPU backend. It runs on Metal on Apple platforms and on Vulkan on Android.

v3 v2
npm react-native-skia react-native-skia@2 (@shopify/react-native-skia up to 2.14)
Skia backend Graphite Ganesh
Platforms iOS, Android (API level 26 and above), macOS, Mac Catalyst, Web iOS, Android, macOS, Mac Catalyst, tvOS, Android TV, Web
Branch main 2.x
Documentation wcandillon.github.io/react-native-skia wcandillon.github.io/react-native-skia/v2

v2 is still maintained. To upgrade from v2 or from @shopify/react-native-skia, follow the migration guide.

WebGPU

Graphite runs on Dawn, Google's WebGPU implementation. With React Native WebGPU installed alongside it, Skia and WebGPU share the same GPU device and can exchange textures without any copy. This also works with three.js. See the WebGPU documentation.

Contributing

For detailed information on library development, building, testing, and contributing guidelines, please see CONTRIBUTING.md.

react-native-skia (wcandillon/react-native-skia)

Searching Database…

Что это?React Native Skia приносит графический движок Google Skia (рендерер, используемый Chrome и Android) в React Native, позволяя писать высокопроизводительную 2D-графику, шейдеры и анимации через API React-компонентов.
Это UI-библиотека или низкоуровневый графический движок?Это библиотека, открывающая примитивы рисования Skia (пути, шейдеры, изображения, текст) как декларативные React-компоненты, так что графика строится композицией компонентов, а не прямыми императивными вызовами canvas API.
Как добавить его в проект?Установите его через свой пакетный менеджер (например, yarn add @shopify/react-native-skia) в существующий React Native-проект, затем импортируйте из пакета компоненты вроде Canvas, Path и Skia и начинайте рисовать.
Работает ли он с Expo и New Architecture?Он поддерживает и Expo (managed и bare), и обычные React Native-проекты, а также совместим с New Architecture (Fabric/TurboModules).
Работает ли он в вебе так же?Поддержка веба реализована через CanvasKit/WASM, а не нативный Skia, поэтому поведение и производительность в вебе могут отличаться от нативных реализаций iOS/Android.
На каких платформах он работает?Он нацелен на iOS и Android как нативные платформы React Native, с экспериментальной поддержкой веба через WebAssembly.
Какую графику он умеет рисовать из коробки?Он поддерживает пути, фигуры, изображения, текст, градиенты, шейдеры (SKSL), режимы наложения, фильтры и сложные анимации — всё управляется shared values в стиле Reanimated для плавных обновлений на 60 fps и выше.
Зачем это вместо встроенных View в react-native или SVG?Skia даёт прямой рендеринг с ускорением на GPU и куда более богатый API рисования (кастомные шейдеры, сложные пути, фильтры, эффекты размытия), чем могут предложить стандартные RN-вью или react-native-svg, сокращая разрыв с производительностью нативной графики.
Можно ли анимировать графику с Reanimated?Да, библиотека задумана для тесной интеграции с react-native-reanimated: рисунками Skia можно управлять через shared values и worklets, получая плавные анимации на нативном потоке.
Creator
wcandillon
Size
338.6 MB
Stars
8.7K
Age
4y
Commits · 90 Days