Много лет назад...
читая форумы наших американских софт гастарбайтеров, при вопросах о разработке кроссплатформенных систем, тут же все сходились во мнении, что пишем свою либу,где будет вся логика, а потом уже из гуя - дёргаем соответственно методы этой либы.
Причём так делают крупные вендоры, EA, к примеру - у неё свой движок NFS - который она легко переносит между различными мобилками (iOS\Bada где есть open gles) - зависимость от платформы -только интерфейс запуска, остальное своё.
Мне казалось что такой путь - это отчасти политический ход, но видимо не только и не столько...
История любви нокия + Qt - как раз показатель верности того решения.
Т.е. либо мы завязываемся на чистый опенсорс - чьё развитие не зависит от
империй зла корпораций, аля GTK, либо отделяем логику работы от интерфейсных частей программы.