Two types of cross platform
It turns out there are two kinds of cross-platform tools for the user interface.
One view draws its own controls, and, as you said, it looks equally bad on all platforms. Even worse: he looks out of place at all but one.
But there is another view that simply provides a consistent interface with native widgets. The best example of this kind of toolkit is SWT 1 .. It seems like it's almost completely native to every platform, but it has only one API.
Therefore, you should not just exclude all cross-platform tools, just exclude those that fake your own interface.
Develop Wrapper Interface
There is a second way. If your programming interface with a user can be directed through a relatively narrow interface, you can simply go to that interface and then implement the bottom of it for each platform that you want to support. Yes, you need to rewrite one module, but all other modules remain the same, and you get your own widgets. You also get the smallest executable possible without much bloat.
Perhaps most importantly, you do not have a complex and opaque software layer between your code and your own windows system. You will probably save as much time debugging as you spend on creating an additional module for your first port.
1. I know that my Java examples will not help you if you are not using jRuby, but SWT vs Swing is a really clean example of disassembling UI tools (IMHO).
Digitaloss
source share