5 ms·
Why do people hate images and videos so much? It's a GUI library! I skimmed the whole readme and have no idea what it looks like and found no link that would ma
by skriticos2 12y ago
Why do people hate images and videos so much? It's a GUI library! I skimmed the whole readme and have no idea what it looks like and found no link that would make me any smarter. Am I weird in this regard?
- quarterto 12y agoIt's platform-native. It looks like your platform. What else do you need to know?
- shawnz 12y agoThere are a million different ways to look "platform-native". I'd like to know what exactly they got right and what they got wrong before simply jumping in.
- andlabs 12y agoFor the record, and this applies to all comments above and below: by "platform-native" for this package, I do no custom drawing; everything is deferred out to the underlying system APIs. So this actually uses Cocoa on Mac OS X (you can see the .m files as well) and the Windows API on Windows (which is part of the reason I didn't go with just having Qt bindings).
- FooBarWidget 12y agowxWidgets and <del>Swing</del>SWT are also platform-native. Now find me a single wxWidgets and SWT app that doesn't look slightly off on Linux and OS X. Looking and feeling native involves so much more than just using native controls.
- gldsmth 12y agoSwing is NOT platform native, that's why SWT was developed in the first place. Swing can use native look-a-like theming but it's not the same thing as SWT's actual, truly native widgets (with native keyboard shortcuts, system services..). wxWidgets and SWT are about as native at it can be in a cross platform GUI library. I don't see why you'd need a screenshot of the go library, it would look the same as a typical wxWidgets or SWT app, which is to say, it uses native controls, but might not be designed according to the "common" UI conventions of the platform.
- Alphasite_ 12y agoIts native on OSX, is it not?
- FooBarWidget 12y agoNo, it only tries to look like OS X by drawing the controls like that. But there are still so many things off that I don't even know where to begin.
- FooBarWidget 12y agoYes I meant SWT, but for some reason I wrote Swing.
- brl 12y agoI use SWT quite a lot and while it's not perfect I find that it works brilliantly in most cases. I encourage the authors of this Go UI library to study SWT and crib heavily from the library internals. Otherwise they'll be sorting out bugs and corner cases that IBM has fixed in SWT long ago.
- jebblue 12y agoSeconded, I find SWT to be easy to program for too.
- johncoltrane 12y agoI love it when native-look-a-like apps give me blue buttons and traffic lights instead of the beautiful graphite I chose in my system preferences.
- dscrd 12y agoNo such thing in Linux.
- danudey 12y agoOn Mac OS, it's extremely rare that 'platform-native' cross-platform GUI libraries actually 'look like your platform'. Most are subtly wrong, feel less usable, don't conform to platform guidelines, etc. It's extremely rare to see a cross-platform GUI on OS X that doesn't feel like it's just a reskinned Windows or GTK+ app, which makes it cumbersome to use.
- dgellow 12y agoIt's not specific to OS X by the way.
- byuu 12y agoI wrote a cross-platform library that is the thinnest possible layer around Cocoa, and creates the actual Cocoa controls directly. They are truly 100% native widgets. And yet, it's exactly like you say. It has nothing to do with the base widgets. The problem is that to look native on OS X, you have to use widgets that only exist on OS X, like their merged titlebar+toolbar that changes and resizes the entire window content used on preferences dialogs, or the blue left navigation sidepanel, or the big question mark button, or the segmented control, or the color selection popup menu with the wide color boxes in each list item, or the combo box zoom setting in one segment of the status bar. And then your labels have to be right-justified while the controls are left-justified against those. You have to add about three times as much spacing between widgets as on other platforms. You have to have a single menubar that's outside the main window, and always has a "program name" menu where your preferences option has to be, a view menu, a window menu, and a help menu. You have to be sure to tie in to all the OS X only things like AppleScript, Core(Image, Audio, ...), dialog sheets that slide down on a window and then are only modal to just that one window, etc. Your message boxes can't have titles anymore, but everywhere else expects one. Even if you tried to add the extra spacing and hack in those OS X only widgets to Windows and Linux, then the Windows/Linux versions would be super hideous and unnatural. By the time you customize all of that, the code's a bigger mess than just making two separate GUIs. Defeats the entire purpose of using a cross-platform toolkit. Bottom line is that Apple just does way too much stuff differently to be able to craft a cross-platform app that looks great everywhere with no platform-specific customizations. And now Metro, Gnome 3, Unity and KDE 4/5 are trying to go in entirely different directions as well. And iOS and Android are big targets now, too. Sadly, the dream of write-once, run-anywhere and look nice is dead.
- notastartup 12y agoSome screenshots would've been helpful even if it's platform-native, it's a good idea what the end result will look like.