• flubba86@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    1 day ago

    For those who don’t know the history, Servo was the very first Rust project to ever exist.

    Back in 2012, Mozilla knew that their Gecko web engine was already getting old and unmaintainable. One of the engineers in their R&D department Mozilla Research was quietly working on a new programming language, so they adopted that to start work on their new browser engine, Servo.

    Rust v1.0 was released to the public in 2015, and was much more popular than the new browser engine it was used to create. Mozilla Research eventually gave up the idea of a new browser engine, but they did merge some of the Servo features into Gecko. Mozilla Research was shut down in 2020, and the Servo project was taken over by the Linux Foundation.

    • terminatortwo@piefed.social
      link
      fedilink
      English
      arrow-up
      20
      ·
      2 days ago

      I mean, you can see it if you want, there’s MPL code and nightly builds. It’s the best shot at ending the browser monoculture and it’s progressing steadily!

      • cabbage@piefed.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        2 days ago

        Yup, the nightly builds are already getting pretty good. Obviously not ready for any serious use yet, but it’s a great project.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        1
        arrow-down
        4
        ·
        1 day ago

        I should’ve been clearer: my misgiving is the claim of “embeddable”. If embeddable means having to read the code to find out how instead reading documentation, tutorials, and examples, nah, it ain’t embeddable. It’s possibly embeddable.

        It’s like claiming NIXOS were user friendly, assembly being easy, or Arch Linux stable.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        1 day ago

        I mean embedding into applications. There was no documentation or guide for embedding it into anything last I checked and this is just a demo browser that’s being released. If embedding it into applications is as hard as Gecko, it will have no chance against Blink and WebKit.

          • onlinepersona@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            arrow-down
            1
            ·
            1 day ago

            So, in order to embed Servo you need:

            • to use Tauri: sure, pull in a huge other project to be able to use our project 🫰
            • use GTK: again, pull in a bunch of unrelated dependencies to be able to embed our project

            I can’t give servo some graphical surface (OpenGL, Vulkan, Metal, DX, whatever), call a function to open a webpage and see it draw on that surface. There’s no lib with documentation on crates.io, no bindings for other languages, and non of the things I mentioned in my previous comment.

            It feels like this is built just like Gecko was for Firefox: single consumer with the consumer being the “reference implementation”.

              • onlinepersona@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                1
                ·
                1 day ago

                This is what I said

                There was no documentation or guide for embedding it into

                This is what you posted

                If you’d like to embed Servo in your own application, consider using tauri-runtime-verso, a custom Tauri runtime, or servo-gtk, a GTK4-based web browser widget.

                Great documentation and exceptional guide! 👏 What next, are you going to tell me that the code is the documentation? “Just read the code”?

    • warmaster@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      2 days ago

      It’s being developed by igalia, which is top notch. I’ve tried it on Bazzite, the available builds require no installation. It’s coming together very well.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        1
        arrow-down
        2
        ·
        1 day ago

        How easy is it to embed though? Documentation, tutorial, examples, etc. Making it as embeddable as Gecko is a losing strategy. Making it as embeddable as Blink and WebKit though, then we can talk about embeddable.