uefimaze
compose-multiplatform-template
uefimaze | compose-multiplatform-template | |
---|---|---|
1 | 2 | |
96 | 596 | |
- | - | |
3.5 | 10.0 | |
6 months ago | 5 months ago | |
C# | Kotlin | |
- | 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.
uefimaze
-
Building a bare-metal bootable game for Raspberry Pi in C#
The repo does mention the Pi. I just forgot to talk about the Pi specifically in the article, sorry. https://github.com/MichalStrehovsky/uefimaze
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?
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
MOOS - C# x64 operating system programming with the .NET native ahead-of-time compilation technology.