Skip to main content
Any Framework

Templates for Skia platforms.

Published
Oct 2, 2023
3y ago
Total Downloads
6.9K
6,852

Deprecated Package Version

Reason: Legacy

This experimental custom Skia workload is no longer maintained. Existing package versions remain available for legacy consumers. For new Uno Platform projects, use the official Uno.Sdk and its current desktop target.

Install

dotnet add package Skia.Templates --version 0.3.0

No framework information available.

README

Skia

dotnet License: MIT Discord

Skia is separate TPM for developing Skia applications within a single project, if there are other TargetFrameworks using the main net7.0 TPM.

Usage

Just install and add net7.0-skia to TargetFrameworks.

Install

You can install Skia workload for .NET 6.0/7.0/8.0 by using the installer script.

  • On Linux / macOS:
curl -sSL https://raw.githubusercontent.com/HavenDV/Skia/main/scripts/workload-install.sh | sudo bash

if you want to install a specific version of Skia workload or install to a specific directory, use the following command:

curl -sSL https://raw.githubusercontent.com/HavenDV/Skia/main/scripts/workload-install.sh | bash /dev/stdin -v <version> -d <directory>
  • On Windows:
Invoke-WebRequest 'https://raw.githubusercontent.com/HavenDV/Skia/main/scripts/workload-install.ps1' -OutFile 'workload-install.ps1';
./workload-install.ps1 [-v <version>] [-d <directory>]

You can see the Skia workload as follows if it is properly installed.

PS D:\workspace> dotnet workload list

This command lists only workloads that were installed via `dotnet workload install` in this version of the SDK and not those that were installed via Visual Studio.

Installed Workload Ids
----------------------
maui
skia

Use `dotnet workload search` to find additional workloads to install.

Updates are avaliable for the following workload(s): maui skia. Run `dotnet workload update` to get the latest  

Development

You can test this project using these commands(tested on macOS) in src/tasks/tasks folder:

dotnet build /t:TestWorkload
dotnet build /t:WorkloadUninstall

other possible targets(it already included in targets above):
DownloadDotnetInstall
DotnetInstall
WorkloadInstall
BuildPackages
CleanArtifactsAndTemporaryFiles

You can override these properties:
/p:UseCurrentDotnet=true - Will install workload to current dotnet instead downloaded.

Disclaimer

Although this is a working solution, I have simplified some things regarding workload and manifest, which could theoretically cause problems (for example, when upgrading to a new sdk version).
I'll be glad to hear about it in issues.

Docs

Official documentation regarding the design of Workloads and Sdks:

Support

Priority place for bugs: https://github.com/HavenDV/Skia/issues
Priority place for ideas and general questions: https://github.com/HavenDV/Skia/discussions
Discord: https://discord.gg/g8u2t9dKgE

Changes from Previous Version

No structural changes between v0.2.0 and v0.3.0.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

NuGet marks this package as deprecated. Review the publisher's migration guidance before adopting it.No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.