Безотносительно ко всему остальному, вот это:
_> UI надо писать отдельно под каждую платформу
— так, как оно должно быть (по крайней мере в современном мире). У каждой платформы свои метафоры и способы взаимодействия, а UI, который «одинаково работает на всех платформах» работает на всех одинаково погано (см. Tk)