Since it is a linux phone I think that, when possible, the best thing would be to develop an application by decoupling the logic from the graphical interface.
For logic I think you can use your favorite language (but obviously the most portable is C) and for gui in the same way, but doing that way anyone could use the program as a library and write a different interface.
The benefit is that, over time, it is possible that better or more appropriate interfaces are developed and the logic remains the same and can be improved separately.
Obviously, this practice is not widely considered in closed operating systems because they are os-centric, but we'll have a better platform
For logic I think you can use your favorite language (but obviously the most portable is C) and for gui in the same way, but doing that way anyone could use the program as a library and write a different interface.
The benefit is that, over time, it is possible that better or more appropriate interfaces are developed and the logic remains the same and can be improved separately.
Obviously, this practice is not widely considered in closed operating systems because they are os-centric, but we'll have a better platform