5 ms·
I'd rather see SwiftUI or something like it ported to other systems with a "driver" that translates it to each platform's 100% native UI. It's already amazing
by Razengan 7y ago
I'd rather see SwiftUI or something like it ported to other systems with a "driver" that translates it to each platform's 100% native UI.
It's already amazing in how it abstracts common elements for such distinct environments like desktop, phone, TV and watch while still exposing OS-specific features. Why not other operating systems?
- scrollaway 7y agoInsert any framework in place of SwiftUI. You're describing Qt, essentially. The approach has been tried, and succeeded to some degree. But the web is the only app where cross-platform is the default, and it's truly hard to avoid it. Even if the widgets all look different. Even if nothing looks native (people got used to it anyway). And to be clear I want the status quo to improve in this regard, especially in terms of accessibility (nobody should have to reimplement eg their own dropdown especially if it breaks eg. keyboard shortcuts, mobile UIs and so on). But I can't see anything from today that isn't either a web technology, or web-compatible (and web-accessible, not the Qt webgl hack that's on the frontpage right now) making it in the long term.
- blueprint 7y ago> But the web is the only app where cross-platform is the default That's just because it describes its own embedded rendering system.
- Razengan 7y ago> Insert any framework in place of SwiftUI. You're describing Qt, essentially. SwiftUI's syntax feels closer to a markup language than code, though, so it might be more appealing to web frontend devs.
- bryanlarsen 7y agoQT Quick also uses a markup language.
- kick 7y agoNot a good or reasonable one, though. This is no slight against Qt devs, and I think they're fixing it in Qt6, but it's just not good.
- inferiorhuman 7y agoQML is basically javascript with some syntactic sugar. I loathe javascript as much as anyone but that's not dramatically different from Electron.
- kick 7y agoI didn't claim Electron was good, either.
- bb88 7y ago>But the web is the only app where cross-platform is the default No. Chrome is the only platform that is cross platform by default. But IE, eg, has definitely had behavior differences in the past. On the other hand, Qt is cross language, but not necessarily cross platform (it excludes iPhone and Android, say)
- coldtea 7y ago>Insert any framework in place of SwiftUI. You're describing Qt, essentially. Only Qt never had the funding or resources or will to get native UI right. Their non-native widgets are always off, in a way that even Electron, is not (because it being web-based means it at least follows familiar conventions for all web users, where a mimicked native GUI enters the uncanny valley). There are also custom native but not platform-native (meaning close to the metal, no web-based) GUIs like Adobes, Fruity Loops, and others, that look good on all platforms and users have no issues with them.
- luckydata 7y agoI don't. The reason is UI kits on different OSs are so different that allowing this stuff makes for haggard looking apps. Using the web at least brings consistency to the experience. There's no workaround I can think of, you either write one UI per OS (even with QT you still need to adjust for conventions, spacing etc...) or you make an OS agnostic UI with Web tech.
- Razengan 7y ago> (even with QT you still need to adjust for conventions, spacing etc...) That is what I'm talking about: SwiftUI automatically uses the recommended conventions for spacing, padding, etc. which are different for macOS vs. iOS etc., and it also takes user environment settings into account, like font sizes and other accessibility options.
- hnbroseph 7y agoUnfortunately swift doesn't have a meaningful windows story, and giving up on 100s of millions of users is less than ideal for most "crossplatform" contexts. :/
- Razengan 7y agoSwift is open-source at least, and I expect/hope SwiftUI will be too once the "secret" Swift features it relies on, have matured. So even if Apple doesn't want to port SwiftUI, maybe other people could.
- luckydata 7y agoI don't think it's possible to do it in a way that consistently looks good. I've been around my fair share of cross platform frameworks and worked at companies that built them commercially, they never work beyond apps that aren't supposed to look great.
- jcelerier 7y agoQt does that, too, but that is not nearly enough if you really want to make pixel- and interaction- perfect things. A "native" macos app is fundamentally different from a "native" windows app. Dock vs systray, different usage of menus, mouse and keyboard. Different widgets - Windows does not use baloon widgets and sheets. etc etc...