apache / cordova

Apache Cordova
https://cordova.apache.org/
584 stars 61 forks source link

HarmonyOS Next Platform support #433

Closed landall closed 5 months ago

landall commented 7 months ago

Feature Request

a new mobile os which will cover more than 100,000,000 devices in China.

Motivation Behind Feature

Huawei will drop support for andriod apps and turn to a new OS based on Linux kernel.

Now most Chinese apps are ready for this new OS. Harmony OS covers about 9% of active mobile decices and is lack of framework support. This can make Cordova obviously different from other frameworks like flutter, reactnative.

Feature Description

Alternatives or Workarounds

breautek commented 7 months ago

Apache Cordova has been downsizing quite considerably (e.g. removing OSX and windows as platforms to consolidate with Electorn, which is still missing support for some important plugins). Partly because there's only a handful of maintainers actively the project nowadays. Introducing a new platform, especially one that requires implementing compatiblity with new APIs, under a completely different build system is a daunting task... So unless if there is a large support from the community to maintain a new platform, I don't foresee a harmony platform coming to fruit. This is my own opinion.

The best way to see a harmony platform project, is to probably start a one. If supporting HarmonyJS will now require specialized tooling, then I'd recommend creating a platform. cordova-android can probably based used as a template for creating this new platform, just would have to strip out the android tooling bits and replace them with whatever what Harmony uses for it's build system. Electron has a mechanism to use electron plugins if available, but fallsback to browser. If this is applicable for Harmony, then Harmony platform could use harmony plugin implementation if available, but fallback to android, but it sounds like that might not be the case.

If a project is started with the intent to possibly get incorporated under Apache, then I'd recommend following Apache policies, namely ensuring that the project complies with the third-party license policy and is capable of producing source-only releases that can be consumed by end-users. Binary build releases is ok but they must be accompanied with a source-only release and the binary build must be built from the source-only release. Using Apache Cordova code conventions would also be ideal.

Lastly, if a harmony platform project is made, I alone cannot guarantee that project can get incorporated under Apache as that would require approval and vote from Apache and their Project Member Committee.

franva commented 5 months ago

Hi @landall , actually HUA WEI should be the one more interested in implementing this Cordova plugin, and they do have one. No wait needed :)

https://github.com/HMS-Core/hms-cordova-plugin

I can see that this repo is actively being maintained.

jcesarmobile commented 5 months ago

HMS = Huawei Mobile Services, those are android services created by huawei, that’s different from harmonyOS, that’s a new OS that would require a new cordova platform, not a plugin.

Anyway, closing the issue, as breautek said, we have no bandwidth nor the knowledge to create such platform. We made it possible for everybody to create the platforms they need, so anybody with the knowledge and time can do it.