5 ms·
I really like this idea of switching over to servo bit by bit. It makes me happy that there might be a real WebKit alternative again.
by H4CK3RM4N 9y ago
I really like this idea of switching over to servo bit by bit. It makes me happy that there might be a real WebKit alternative again.
- NiLSPACE 9y agoI'd argue that Gecko is a real WebKit alternative. It has improved quite dramatically lately, have you tried Firefox Nightly?
- wodenokoto 9y agoThe problem with in its current state as a WebKit alternative is that it lacks stable api. We don't see any gecko based apps like we see WebKit based apps (electron, etc) because gecko is so tightly developed around Firefox.
- NiLSPACE 9y agoTrue, Gecko lacks a real API for embedding. Servo on the other hand has embedding in mind from the start. There is someone from the Servo team working on it: https://github.com/paulrouget/servoshell https://github.com/paulrouget/servoshell
- deleted 9y ago[deleted]
- FreakyT 9y agoI remember way before Electron there was XULRunner, and there were a few ridiculously bloated non-Mozilla apps that were based on it. Like Songbird[1] -- anyone remember that? I suppose the idea was largely ahead of its time; in 2006 computers just didn't have enough RAM/CPU to get away with running a full web browser stack for every app like we (sort of) can today. [1]: https://en.wikipedia.org/wiki/Songbird_(software) https://en.wikipedia.org/wiki/Songbird_(software)
- wodenokoto 9y agoBack then I was a big fan of the concept and I really enjoyed songbird. I still think that building a html+javascript package, and have the default browser run it chromeless with some expanded privileges (or near chromeless) is a great approach for cross-platform apps, sadly it doesn't seem like anyone is working seriously on such an approach.
- StavrosK 9y ago> I still think [it] is a great approach for cross-platform apps You think so? I find that running a whole second OS for every process is hugely bloated and slow, and that we can do much, much better when there are already very good languages that run cross-platformly, they just need bindings to a good cross-platform UI toolkit. Unfortunately, nothing looks as good on OS X as Cocoa does.
- wodenokoto 9y agoYes. Yes I do. Look at R studio. Wonderful IDE, runs as a safari app. Having a whole extra browser and a node backend running for each app seems a waste, but using the browser that is already running as a runtime environment seems much saner. I do most of my work in the browser, I wouldn't mind if some of that had better integrated UI. I also wouldn't mind writing small, easy to produce apps that will work across systems.
- StavrosK 9y agoI'm not saying programs written in it aren't useful or doable, I just don't think it's a great approach. I think it's a last-resort approach, because there just isn't a better cross-platform toolkit available.
- maxsilver 9y ago> I still think that building a html+javascript package, and have the default browser run it I think the thing that kills that approach is the default browser, which on Windows is IE 12 (Edge). Edge isn't actually that bad to work with these days. But almost no web developers will use that when they could ship Chromium / Electron just as easily and get the exact same browser on all three platforms. Even Microsoft's own teams will sometimes make that choice (VS Code using Electron.js and not Edge, for example)
- krzyk 9y agoThat's good. I don't see a point in having an app that embeds a browser to show an app. It's like having those silly Android apps that are just a wrapper around a web version of the service. If I want to use a web version I can do it using a browser of my choosing not the one developers want.
- charrondev 9y agoThe browser rendering environment is only half of electron. Electron (and nw.js) provide a node.js / browser hybrid. You can use native node-modules, instead of browser-based workarounds and you have the same filesystem access a native application would have. You also have hooks into platform specific menu/dock/notifications.
- agumonkey 9y agoIt is, it's just hard to track what's going on in a way. The browser saw new ideas, and rollbacks (hello ? IIRC). There's the XUL layers, Electrolysis, the actual engine. I have to admit If you clean your mind from memories of high latency Firefox GUI, it's now near chrome-fast on the UX side. Memory use is adequate if not #1. Tabs are well handled too.
- jayflux 9y ago"again" ? Was there a real alternative to WebKit in the embedded browser space before? (genuine question)
- chairmanwow 9y agoI'm new to frontend in general and wondering if I could trouble you for some context. Why is Firefox's CSS styling engine not already "in" the browser? To me it seems like Stylo is just a parallelized replacement for the old system, Servo. What am I missing here? Also, why are you celebrating an alternative for WebKit? Isn't it already supported by most major browsers?
- tolien 9y ago> Why is Firefox's CSS styling engine not already "in" the browser? It is, Firefox can do CSS and styles just now. Stylo is a replacement for that. > To me it seems like Stylo is just a parallelized replacement for the old system, Servo. What am I missing here? Servo isn’t the old system. Servo is a research project to build a layout engine (analogous to Gecko which Firefox currently uses) in Rust, of which Stylo is a part. > Also, why are you celebrating an alternative for WebKit? Isn't it already supported by most major browsers? It sounds like you’re confused about what WebKit is. WebKit and its forks are used by a number of browsers (Chrome, Safari etc.). EdgeHTML, Gecko and WebKit are, broadly speaking, competitors which attempt to implement certain standards and frequently disagree about how to do so. It’s important that there be alternatives to WebKit with significant market share because otherwise how WebKit implements a feature becomes the de facto reference implementation.
- chairmanwow 9y agoThanks to you (and all the other commenters) for the detailed answers! I learned a lot!
- IamCarbonMan 9y agoServo is a complete (although WIP) browser engine in Rust. Stylo is a project to plug the style parts of Servo into Firefox, which currently uses the Gecko browser engine. This is part of Mozilla's ongoing efforts to modernize Firefox by gradually rewriting it in Rust. WebKit is technically only used by Safari. Chrome uses a WebKit fork called Blink, and MS Edge uses its own engine called Chakra. I assume the above commenter was expressing relief that someone besides Google is making a fast, modern web browser these days.
- mintplant 9y agoServo's WebRender is also in the Firefox tree. I've seen some crazy benchmarks using it. It's not ready to be enabled widely yet, though.
- Manishearth 9y agoNote that the current webrender pref on nightly will be slower, since it runs stuff through webrender and then the regular renderer. They're focusing on getting it feature complete first, after which that pref will probably be switched over to be pure webrender.