> 2. Сделать одну портабельную софтину для этих пяти систем.
> 3. Разделить софтину на бекенд (либу) и фронтенд (морду).
> Сделать один портабельный бекенд.
> И пять фронтендов.Портабельно не получиться поскольку языки совсем разные. И возможности систем тоже сильно разнятся - в Андроид нужно пользоваться сервисами и интентами, в iOS чем то своим. лицензия на iOS запрещает применение интерпретаторов и виртуальных машин.
Единственный вариант это разработать свой язык, который компилируется в разные приложения под разные ОС. Но вылезают два косяка либо это очень ограниченный язык (API как пересечение всех пяти API, что совсем мало) либо в разных местах приходтся подтыкать различные костыли для поддержки той или иной платформы.
PS у нас на одном проекте сделали именно последнее. но тот же самый звук пришлось подвинчивать сбоку ибо через основной код звук "разъезжался"