4 ms·
It's hard to justify my desire for awesome Mac-only apps without considering the spectre of future Apple lock in. Electron has made it possible to use a lot of
by jagger27 5y ago
It's hard to justify my desire for awesome Mac-only apps without considering the spectre of future Apple lock in.
Electron has made it possible to use a lot of apps that otherwise wouldn't have been ported to Linux work with no hassle, and for that I'm grateful. I have only recently been able to comfortably run Linux full time. My dev experience on Linux is effectively identical to what I do on macOS: Docker, VSCode, Alacritty, and Discord (to talk to my team). Of course Discord and VSCode are both Electron apps, and Docker just lives on the command line. Alacritty, on the other hand, is an extremely interesting example to me, as it is a true native program that uses cross-platform GPU acceleration through OpenGL. I feel that route is overlooked as a path towards compatibility for a lot of programs outside of games.
- vivty 5y agoI prefer apps built using APIs like Vulkan or OpenGL to apps built using electron because they do not feel as sluggish. I think the Blender UI also uses OpenGL to render the interface. One criticism of this approach that has come up in many threads on the same topic however was the lack of accessibility. This is a big pro for electron (and also native development).
- robertlagrant 5y agoI really feel as though Vulkan is a brilliant leveller, with the chance to replace DirectX with a cross-platform, open source standard, funded by Valve and Sony? Sign me up.
- pjmlp 5y agoI really don't get where you got the information that Sony cares about Vulkan, Playstation uses its own 3D API.
- robertlagrant 5y agoErrrr yes! You're totally right. Thought I read that they were contributing, but I must've dreamed it.
- PaulDavisThe1st 5y agoVulkan is a drawing API. Like OpenGL, It does absolutely nothing about the big 4 of (G)UI development: * text entry * file browsing & selection * menus * list/tree views Like OpenGL, it also doesn't even provide an event loop or even an event (user input) layer.
- duckfruit 5y agoThis is a very good point that I feel gets overlooked way too often. When people talk about the UI feeling sluggish most of the time they are talking about responsiveness. Like, who cares if your app is rendering at 120 fps if it takes me 3 seconds to focus on a text field? I feel like that’s where most cross platform tooling has their work cut out.
- prewett 5y agoIt not even a drawing API, even. It's a 3D triangle rendering API. Things like lines, bezier curves, gradients are all do-it-yourself. None of it super-hard, I've done them all, but before you write your UI you have to write all your drawing routines, which probably wasn't what you wanted to be doing. And you get all the fun texture management issues for any gradients and images you want to display. And you probably won't have optimized it like the platform rendering will have. And then there's text... You've got to load a texture for every glyph of every point size used in the app for every font used in the app. Mind you, the OS already has a cache for this, but you don't have access to it, so that's more memory wasted. Which would be sizeable if every app on your system was using Japanese, or worse, Chinese, and making a copy of all this stuff.
- afiori 5y agoit isn't the main point of your comment... but why is Chinese worse than Japanese? is it about the font itself being different or about Chinese text containing on average more unique characters?
- prewett 5y agoMore characters. I believe there are a mandated 2000 characters that learned in school and used by newspapers. I believe 3000 Chinese characters only gets to 97% and 5000 is still 99.44% [0] [0] https://lingua.mtsu.edu/chinese-computing/statistics/char/list.php https://lingua.mtsu.edu/chinese-computing/statistics/char/li...