4 ms·
It’s hard to make a cross-platform UI that way.
by nicoburns 4y ago
It’s hard to make a cross-platform UI that way.
- DeathArrow 4y agoBut this UI is not cross platform either, as it is still using proprietary APIs.
- pjmlp 4y agoThat is what wrappers and platform plugins are for, no need to build a full blown API from scratch.
- pornel 4y agoSuch solutions are often in tension between using only the lowest common denominator, and the code having different implementation for each platform anyway. For example, their editor has tabs for editor buffers. Cocoa has a static tabbed widget, which has wrong look and odd UX for this. Cocoa also has a tabbed window type, which isn't a widget you can control. I imagine it'd be hard to abstract that away to work consistently with how Windows does tabbed views. I also haven't seen Windows' tabs being draggable, so that would probably need special DIY solution for Windows which Cocoa tabbed windows don't need. Anyway, I think native UI toolkits are dying. For most people the Web is their most familiar "toolkit" now, and native platforms instead of fighting that back with clear consistent design, went for flat design and multiple half-assed redesigns that messed up all remaining expectations of how "native" looks and feels.
- pjmlp 4y agoThere are no perfect solutions, but there is possible balance where OS features are abstracted into higher level concepts, not 1:1. For very contrived example, the cross platform settings panel widget exposes the business API required for settings in general, while the platform specific code takes care of using the host platform concepts to display and manage application specific settings. While it is more work than lowest common denominator approach, it is still much less than re-inventing the wheel. As proven by mobile OS platforms, there are still hope for native toolkits. Lets see how much long the Web will hold, now that the revenge of plugins is here thanks WASM.
- nicoburns 4y agoMy hope is that we'll get a cross-platform toolkit that exceeds the quality of the best native toolkits (without relying on them). That would be great for cross-platform development, but the best thing would be that it would greatly lower the barrier to creating competing platforms. Imagine if Firefox OS was launched with a efficient toolkit instead of being web based for example.