I would recommend using GTK and LibHandy. Purism has written some tutorials on their blog about writing apps for mobile GNU/Linux systems [1].
They do not, at least not yet. They may support anbox at some point, but that's not a given.
> How would I develop a native app for one of these?
The same as you would for any Linux distro. I would check out Plasma Mobile, as they have toolkit's and a workflow already in place is my understanding.
And hopefully never. Almost all Android apps rely on the closed-source GMS for essential functionality (eg: push notifications). There will need to be an open alternative to GMS if the goal is to support Android apps but a better idea would be to abandon Android as template basis going forward.
I think getting people onto devices that support open and flexible alternatives is the first step to actually converting users to these alternatives. I won't switch to a platform that doesn't let me communicate with people I know, and I wouldn't expect others to do so either. However, I could get people to switch from a less convenient option (e.g. Signal on Anbox) to a more convenient option (e.g. Matrix for messaging) in time.
This is a daemon that provides an API for signal
https://git.callpipe.com/finn/signald
This is a libpurple plugin for it (Pidgin messenger, or even irssi, Weechat etc)
https://github.com/hoehermann/libpurple-signald
Chatty, the SMS messenger that works in Phosh also supports libpurple plugins, so presumably Signal could work alongside SMS (The SMS feature itself is a libpurple plugin IIRC)
https://source.puri.sm/Librem5/chatty
I've used libpurple-signald with irssi and it works alright. It's not feature complete yet by a long shot, but much nicer to interact with than the Electron bloat.
Is there a serious effort on this front? At the very least a mobile version of Electron[1] applications would be a great interim step: you just need a browser for the UI and performance-critical bits can be written in C/C++ for accuracy and speed. Ultimately a modular UI paradigm can replace the dependence on a browser but that is likely years down the road.
[1] Cordova used to be the model; Ionic's Capacitor project is far more advanced but targeting iOS and Android specifically.
There is a very fine repository of fully-free Android apps hosted at https://f-droid.org.
Further, I would argue that "almost all" Android apps that are free software can easily be tweaked to not rely on Google Play Services. Non-free Android apps will not be made any better by becoming nonfree GNU/Linux apps.
About Android apps, there's the Anbox project but it needs a lot of work yet.
Also an Android ROM called GloDroid exists: https://peertube.co.uk/videos/watch/a368a023-ce44-44f0-a42d-...
Native app development depends on the OS, it differs whether you would develop for Ubuntu Touch, the GNOME on Mobile effort by Purism or for Plasma Mobile.