The problem you need to get is that this abstraction layer pretty much throws the "code less create more deploy anywhere" mantra out the window. You end up going from writing one set of UI code that will work on any OS on any platform (naturally, with scaling down for mobile devices, i.e. showing less information and so on) to writing two totally separate UIs.