Related question: what are the other ways to build a desktop application on Linux that works on Linux, Windows and OSX on slow machines, like intel atom, and doesn't require anything from the user?
It does have a substantial learning curve. The traditional desktop stuff is all C++. The new mobile stuff is easier to develop, with a nice declarative UI system and JavaScript, but it's not applicable if you want native-feeling desktop widgets.