Linux phones: PinePhone, Librem 5
Linux phone distributions: postmarketOS, Mobian, Manjaro ARM, PureOS
Compared with Android and iOS, they currently have far fewer apps, and many of those are ports of desktop software.
Below is a quick overview, followed by some ways to deal with the lack of software, and finally a few useful app recommendations.

1. The state of Linux phone software in 2022#
Linux phone distributions usually use GTK + libhandy for app development. Some also include programs tweaked specifically for phone interfaces.
KDE Plasma Mobile apps are another representative example: they are all built with QT Quick, and they use the Kirigami framework for a consistent style. Most KDE apps are quite useful, but they depend heavily on the Plasma desktop environment. If you install KDE community apps on Phosh, layouts can break easily, or icons may go missing here and there.
The app distribution channel is another problem. It is convenient when each distribution packages apps and lets users install them through the package manager, but that also creates issues. For example, I have seen KDE apps installed on Phosh lose icons and even render with blurry UI.
Then there is Chinese input. Linux phones currently lack a good Chinese touch input method. At least Plasma Mobile has Maliit Keyboard, which already supports Simplified Chinese Pinyin and Zhuyin, but it only works under Plasma Mobile. Phosh uses a keyboard called Squeekboard, and no Chinese keyboard has shown up there yet.
I do not use Plasma Mobile because it is too unstable; the system UI crashes easily. Phosh is simpler, but much more stable.
If you insist on typing Chinese in Phosh, your option is basically to use a website like this online virtual keyboard input method and copy the Chinese text out afterward. Elegant, like eating soup with a fork.

2. Workaround 1: lean on Flatpak for now#
Until the problems above are solved, the best compromise is Flatpak. It has been around on desktop Linux for years, and many distributions support it, even Alpine Linux. In simple terms, Flatpak is a cross-distribution package manager, with Flathub as its online repository. Apps packaged as Flatpak can be installed on any distribution. The downside is that app dependencies have to be downloaded too, so packages get huge. A text editor can easily be several hundred MB. Very modern. Very efficient. Obviously.
Each distribution’s package manager may already include programs that are also on Flatpak, but versions compiled by different distributions can vary. Downloading apps through Flatpak helps smooth out those differences. Especially when Linux phone app development changes quickly, getting updates through the same channel is generally a good thing.
Flatpak is not cross-platform in the CPU architecture sense. When browsing apps, Flatpak automatically filters out apps that do not support your architecture. On an ARM processor, you will only see apps that support ARM.
In practice, using Phosh as an example, if your distribution is postmarketOS, you can install Flatpak and then install Gnome Software as a frontend for browsing online apps. That makes the experience a bit more human.

Although the Gnome Software frontend often stops responding, so you still end up installing Flathub apps with commands. Naturally.
3. Workaround 2: if all else fails, install Android apps#
Some apps simply will never have a Linux version.
Anbox and Waydroid can run Android apps on Linux. Since phones are already ARM devices, compatibility problems are smaller.
But both container approaches have their own problems. Anbox is too old, and Waydroid has plenty of bugs.
4. Useful Linux phone app recommendations#
The list below is based on downloads I found through various wikis and my own hands-on notes.

