
Что общего у Google Chrome, Mozilla Firefox, Chrome OS, Android, Flutter и Delphi? У них ускоренная графика благодаря Skia. Эта высокопроизводительная кросс-платформенная библиотека 2D-графики стремительно покоряет мир разработчиков. Он работает с VCL и FireMonkey на всех платформах, поддерживаемых Delphi. Одна строка кода может ускорить ваши существующие приложения FireMonkey или продвинуться дальше и открыть новые функции для захватывающих дух пользовательских интерфейсов.
Skia4Delphi — это проект с открытым исходным кодом победителей и братьев Spirit of Delphi Award Пауло Сезара Ботельо Барбозы и Винисиуса Фелипе Ботельо Барбозы. Так как же использовать Skia4Delphi и вывести разработку приложений на новый уровень? Вы пришли в нужное место.
Вот несколько коротких видео или вы можете посмотреть полный повтор :
Что такое Skia, вы хотите спросить?
Представьте, что вы разработчик программного обеспечения, которому сегодня необходимо охватить все основные платформы. Ваш традиционный выбор:
- Родные
- Прямой доступ к оборудованию
- Отдельный код для каждой платформы
- Лучшее взаимодействие с пользователем за счет производительности разработчиков
- Интернет/Облако
- В основном общий код
- Отсоединен от оборудования
- Повышение производительности разработчиков за счет пользовательского опыта

Но теперь у нас есть… FireMonkey
- Native Compiled — прямой доступ к оборудованию платформы
- Мультиплатформенность — одна кодовая база для всех платформ
- Компонентный визуальный дизайнер — максимальная производительность разработчиков

Как Skia вписывается сюда? Представляем… Google Skia
- Google Skia — это графический движок с открытым исходным кодом для Google Chrome, Android, Flutter, Xamarin, Firefox и многих других.
- Он предоставляет общие 2D API, которые работают на различных платформах, абстрагируя сложности при реализации низкоуровневых библиотек, которые он использует, таких как Vulkan, DirectX, Metal и другие, реализуя множество оптимизаций и новых функций.


- Создайте проект с Skia4Delphi + Delphi 11
- Создайте красивое приложение с помощью VCL или FMX.
- Опубликовать на GitHub
- Включите видео и скриншоты, а затем поделитесь ими в социальных сетях.
- Выигрывай призы и получай признание
- Главный приз — Apple M1 Mac Mini, так что вы можете воспользоваться новой поддержкой Apple Silicon в Delphi 11 Alexandria.
Подробности позже: blogs.embarcadero.com/?p=140459
Содержание
СЛЕДИТЕ ЗА ПРОЕКТОМ
Дополнительные ссылки
- Skia4Delphi — github.com/skia4delphi/skia4delphi
- Вебинар – blogs.embarcadero.com/?p=140459
- Документация по лыжам
- Подробнее о шейдерах
- Больше образцов
Примечания
- Для платформы Mac, когда
GlobalUseMetal
true вместе сGlobalUseSkia
, производительность с классическим FMX аналогична. - На iOS нет общей ссылки (общие библиотеки: dll, .so, .dylib), только статическая (в данном случае .a). В этом .a (эквивалент .lib в Windows) сгенерированы все obj-файлы, однако, несмотря на 60 МБ, размер результирующего приложения намного меньше, потому что оно скомпилировано только вместе с используемыми функциями. Другими словами, статические библиотеки обычно бывают больше общих библиотек, но результирующий вывод намного меньше и не превышает нормального размера разделяемой библиотеки.

- И JPEG, и PNG являются форматами растровых/растровых изображений.
- PNG без потерь, со 100% точным воспроизведением изображения
- JPEG с потерями, теряет некоторую точность изображения каждый раз, когда он редактируется или сжимается.
Сравнение размеров файлов изображений



Векторные анимации?
Lottie — это формат анимации на основе JSON.
Name | Type | Size | Relative |
---|---|---|---|
dev_coding.tgs | tgs (zipped json) | 55,834 | — |
dev_coding.mp4 | mpeg4 (lossy) | 373,642 | 7x |
dev_coding.json | lottie (json) | 583,485 | 10x |
dev_coding.gif | gif (lossless) | 5,020,259 | 90x |
Дизайн пользовательского интерфейса
- SVG и Lottie позволяют дизайнеру легко создавать плавные шаблоны пользовательского интерфейса с высоким разрешением. Затем с помощью Skia4Delphi вы можете добиться идеального соответствия пользовательского интерфейса.
- Сделайте движение частью вашего UI/UX
- Другое использование:
- Об экранах, заставках, установщиках, адаптации пользователей, мастерах и т. д.


- Создайте проект с Skia4Delphi + Delphi 11
- Создайте красивое приложение с помощью VCL или FMX.
- Опубликовать на GitHub
- Включите видео и скриншоты, а затем поделитесь ими в социальных сетях.
- Выигрывай призы и получай признание
- Главный приз — Apple M1 Mac Mini, так что вы можете воспользоваться новой поддержкой Apple Silicon в Delphi 11 Alexandria.
Подробности позже: blogs.embarcadero.com/?p=140459
СЛЕДИТЕ ЗА ПРОЕКТОМ
Дополнительные ссылки
- Skia4Delphi — github.com/skia4delphi/skia4delphi
- Вебинар – blogs.embarcadero.com/?p=140459
- Документация по лыжам
- Подробнее о шейдерах
- Больше образцов
Примечания
- Для платформы Mac, когда
GlobalUseMetal
true вместе сGlobalUseSkia
, производительность с классическим FMX аналогична. - На iOS нет общей ссылки (общие библиотеки: dll, .so, .dylib), только статическая (в данном случае .a). В этом .a (эквивалент .lib в Windows) сгенерированы все obj-файлы, однако, несмотря на 60 МБ, размер результирующего приложения намного меньше, потому что оно скомпилировано только вместе с используемыми функциями. Другими словами, статические библиотеки обычно бывают больше общих библиотек, но результирующий вывод намного меньше и не превышает нормального размера разделяемой библиотеки.

Почему векторные форматы?
- Гораздо меньшие размеры файлов
- Бесконечно изменяемый размер и масштабируемость
- Более плавная анимация
- Более простое редактирование и настройка
Почему векторная графика?

Источник SVG — это XML (который легко сжимается с помощью Zip)

PNG и JPEG являются двоичными (уже сжатыми).

- И JPEG, и PNG являются форматами растровых/растровых изображений.
- PNG без потерь, со 100% точным воспроизведением изображения
- JPEG с потерями, теряет некоторую точность изображения каждый раз, когда он редактируется или сжимается.
Сравнение размеров файлов изображений



Векторные анимации?
Lottie — это формат анимации на основе JSON.
Name | Type | Size | Relative |
---|---|---|---|
dev_coding.tgs | tgs (zipped json) | 55,834 | — |
dev_coding.mp4 | mpeg4 (lossy) | 373,642 | 7x |
dev_coding.json | lottie (json) | 583,485 | 10x |
dev_coding.gif | gif (lossless) | 5,020,259 | 90x |
Дизайн пользовательского интерфейса
- SVG и Lottie позволяют дизайнеру легко создавать плавные шаблоны пользовательского интерфейса с высоким разрешением. Затем с помощью Skia4Delphi вы можете добиться идеального соответствия пользовательского интерфейса.
- Сделайте движение частью вашего UI/UX
- Другое использование:
- Об экранах, заставках, установщиках, адаптации пользователей, мастерах и т. д.


- Создайте проект с Skia4Delphi + Delphi 11
- Создайте красивое приложение с помощью VCL или FMX.
- Опубликовать на GitHub
- Включите видео и скриншоты, а затем поделитесь ими в социальных сетях.
- Выигрывай призы и получай признание
- Главный приз — Apple M1 Mac Mini, так что вы можете воспользоваться новой поддержкой Apple Silicon в Delphi 11 Alexandria.
Подробности позже: blogs.embarcadero.com/?p=140459
СЛЕДИТЕ ЗА ПРОЕКТОМ
Дополнительные ссылки
- Skia4Delphi — github.com/skia4delphi/skia4delphi
- Вебинар – blogs.embarcadero.com/?p=140459
- Документация по лыжам
- Подробнее о шейдерах
- Больше образцов
Примечания
- Для платформы Mac, когда
GlobalUseMetal
true вместе сGlobalUseSkia
, производительность с классическим FMX аналогична. - На iOS нет общей ссылки (общие библиотеки: dll, .so, .dylib), только статическая (в данном случае .a). В этом .a (эквивалент .lib в Windows) сгенерированы все obj-файлы, однако, несмотря на 60 МБ, размер результирующего приложения намного меньше, потому что оно скомпилировано только вместе с используемыми функциями. Другими словами, статические библиотеки обычно бывают больше общих библиотек, но результирующий вывод намного меньше и не превышает нормального размера разделяемой библиотеки.

Преимущества SVG
- Независимость от разрешения и масштабируемость
- Стайлинг (можно легко изменить цвет)
- Файл намного меньше
- Для значков всегда предпочитайте SVG статическим изображениям, таким как PNG.
- Тысячи бесплатных иконок и изображений доступны в Интернете
Преимущества Lottie Animation
- Независимый от разрешения и масштабируемый векторный формат
- Легкий, на 600% меньше по сравнению с GIF
- Исключительная производительность с плавной анимацией
- Тысячи бесплатных анимаций Lottie (JSON) доступны в Интернете

Почему векторные форматы?
- Гораздо меньшие размеры файлов
- Бесконечно изменяемый размер и масштабируемость
- Более плавная анимация
- Более простое редактирование и настройка
Почему векторная графика?

Источник SVG — это XML (который легко сжимается с помощью Zip)

PNG и JPEG являются двоичными (уже сжатыми).

- И JPEG, и PNG являются форматами растровых/растровых изображений.
- PNG без потерь, со 100% точным воспроизведением изображения
- JPEG с потерями, теряет некоторую точность изображения каждый раз, когда он редактируется или сжимается.
Сравнение размеров файлов изображений



Векторные анимации?
Lottie — это формат анимации на основе JSON.
Name | Type | Size | Relative |
---|---|---|---|
dev_coding.tgs | tgs (zipped json) | 55,834 | — |
dev_coding.mp4 | mpeg4 (lossy) | 373,642 | 7x |
dev_coding.json | lottie (json) | 583,485 | 10x |
dev_coding.gif | gif (lossless) | 5,020,259 | 90x |
Дизайн пользовательского интерфейса
- SVG и Lottie позволяют дизайнеру легко создавать плавные шаблоны пользовательского интерфейса с высоким разрешением. Затем с помощью Skia4Delphi вы можете добиться идеального соответствия пользовательского интерфейса.
- Сделайте движение частью вашего UI/UX
- Другое использование:
- Об экранах, заставках, установщиках, адаптации пользователей, мастерах и т. д.


- Создайте проект с Skia4Delphi + Delphi 11
- Создайте красивое приложение с помощью VCL или FMX.
- Опубликовать на GitHub
- Включите видео и скриншоты, а затем поделитесь ими в социальных сетях.
- Выигрывай призы и получай признание
- Главный приз — Apple M1 Mac Mini, так что вы можете воспользоваться новой поддержкой Apple Silicon в Delphi 11 Alexandria.
Подробности позже: blogs.embarcadero.com/?p=140459
СЛЕДИТЕ ЗА ПРОЕКТОМ
Дополнительные ссылки
- Skia4Delphi — github.com/skia4delphi/skia4delphi
- Вебинар – blogs.embarcadero.com/?p=140459
- Документация по лыжам
- Подробнее о шейдерах
- Больше образцов
Примечания
- Для платформы Mac, когда
GlobalUseMetal
true вместе сGlobalUseSkia
, производительность с классическим FMX аналогична. - На iOS нет общей ссылки (общие библиотеки: dll, .so, .dylib), только статическая (в данном случае .a). В этом .a (эквивалент .lib в Windows) сгенерированы все obj-файлы, однако, несмотря на 60 МБ, размер результирующего приложения намного меньше, потому что оно скомпилировано только вместе с используемыми функциями. Другими словами, статические библиотеки обычно бывают больше общих библиотек, но результирующий вывод намного меньше и не превышает нормального размера разделяемой библиотеки.

Архитектура
- Использует пользовательскую версию библиотеки Skia.
- Вы можете просматривать и изменять исходный код самостоятельно
- Развернуто через Deployment Manager
- Просто щелкните правой кнопкой мыши «Включить Skia», чтобы добавить его в диспетчер развертывания.
- Нативные библиотеки для всех платформ
- OSXARM64, Win32, Win64, Android, Android64, iOSDevice64, Linux64 и OSX64
- Компоненты и библиотеки Delphi
- Компоненты, установленные на Tool Palette для VCL и FMX, с библиотекой, добавленной в путь поиска
Распространяемые
Platform | Library | Size |
---|---|---|
Win32 | sk4d.dll | 18 mb |
Win64 | sk4d.dll | 18 mb |
Android | libsk4d.so | 19 mb |
Android64 | libsk4d.so | 24 mb |
iOSDevice64 | sk4d.a | 60 mb |
Ubuntu64 | libsk4d.so | 22 mb |
RedHat64 | libsk4d.so | 22 mb |
OSX64 | sk4d.dylib | 20 mb |
OSXARM64 | sk4d.dylib | 19 mb |
Качество визуализации

Качество прорисовки улучшено, в некоторых сценариях значительно

Преимущества SVG
- Независимость от разрешения и масштабируемость
- Стайлинг (можно легко изменить цвет)
- Файл намного меньше
- Для значков всегда предпочитайте SVG статическим изображениям, таким как PNG.
- Тысячи бесплатных иконок и изображений доступны в Интернете
Преимущества Lottie Animation
- Независимый от разрешения и масштабируемый векторный формат
- Легкий, на 600% меньше по сравнению с GIF
- Исключительная производительность с плавной анимацией
- Тысячи бесплатных анимаций Lottie (JSON) доступны в Интернете

Почему векторные форматы?
- Гораздо меньшие размеры файлов
- Бесконечно изменяемый размер и масштабируемость
- Более плавная анимация
- Более простое редактирование и настройка
Почему векторная графика?

Источник SVG — это XML (который легко сжимается с помощью Zip)
