<p>On my side job as programmer, I am to write a program in C++ to convert audio files from/to various formats. Probably, this will involve building a simple GUI.</p>

<p>Will it be a great effort to build seperate GUIs for Mac and Windows using Cocoa and WinForms instead of a cross-platform toolkit like Qt or GTK? <br />(I will have to maintain a seperate Windows-version and Mac-Version anyway)<br>
The GUI will probably be very simple and only need very basic functionality.</p>

<p>I always felt that native GUIs feel far more intuitive than its cross-platform brethren...</p>

[{'answer_id': 34329, 'author': 'paan', 'author_id': 2976, 'author_profile': 'https://Stackoverflow.com/users/2976', 'pm_score': 4, 'selected': True, 'text': "<p>If you have the expertise, use native frontends, it'll effectively double the job you have to do for UI but from my experience non-native UI is a little bit clunkier than their native counterparts.</p>\n"}, {'answer_id': 34332, 'author': 'Matt Sheppard', 'author_id': 797, 'author_profile': 'https://Stackoverflow.com/users/797', 'pm_score': 1, 'selected': False, 'text': '<p>Yes.</p>\n\n<p>But seriously, it depends on your goals. I agree that the native UI libraries, with a bunch of effort put into them, will give vastly better results, but for lots of apps, a very basic UI is sufficient and a lot less effort if you take one of the existing cross platform frameworks.</p>\n\n<p>Maybe starting with the CLI and getting functionality working makes the most sense for an audio conversion application.</p>\n'}, {'answer_id': 34368, 'author': 'JamesSugrue', 'author_id': 1075, 'author_profile': 'https://Stackoverflow.com/users/1075', 'pm_score': 3, 'selected': False, 'text': '<p>Have you looked at <a href="http://www.wxwidgets.org/" rel="nofollow noreferrer">wxWidgets</a>? Cross platform native controls.</p>\n'}, {'answer_id': 34376, 'author': 'Brian Stewart', 'author_id': 3114, 'author_profile': 'https://Stackoverflow.com/users/3114', 'pm_score': 2, 'selected': False, 'text': '<p>I would agree that if possible, native front-ends are the way to go. I\'ve not used wxWidgets recently, and I\'ve heard it\'s come a long way, but back when it was wxWindows, we built an app with it that was spec\'d to be built in X/Motif. When we finished the effort and delivered it, the customer said it did not look enough like X/Motif, and we had to re-work the entire UI at our expense...  Joel Spolsky wrote a good article on this, but I can\'t remember the title. What he did say, IIRC, was the problem with Java and some other cross-platform UI was that "your dog barks at my app" - it\'s the little inconsistencies that annoy folks.</p>\n'}, {'answer_id': 1508577, 'author': 'Lothar', 'author_id': 155082, 'author_profile': 'https://Stackoverflow.com/users/155082', 'pm_score': 1, 'selected': False, 'text': "<p>I'm going to write my own cross platform application GUI layer for this soon.\nDepending on the complexity of your application this can be a fraction of what is required for QT, GTK or FOX.</p>\n\n<p>Reason is that we see a tendency that the platform vendors (Apple first) tries to design there system so that it looks unique. This makes it much harder for QT, GTK, FOX and other platform tools to constantly keep in sync with the latest widgets. </p>\n\n<p>When the underlaying technique becomes more and more the same the OS vendors have no option then branding on look and feel of the platform.</p>\n"}, {'answer_id': 2658751, 'author': 'Michael Ekstrand', 'author_id': 1385039, 'author_profile': 'https://Stackoverflow.com/users/1385039', 'pm_score': 2, 'selected': False, 'text': "<p>Cross-platform toolkits, more or less, all make the incorrect assumption that the difference between platforms is a matter of button placement and widget styling.  In some cases you can get away with this - a Qt app will feel fairly native on both Windows (where UI conventions are very lax) and on Linux, particularly a KDE environment.  In general, you can move between Linux and Windows relatively easily; conventions are similar, and the Windows community is lax about them.</p>\n\n<p>Mac is the hard one.  Its UI is built around an entirely different paradigm than either Windows or most Linux environments.</p>\n\n<p>But in general, in a native app it's easier to speak the native language of the platform in more ways than just widget style.</p>\n"}, {'answer_id': 34734926, 'author': 'yasriady', 'author_id': 3626789, 'author_profile': 'https://Stackoverflow.com/users/3626789', 'pm_score': 0, 'selected': False, 'text': '<p>wxWidgets used standard c++ syntax and preprocessor thus make you easily alter from plain C or C++. And will produce very native look where is appear, be it on GTK, X11, MS-Windows or Mac.</p>\n\n<p>It\'s mature since 20yrs of 1rst release, has complete documentation with easy navigating, and supported by large community arround the world.\nCoding in your favorite IDE or use prominent Eclipse-IDE and wxFormBuilder as GUI designer. Build wx library and IDE/Toolchain setup could be found on this link: <a href="http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html" rel="nofollow">http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html</a></p>\n\n<p>Develop your application in Linux desktop and also provided compiler for Raspberry Pi2 (target application tested work smootly on Raspbian Jessie) ............</p>\n'}]
['https://Stackoverflow.com/questions/34325', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1034/']