Yoru is a software development framework written in C#, designed for creating crossplatform apps and games. Backed by the capabilities of SkiaSharp, Yoru provides a direct approach towards developing scalable and production-ready software, that runs smoothly across all platforms. See the example project for a demonstration of Yoru's capabilities.
Applications made with Yoru have a simple structure, consisting of Application
, Desktop
and Mobile
projects.
Application
is the main project, where the application logic is written.Desktop
is the project for desktop applications, and is used to run the application on Windows, macOS and Linux.Mobile
is the project for mobile applications, and is used to run the application on iOS and Android.
Yoru provides an abstract Renderer
class, that allows a single SkiaSharp canvas to be consistently used across all platforms. Audio, input, and other features undergo a similar process, allowing for a seamless development experience.
Yoru was designed with the goal of allowing a single C# project to run smoothly across common operating systems, without requiring platform-specific code. Yoru utilises both OpenTK and .NET Maui to provide native support for Windows, macOS, Linux, iOS and Android, and bridges platform-specific commands to a global interface for straightforward development.
The following platforms are (planned to be) supported by Yoru:
- Windows 10+
- macOS 10.12+
- Linux (Ubuntu, Fedora, etc.)
- iOS 11+
- Android 5.0+
You may find the Nuget package Here.
You may encounter missing library issues on Linux, usually for fontconfig. You should be able to find the development package for your distribution, otherwise you may use the following commands:
sudo apt install libfontconfig-dev
sudo pacman -S fontconfig
sudo dnf install fontconfig-devel