5 ms·
Reality: we get Electron but this time using Servo
by c487bd62 8y ago
Reality: we get Electron but this time using Servo
- inferiorhuman 8y agoYeah this is the most uncomfortable opinion I see with rust. In general rust doesn't seem terribly well suited to existing toolkits (as most make heavy use of the OO paradigm). What's left is often very immature (e.g. cursive) and so there tends to be a knee-jerk reaction of: let's build a GUI toolkit on top of Servo. Electron isn't just bad because it's all a mess of javascript, it's bad because it's not portable, because the resulting apps are bloated and non-performant, and because they never quite work like native apps. For all the people who wave the "one true Scotsman" flag at people whinging about the non-native feel of Electron I'd just like to point at Visual Studio Code. Opening a file vs directory on Windows is a hilarious exercise in fermented emacs-like keystrokes. On a Mac, try using the "Window" menu (it doesn't list the children) or try using the minimized window icons (they all have the very useful title "Code").
- dagenix 8y ago> Electron isn't just bad because it's all a mess of javascript, it's bad because it's not portable Electron runs on (at least) Linux, Windows, and Mac OS. That may not be perfect, but, I think its hard to brand that as "not portable".
- inferiorhuman 8y ago> Electron runs on (at least) Linux, Windows, and Mac OS. Take a look at the issues opened for porting Visual Studio Code to not-Linux/not-MacOS/not-Windows. It's non-trivial in large part because Electron is a mess and not officially supported beyond Linux/Mac/Windows.
- solarkraft 8y agoAre other toolkits easier to port to unsupported platforms?
- inferiorhuman 8y agoI'd assume so based on both Gtk, Qt, WxWidgets, and Curses supporting more platforms (e.g. BSDs). Certainly qmake is leagues ahead of the messes that Electron and VS Code use. Edit: None of this is helped with the absolutely shittacular support that Node has for non-Linux unicies. Multi-platform support is one of those things that Rust really gets right.
- microcolonel 8y ago> let's build a GUI toolkit on top of Servo Well, maybe not Servo, but WebRender? GTK+3 uses CSS for styling, and it is not that different from the web's CSS. It is conceivable that WebRender is a faster way of rendering GTK+3 views.
- danieldk 8y agoYeah this is the most uncomfortable opinion I see with rust. In general rust doesn't seem terribly well suited to existing toolkits (as most make heavy use of the OO paradigm). The Gtk+ bindings are pretty good. Of course, this is not surprising, because Gtk+ was doing OO on top of C. Gtk+ is not the native widget set on macOS or Windows, but neither is Electron nor 'Servotron' ;).
- inferiorhuman 8y agoYeah I forgot (intentionally?) about the Gtk bindings. I've never been much a fan of Gtk (OO on C seems... wrong among other quibbles), but yeah the Gtk bindings occupy that better-than-nothing space but aren't something I'm hugely enthuastic about. They're not a multi-process client-server mess like Electron but they're also just wrappers around a big C library.
- mrep 8y agoI think a better analogy would be something backend. Front ends may have gotten slow but that has been exacerbated by intel sitting on 4 core consumer chips for a decade now. However, AMD finally came along and shook that up with threadripper and now you can get 8 times the number of cores from AMD, or 50% more from intel. I think we still have quite a ways to go on the consumer side.
- adrianN 8y agoI feel like I could do essentially all computing that I do now, except surfing the Internet at broadband speeds, on a machine with 64MB RAM and a Pentium II. IO has gotten a lot faster and hard disks are a lot bigger, but the things I do still work at about the same speed most of the time.