5 ms·
If instead of insisting on custom UI styling the author just used the system UI, they could probably build a pretty straightforward Windows application. It’s th
by eschaton 2y ago
If instead of insisting on custom UI styling the author just used the system UI, they could probably build a pretty straightforward Windows application. It’s the scourge of “brand identity” that has people thinking graphical applications are hard.
Same on the Mac: If you want to build a Mac application, your best bet will be AppKit or SwiftUI and using system controls. And when the OS updates your application will either update with it, or need only minor tweaks and a rebuild to look good.
- barrkel 2y agoThis indeed. Custom UI widgets for Windows apps are really not necessary most of the time, and fitting in with the system theme is all you ought to aim for, most of the time. There are exceptions, for very rich dense UI, for UIs that need to be cross-platform, but if you're writing a Windows app, it should look and feel like a Windows app.
- therein 2y ago> and fitting in with the system theme is all you ought to aim for, most of the time Even Microsoft struggles with that.
- pc86 2y agoOnly because they change the system theme every 45 minutes.
- ToucanLoucan 2y agoSeriously, someone needs to reign in their UI department. No more refreshes until you actually finish one.
- klabb3 2y ago> There are exceptions, for very rich dense UI, for UIs that need to be cross-platform That’s not exceptional at all. That’s completely normal requirements that are probably in the majority. Does Microsoft themselves build their apps this way?
- wongarsu 2y agoMost applications would be fine with a button on Windows looking like a Windows button, a button on Mac looking like a Mac button, a button on Android looking like a Material Design button and a button on iPhone looking like a UIKit button. You need consistency in the icons, layouts and concepts, but you don't need every widget to look exactly the same on every platform.
- MBCook 2y agoRight. I want your app to have consistency with the platform I’m using. Not between all platforms. With the exception of games try to use the native GUI. It’s the best choice most of the time.
- flyingpenguin 2y agoDepends on the app size also. Is your app as large and important as the OS of the device (Chrome/facebook/etc...) you should probably have similar language across devices. Is your app very large but not that large? (Slack/teams come to mind) I think you can go either way. If you are smaller than that (hint: you are) then you should comply with the design language of the platform, even if that means somewhat large changes such as moving buttons from the left to the right. The likelihood that users are constantly using your app on a iphone and android is really low.
- MBCook 2y agoI disagree. I think the only apps where a custom UI make sense are games and I’m willing to accept highly specialized business apps that have their own conventions. Thinks like Blender, AutoCad, Logic, etc. I’d still like to see them try to match a little, but they’re specialized enough I get that may be a better path. Chrome? Facebook? Slack? Teams? No. I’m not saying things need to look like MyFirstWin32App built with VB6 in 20 minutes. But use the system controls and conventions. Custom colors and layouts can be fine. But if you want to make your own UI toolkit then make your own OS too and leave my computer alone.
- 2y ago
- threatofrain 2y agoOr if you’re making games. All games seem to cherish a unique look even starting from the game menu or title screen.
- Arrath 2y agoI, for one, miss customized installers. We've kind of lost out on those what with the move to digital distribution. Gone are the days of my friend accidentally having his volume cranked when he inserted the Red Alert 2 disc, not knowing it would blast out "WARINING! Military Software Detected!"
- cageface 2y agoMy experience with SwiftUI on the Mac is that it still needs a lot of work. Documentation is poor. Performance can be bad if you do things in a straightforward way. Supporting older versions of the OS is quite painful etc.
- throwaway2037 2y ago> Documentation is poor. This is the first I heard about SwiftUI. Maybe I am mixed up and docs are excellent for Swift, but not SwiftUI?
- cageface 2y agoYes. Two different things. The SwiftUI docs are mostly just listings of functions and not much explanation of how to use them.
- superb_dev 2y agoPlus, half of the official examples are given to you as a full Xcode project that you must download and import
- biztos 2y agoI recently built a small app using SwiftUI. It was my first, and pretty simple. The documentation was absolutely maddening.. Half the time the Apple docs referred to a previous version. “Do this thing in XCode” often included screenshots of UIs that don’t exist in the current version of XCode. Examples I found on Stackoverflow or random blogs were usually no longer applicable. It felt like magic when it worked, all those VStack HStack nestings, but the annoyance of finding my way there made me seriously doubt whether I’d build a big app with SwifUI, especially if I wasn’t working alone.
- throwaway2037 2y agoThanks for the follow-up. These types of anec-data are the best part of HN. > It felt like magic when it worked, all those VStack HStack nestings I know the feeling from Qt. I think Gtk and many other GUI toolkits use the equivalent of VStack and HStack to make resizable GUIs. Some GUI toolkits try to avoid this problem by using a grid layout, but it is more rare. EDIT > made me seriously doubt whether I’d build a big app with SwiftUI From your experience, what GUI toolkit would you prefer? And, it would help to know what is your target UI platform.
- vintagedave 2y agoHe should have used C++Builder. Native Windows widgets (so you get, eg, IME support) but it can theme them. And comes with dark themes! Edit: and fully static linking. Might be a meg or so.