Makes sense, Java sucks and native apps are much faster and use less resources.
Once they paid Tencent, Baidu and Alibaba to port their apps, basically 95% of the Chinese market is satisfied.
You only need WeChat, taobao, alipay, pinduoduo, Baidu and amap in China.
Because they don’t need to worry about selling their device abroad, they have the luxury to not only give up to google apps, but to all the apps
iPhone users are also having similar limitations with all the apps in the app store blacklisted except a few dozens manually approved by govt, but Apple is still selling a lot of units, even if it’s just a “WeChat mobile terminal” and not a real smartphone anymore
Java is not as bad as you’re making it out to be. It’s always funny to see people list the problems with Java as if they’re obvious. They’re trade offs.
With this change, you’re right, they certainly won’t have to worry about selling the device abroad.
the phones are already impossible to sell abroad without the google apps and a locked bootloader, it changes nothing for them
because they are in control of the platform they don’t need to run everything in an interpreter. The cpu is and will always be arm-based, any interpreted language is a waste of power
I don’t know whether they currently sell phones abroad, but I know in the past they have sold abroad. It’s a big market.
So it certainly affects them organizationally. Any phone that they want to sell abroad will have completely different software. They’d likely have to use an entirely different team of people.
any interpreted language is a waste of power
It’s not a waste of power. There are a lot of tradeoffs like ease of development and fault tolerance. And the cost of the interpreter is greatly mitigated at run time. Please just stop talking about this. It’s not as good of a point as you think it is.
Java definitely does not suck. There is a reason it runs virtually everywhere, from SIM cards to most servers of the world through Spring
interpreted languages are inherently slower than native code. Because huawei controls the hardware they don’t need portability and can focus on speed
on a phone, using java will give all the disadvantages with no advantages
look at iphone vs android, for years apple had better battery life and better performance even with half the ram, a worse cpu and smaller batteries
Java isn’t an interpreted language any more than C. Java gets compiled into its own machine code developed by Sun. That machine code can be converted to native code or just run “interpreted.” (which is more like emulation.)
Maybe you should learn more about something before you criticize it.
I can’t think to any program made in java that isn’t a memory hog.
Look at the performance of Minecraft java vs native
Or vuze that uses 20x the memory of qbittorrent for doing the same stuff but with less features
So either java devs don’t know how to optimize code, or the language itself has some problems
Of course there comes the Minecraft comparison. Which also conveniently ignores the fact that Minecraft can run incredibly fast using certain performance mods. It’s not Java, it’s just shitty programming / code that hogs its performance.
i did a comparison also with vuze, which is incredibly inefficient compared to other clients
can’t think to any program made in java that isn’t a memory hog.
Can you think of any Java programs that aren’t Minecraft, tho?
ok, give me a list of programs made in java that are faster or use less resources than a similar program written in any other decent language when run on the same hardware.
The list has zero entries.
Pretty much large suathes of banking and financing companies, as well as other massive industries, which btw are hiring and pay well.
Java (or rather JVM) is slow at first, but once a JVM has “booted” Java performance wise is on par with the performance of other languages, even system languages. This isn’t too apparent in the open source world, because Oracle.
Most infrastructure running on Java have been doing so for decades and continues to be implemented, not because the project managers are idiots, but because the software is portable and java (believe it or not) is getting better, similar to how JS has gotten better post-TypeScript.
So let’s not throw the language and infrastructure on the fire in a time when we know *technical debt" is just an executive excuse to allow rushed, faulty and unoptimized programming in order to meet insane deadlines by white collar deadites.
“Agile”, “crunch”, “technical debt”. We’ve been taken for absolute fools, and now we’re blaming the tools. Smh.
Ah sorry - I wasn’t dissing Java - I was questioning the commenter’s knowledge of Java, given that Minecraft was the example they chose.
The language has nothing to do with what you describe in your last paragraph. There are a lot of reasons what that was happening, and using Java is not one of them. Just the openess of the OS and how it was written was enough to justify such a difference vs a closed OS with a fraction of the possibilities
Also Android is not using just Java, otherwise you would be able to run any normal Java app without “hacks”
The HarmonyOS SDK is still thoroughly Java based. They also have a Typescript system, but that’s not as “native” as the Java API as far as I can tell.
Modern Java is fine, but Java 7 with hacks (which Android uses, which HarmonyOS in was based on) is indeed quite terrible. Unlike Google, Huawei doesn’t seem to care much for Kotlin. With how much Kotlin basically backports modern language constructs to shitty old Android Java, I feel for those HarmonyOS developers that want to build something more native than a web app on steroids like when you use their JS API.
Android has moved on from Java 7 for years, Android 14 is Java 17 now
https://developer.android.com/about/versions/14/behavior-changes-14
Android 12 started the modernisation effort and brought basic Java 11, and now we’re getting Java 17 with Android 14. I don’t think “two years and three months” counts as “years”, these are relatively recent developments.
It’s a welcome change, but I don’t think any devs can afford to only target Android 13+ at the moment. It’ll take a while for the weird Java 7½ compatibility system to be completely phased out.
harmonyos is almost aosp where they did a “search and replace” for “android” strings
i understood “HarmonyOS NEXT” is different, if it’s not rewritten from scratch then it’s a waste of time+money, forcing devs to port apps for “it’s almost the same but it’s a bit different” it’s not a smart idea
Could be worse. I’d take a Java 7 over Objective-C any day of the day.
Also what exactly is stopping developers from using Kotlin? It compiles to the same bytecode. Is there a framework that can’t be imported? I thought IntelliJ handed all of that, not Google.
I’m not sure, but the HarmonyOS documentation is all Java except for the bits of Javascript. I suppose you probably can compile Kotlin just fine, but you’ll have to rewrite (and possibly redesign) the HarmonyOS examples if you do that.
IntelliJ IDE’s will convert automatically if you paste Java into a Kotlin file.
Also the native apps look like they are written on Java? Or based on JVM
if it’s still based on a jvm then they’re dumb and it’s a decision that makes no sense
Get ready for even more “apps” that are just glorified web views of their mobel site.
that’s a vast majority of apps already, oh i guess they add tracking also.