MOOS
compose-multiplatform-template
MOOS | compose-multiplatform-template | |
---|---|---|
11 | 2 | |
1,011 | 596 | |
- | - | |
4.1 | 10.0 | |
14 days ago | 5 months ago | |
C# | Kotlin | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MOOS
-
Building a bare-metal bootable game for Raspberry Pi in C#
https://github.com/nifanfa/MOOS
I ran across this link-hopping through GitHub repos after reading the article. Might be what you were hoping for.
- MOOS: C# OS using .NET7 AOT compilation
-
New UI for my C# operating system MOOS
see https://github.com/nifanfa/MOOS/tree/main/CosmosCompatible
-
Welcome to Moos!
damn copy of that https://github.com/nifanfa/MOOS/blob/main/README.md
-
Running Doom on my C# OS(Doomgeneric)
you can find the source of my os here https://github.com/nifanfa/MOOS
-
Great answer
https://github.com/nifanfa/moos , C# os
-
My os written in c#
But to write an actual C# kernel, you need a glue layer in another language because there's no way to express certain things, even with NativeAOT. The OP has this glue layer at https://github.com/nifanfa/MOOS/tree/master/NativeLib
- Soon, I will program a whole OS with Python
compose-multiplatform-template
-
Building a bare-metal bootable game for Raspberry Pi in C#
The latest Kotlin can target WasmGC. This is in Alpha preview right now, but works well, and it's one of the first language implementations that does it.
By comparison, .NET's Blazor targets LLVM, and they either AOT or JIT, however the client has to download a heavier runtime that has at least a garbage collector, and is less than ideal. Basically, the original Wasm was designed for languages with linear memory and still makes a great target for C++ or Rust. dotNET's WASM is there only to support Blazor, which is a web framework, a sort of successor to Web Forms and whose future is uncertain. Speaking of which, you're better off with MVC + HTMX, but I digress. So for more interesting use cases, Kotlin is actually ahead in their Wasm support.
For multi-platform support, Kotlin is in its infancy, but the company behind it has a vested interest in targeting multiple platforms, and Kotlin Multi-platform support also has Google backing.
So, for one, you can share business logic on iOS, as you can integrate Kotlin libraries into Swift applications: https://kotlinlang.org/docs/multiplatform.html
And they have been porting Jetpack Compose to the desktop and to iOS: https://github.com/JetBrains/compose-multiplatform
Over on .NET side, the blessed solution by Microsoft, for targeting iOS, Android or the desktop, is right now .NET MAUI. So, where's Xamarin? Where's Silverlight for that matter? That's right, Microsoft changes UI solutions like they change socks, and I don't understand how anyone could trust them for a multi-platform solution.
-
Is Kotlin Multiplatform the right answer ?
So yes I would recommend using KMP. If you already use kotlin then it's an easy transition, you just have to learn how all the pieces work together. If you're unsure about it start with a small module and import that into your android sample. You can also view some sample projects to get started like https://github.com/touchlab/KaMPKit and https://github.com/JetBrains/compose-multiplatform-template.
What are some alternatives?
Aura-Operating-System - AuraOS, the Franco-English Operating System developed in C# using Cosmos!
uefimaze - Bare-metal bootable graphical maze game in C#
SeeSharpSnake - Self-contained C# game in 8 kB
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Peregrine - A blazing fast language for the blazing fast world(WIP)
VTIL-Core - Virtual-machine Translation Intermediate Language
Objenesis - Okay, it's pretty easy to instantiate objects in Java through standard reflection. However there are many cases where you need to go beyond what reflection provides. For example, if there's no public constructor, you want to bypass the constructor code, or set final fields. There are numerous clever (but fiddly) approaches to getting around this and this library provides a simple way to get at them. You will find the official site here.
zerosharp - Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.
TomatOS - An experimental dotnet based kernel
RoseOS - A UEFI loader and OS kernel written in C# and compiled to native code with CoreRT.
Python-to-x86-asm - Python-to-x86 assembly compiler for CSCI4555 (Compiler Construction)
Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀