I mean, if someone said, "I've successfully ported Vim to Android!", my first thought would be, "Why in god's name would I want to run vim on my phone?"*
* Ruling out, of course, someone plugging their phone into external KVM.
I feel like the solution is not necessarily to make one app do it all, but to embrace something more akin to a client-server architecture - one "app" with multiple UIs talking over the same API to the same backend logic.
Decoupling the UI from the business logic is not exactly a new concept.