alphaSkia is a special cross platform Skia wrapper used in alphaTab it aims to provide a HTML5 Canvas like API to alphaTab providing a consistent rendering experience across the alphaTab flavours like web, .net and Kotlin. Differences across operating systems might still apply.
alphaSkia a slightly adapted Semantic Versioning scheme where the PATCH part indicates
the Skia milestone version we have integrated.
Currently we are on Skia m135
Given a version number MAJOR.MINOR.SKIA:
MAJORis incremented when we make incompatible API changes.MINORis incremented when we add functionality in a backward compatible mannerSKIAis aligned with the Skia milestone we have integrated. See here and here
The prerelease labels and tags we use:
- Pre-Release versions for builds which are in-development
- SemVer:
-alpha.<build counter>(NuGet and NPM) - NPM Tag:
alpha - Maven:
-SNAPSHOT
- SemVer:
- Local Builds (not published anywhere)
- SemVer:
-local - Maven:
-LOCAL
- SemVer:
| Target | .net | Java | Node.js |
|---|---|---|---|
| win-x64 | ✅ | ✅ | ✅ |
| win-x86 | ✅ | ✅ | ✅ |
| win-arm64 | ✅ | ✅ | ✅ |
| linux-x64 | ✅ | ✅ | ✅ |
| linux-x86 | ✅ | ✅ | ✅ |
| linux-arm | ✅ | ✅ | ✅ |
| linux-arm64 | ✅ | ✅ | ✅ |
| macos-x64 | ✅ | ✅ | ✅ |
| macos-arm64 | ✅ | ✅ | ✅ |
| android-x64 | ✅ | ✅ | |
| android-x86 | ✅ | ✅ | |
| android-arm | ✅ | ✅ | |
| android-arm64 | ✅ | ✅ | |
| ios-arm64 | ✅ | ||
| iossimulator-x64 | ✅ | ||
| iossimulator-arm64 | ✅ |
We don't have a full automatic test matrix for all packages and platforms. If you encounter any platform problems please report them in this repository.
A big Thank you to the following projects giving me good insights on how to build Skia in a cross platform fashion. These projects influenced heavily how the pipelines of alphaSkia are organized.