Open Seanxwy opened 2 weeks ago
Tagging subscribers to this area: @dotnet/area-meta See info in area-owners.md if you want to be subscribed.
As a managed runtime, in .NET we classify OS by its low-level API, not high level UI framework. Most of the information about HarmonyOS I can find are UI and packaging related. The relationship with Android NDK is also unclear.
For the reason we all know, there's unlikely to be action from Microsoft. The market shares are also significantly different among the world.
Related/duplicate https://github.com/dotnet/runtime/issues/56632
If we are talking about OpenHarmony, that is currently musl Linux, you can try if the current linux-musl
builds will run on it.
For HamonyOS NEXT (which is supposed to be based on OpenHarmony and be compatible), it is rumored to have a home-grown kernel, will need to know its ABI and API details first.
Native API on HarmonyOS is limited just like Android, with no UI framework support, only basic window management, custom drawing via OpenGL/Vulkan, and other low-level APIs.
The first-party UI framework is ArkUI, which uses a TypeScript-derived ArkTS language.
ArkTS provides native interop via Node.js-like N-API.
I would imagine MAUI will work something like Blazor on ArkUI.
OpenHarmony developer docs: https://docs.openharmony.cn/pages/v4.0/en/application-dev/application-dev-guide.md
I am referring to HamonyOS NEXT. Currently, Huawei has invested a lot of money in marketing and building an application ecosystem. Many mainstream apps support HamonyOS NEXT. Based on Huawei's influence on the market, there will be a huge market opportunity in the future. At the same time, the Unity3d engine has also begun to support HamonyOS NEXT. If dotnet can support HamonyOS NEXT, in the future, whether it is games, apps or desktops, it will have a first-mover advantage over other high-level languages. The .net ecosystem will be more complete, and it will also help millions of developers to develop across platforms more conveniently.
A lot of stuff of OpenHarmony will apply to HamonyOS NEXT, as I said, HarmonyOS NEXT is supposed to be based on OpenHarmony.
But the rumored home-grown kernel (seemingly named HongmengOS in uname
) does muddy the water quite a bit, we will first need to know its low-level ABI before we can do anything meaningful.
Too bad it is currently under closed beta and NDAs.
We should be optimistic about HamonyOS NEXT. We hope that Microsoft will also be open and optimistic about HamonyOS NEXT in its investment in the dotnet cross-platform. The HamonyOS NEXT ecosystem is a platform that every application developer or cross-platform developer cannot bypass. As .Net developers, we very much hope that Dotnet can be developed on the HamonyOS NEXT ecosystem. In this way, millions of developers can release their own products and earn income in the new HamonyOS NEXT ecosystem.
.NET on HarmonyOS will probably be community supported for the time being, maybe you can try to convince Huawei to get on board, like Samsung and their contributions of Tizen support.
Judging by the fact that LoongArch code has been included in the codebase, it seems highly unlikely that there'd be any opposition to HarmonyOS contributions.
As a practical matter, though, you just probably shouldn't expect Microsoft to do the work. Hopefully Huawei can fund it.
+1
Huawei HarmonyOS is about to release a new major version, using a full-stack self-developed architecture and will no longer rely on traditional AOSP code. Huawei HarmonyOS will run on mobile phones, watches, smart TVs and embedded devices, which is very consistent with the cross-platform framework concept of .NET for developing all applications.
Huawei already has a large user base and its market share is about to surpass iOS. In any case, there are already a large number of Huawei devices that will receive HarmonyOS, and many new devices will be manufactured. Therefore, it makes sense that the open platform .NET will eventually gain support for it.
Then, given the large user base of Huawei devices, as well as the huge market share, it makes sense to help .NET developers easily achieve cross-platform development. It makes sense that efforts will eventually be made to provide HarmonyOS support for the platform.
So, what plans does the .NET platform have for supporting HarmonyOS?