The non-UI layer can be made 100% portable for sure (although in the GitUp case it's not really since I chose to write it in Obj-C for productivity reasons).
The UI layer is absolutely not portable: it's all low-level CoreGraphics code for the rendering, some CoreAnimation, and a ton of AppKit of course.
You could have a version written in a cross-platform UI toolkit or Java or what have you, but you could not possibly get close to the level or polish and native performance required for an app like this IMO.
I was under the impression Qt has been maintaining their Cocoa styling well. Has that changed? I haven't actually tested Qt software on OSX in about three years.
Even with the Cocoa styling, Qt based applications always seem to feel weird or out of place. Things like button placement, toolbars, things of that nature just don't "feel" right.
Thats the "weird" thing about Mac users: noticing that things "doesn't feel right" while completely missing that somebody has mangled their keyboard (where is home/end? pg up/pg dn? Waht are these extra arrow up left and arrow down right thingies on my keyboard that even long time Mac users cannot explain? (Feel free to explain it and I'll give you an upvote tomorrow morning if I remember : ) why is fn/ctrl switched on laptop but not on full keyboard?
That said the most annoying thing about Macs is how much I'd love to be able to use one, even at their current price point they seem a good offer to me, - but after three years of trying to either adapt me or the Mac I have given up :-/
I've got a full sized keyboard, I've got an home/end, a page up/page down, and I am wondering what you mean with extra arrow up left, and arrow down right?
Are you referring to the arrows that signify home/end/page up/page down on the older full size keyboards?
On the laptop keyboard the Fn key is the outer key, followed by ctrl, then alt/option and then command on my full size keyboard it is placed above the delete button and to the left of the "home" button. It's not switched.
Either way, you could replace your Mac keyboard with one of your standard Windows ones and everything will continue to work without issues. So if the keyboard layout is a bother, that is easily fixed. You'll just need to remember to hit the windows key to copy/paste rather than ctrl.
3years ago this worked in some applications, in others you had to use the old ctrl-a/ctrl-e (which couldn't be combined with shift) or cmd or control-left/right/up/down.
Can't remember the details anymore, but I think I figured I needed at least three different combos for home/end back then.
I would have understood this remark a few years back. After having made such remarks for the last several years, and after having so much work done on UI/UX studies, let's become engineers again and be able to specify exactly what is not right.
The size and location of buttons is off, the font rendering isn't as crisp, in some cases the buttons are swapped, developers tend to not follow the HIG and buttons are named differently from their OS X counter parts. The toolbar will use icons that don't fit in with the rest of OS X. Closing the primary window will sometimes take the whole application down with it, rather than just closing that particular pane of glass, right clicking on the icon sometimes won't display the windows that are open, drag and drop doesn't seem to work as well onto certain fields. Text sometimes renders wrong, or buttons are not made auto scale-able so you have text hanging off the end. Keystrokes you expect to work in text fields don't, no dictionary or auto-correct (although that was about two years ago when I last built a Qt based application for Windows/OS X).
The list goes on. It's the same sort of list that can be made with Java based applications. CyberDuck was one of the few applications that surprised me when I first started using it with how well it fit into OS X and I didn't realise that it was a Java application underneath the hood.
Ultimately it comes down to the application "feeling" out of place simply because it is out of place and wasn't built or designed with OS X in mind.
I have only looked at the movie, because I avoid tools that work with only one provider, however this app doesn't seem to use that many OS X controls, and quite a lot of custom drawing (branches, editor, etc).
I think this could be done in Qt with QML, the most difficult problems would probably be the list that popped up on the right at one point and getting the scrollbars right. When it comes to graphics, animation and custom drawing Qt is very powerful, the issues that do pop up are with native controls.
The UI layer is absolutely not portable: it's all low-level CoreGraphics code for the rendering, some CoreAnimation, and a ton of AppKit of course.
You could have a version written in a cross-platform UI toolkit or Java or what have you, but you could not possibly get close to the level or polish and native performance required for an app like this IMO.