> Android turns a general-purpose device into a restricted one, without a possibility to run desktop apps.
You should not run desktop apps on a phone, because smartphone have much less power. This is an important design feature. This is why smartphones OS are built differently.
And even then, I don't see how android "restricts" things. It's software. Android does not "restrict". It's an OS.
> You should not run desktop apps on a phone, because smartphone have much less power.
You imply that having large power consumption is fine as long as the app is designed for desktop. I disagree: All apps should be as lightweight as possible to fight with the climate change and slow UI. I am using desktop Firefox on my Librem 5 just fine. All desktop plugins work, too.
> Android does not "restrict". It's an OS.
Android is designed in such a way that you cannot run desktop apps, despite the original Linux kernel.
> Android is designed in such a way that you cannot run desktop apps, despite the original Linux kernel.
What exactly do you mean by "desktop apps"? Of course it's not going to support KDE or GTK or QT or win32 or some other windowing API. But it's an OS, it can run software. And since it's open source, I don't see any reason why it would not run something.
Of course you would need to use the android API to do something, but it makes sense because it's a different OS.
It doesn't behave like a desktop OS, but as opposed to what, exactly? Desktop apps are a subset of software in general, desktop apps are not everything there is about software.
If you mean "I cannot run desktop apps because I need to redesign them so they can work on a phone", then yes, indeed, but a phone is not just "a small desktop".
Why not? It's a general-purpose computer, isn't it? Why intentionally design an OS in such a way that you must rewrite all software for it from scratch?
Yes, the UI is very different, but changing the UI is much easier than rewriting the program from scratch. Why is there no full Firefox on Android? It was already adapted for GNU/Linux phones and runs fine there, but not on Android. Same for LibreOffice AFAIK. Isn't it due to the design on this OS?
You don't have to rewrite everything from scratch, you can already use C++ or other languages, only the front end of software must be rewritten. And it's also possible to use other ways, like a graphics renderer or wrapper.
> Why not?
As I said, much less energy thus less processor cycles, much less L2 cache memory, no x86. The main reason it's entirely different is to force developers to make an app that doesn't drain battery, which is why it's very much different: it can do a single thing at a time, the software must be pause-able at any time, it can only run when the OS is okay with it, it can only animate in certain way, only use a very small subset of opengl capabilities, etc
The ways smartphones' OS work is a fundamental part of how it can save battery. It is painful for developers so that in the end, batteries last longer. Desktop software is millions years away from being energy-efficient, most of desktop or server software is generally ruled by the law of Wirth: "software is getting slower more rapidly than hardware is becoming faster."
Of course it's a big constraint of how developers can make their software work, but they don't need to rewrite "everything", they just have to adapt.
You should not run desktop apps on a phone, because smartphone have much less power. This is an important design feature. This is why smartphones OS are built differently.
And even then, I don't see how android "restricts" things. It's software. Android does not "restrict". It's an OS.