Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.
/ WinRTFs Public archive

A small showcase of some of the WinRT APIs that can be used thanks t the C#/WinRT projection https://github.com/microsoft/CsWinRT

Notifications You must be signed in to change notification settings

AngelMunoz/WinRTFs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinRT + F#

In the last build event (May 2020) one project was shown C#/WinRT which is a projection of the WinRT API over C#, this projection is compatible with .netstandard2.0 and .net5 (once it's released). This is not the first time an attempt to expose the WinRT API to Win32 apps has been made, the last one was SDK Contracts and while you could use most of the WinRT APIs it had some limitations around certain APIs like Bluetooth and if you were an F#'er like me, you were in bad luck because the SDK Contracts didn't even allow your project to compile that stuff is now past and the next iteration (which I believe is a better take) is here.

The projection is also available for C++, Rust and Python.

Samples

Check the Core project where I tried to put most of the WinRT API code

  • Media

    Includes some of the Windows.Media APIs

  • Network

    Includes some of the Windows.Networking APIs

  • Power

    Includes some of the Windows.System.Power APIs

Inside the Demo project you will be able to find a simple Avalonia.FuncUI application (win32 app) that takes advantage of these APIs

You might wonder why Avalonia in the first place, isn't Avalonia cross-platform?

Doesn't this would make the app windows only?

Yes and no.

The main reason is that I prefer the MVU style that Avalonia.FuncUI provides to create and prototype desktop applications, the second one there are always ways to enhance your application for the platform you are running in, you could use code directives, runtime checks and other kinds of stuff to make your users have better experiences and integrations for the platform

If you find any bugs/suggestions please open a new issue

About

A small showcase of some of the WinRT APIs that can be used thanks t the C#/WinRT projection https://github.com/microsoft/CsWinRT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages