I’d opt for GoLang (cross-platform code, will enable Desktop next to Mobile) with QT.
See https://github.com/therecipe/qt for a list of targeted and host platforms supported.
It seems for iOS you’re limited to MacOs but for all others, any host can deploy to it.
For comms you should stick to the winning team, which is BLE, for the sake of libraries.