• hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    1 month ago

    Because it’s super complicated and a thousand moving parts are involved. You have to parse HTML, draw everything correctly, do JavaScript, Canvases, WASM, Websockets, HTTP 1.0, 1.1, 2.0, SPDY, support 10 different image formats, 5 audio, 5 video formats, allow videoconferencing, write a plug-in system. Handle Bookmarks, History, File downloads, uploads, … … …

    The standards alone are thousands of pages. You gotta read them all, understand them and program everything. Which takes years for a team of developers. And you also want it secure or your users get in all sorts of trouble. A browser is the number 1 way to get malware on your computer. And all these experts take a decent salary. Multiply that (hourly) wage with multiple people and several years and you’ll end up with an expensive product.

    • jeffhykin@lemm.ee
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      19 days ago

      Don’t forget the fully fledged remote desktop thats built in, WebVR (which is being replaced with Web XR), Web Bluetooth, Web USB (aka Web Serial), the API’s for notifications, ambient light sensors, an entire transactional database (indexed DB), the language translation API, the Gamepad API (videogame controllers), hardware passkeys (yubikey), speech to text, text-to-speech, webGL, webGPU, webworkers, service workers, an entire suite of cryptography tools, GPS location, battery, vibration, FileSystem API, picture-in-picture API, WebRTC, WebSensors, etc.

      And then, on top of all that, building a miniture OS-kernel so that tasks can be sandboxed scheduled/executed and prevent 1 tab from crashing everything or hogging resources.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      And despite all that, if you don’t bend over to emulate Chrome’s quirks a ton of sites still won’t work properly and users won’t use your browser because the other one is more “compatible”. And you might still have to fake your user agent to be Chrome or Firefox so sites will even give you the fancy HTML instead of giving you the mobile or “limited” version meant for IE and older browsers.

      • nebulaone@lemmy.worldOP
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        I hate the fact that the only viable choice is between Chromium, Chromium, Chromium, Chromium, Chromium or Firefox.

        • AndrewZabar@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          There are a decent amount of third party browsers. Many of them, to make things easier, encapsulate a chromium engine, but there is still the entirety of the user interface, options, customizability and additional browsing enhancements that make the experience vastly different and that’s really what most people are looking for. Give some other ones a try now and then, you might surprise yourself and find something that really does just what you want the way you like. It happens.

          • nebulaone@lemmy.worldOP
            link
            fedilink
            arrow-up
            1
            ·
            1 month ago

            Currently using LibreWolf on desktop and Mull on android (both Firefox / gecko based) and I am happy with them :)

  • HobbitFoot @thelemmy.club
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    Because you don’t make money on making one, you make money on how it alters the view on how people see the Internet.

    Under Microsoft, the Internet was made janky enough to encourage more than the basic web use require third party plug-ins that didn’t always work or a computer program running in Windows.

    Under Google, the Internet is more standardized across platforms, but Google can shape how the Internet works for it’s own profit.

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    Not only do you have to support an insane amount of standards, you need to do it fast. Firefox and Chromium are optimized so much for speed, and nobody will use your web browser if it’s slow or uses up tons of ram.

  • z3rOR0ne@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 month ago

    Browsers are literally the best attempt at the everything app.

    There’s already been a lot of good answers on this. But a goody oldie article on making a browser is covered in Matt Brubeck’s 2014 article, Let’s Build A Browser Engine.

    If you want to see one of the most minimal source code for a terminal based browser that is still in use today, I recommend downloading the source code for the Links Browser. Note that this site is very old and doesn’t even use https. But the source code can still be had here.

    Browser software is super interesting, but there’s a lot even for a bare minimum setup like Links, so that’s more or less why most people don’t develop new ones from scratch anymore. Though there are a few exceptions like Servo, and Surf but they are pretty buggy tbh. Hope that helps and sparks your interest.

    EDIT: Also of interest is Tali Garsiel’s article, How Browsers Work. This is probably one of the best in depth articles on the subject.

  • april@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 month ago

    Over the years browsers have accumulated too many features. If it was just plain HTML and CSS rendering it wouldn’t be so bad.

    I agree with others who have said that browsers are basically operating systems now.

    • argarath@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 month ago

      The fact that I can go to one website and have a pretty much parity perfect and functioning photoshop for free, go to another and play online multiplayer games and then just go to a social webpage, forums and so much more in the same place is mind blowing when you think of how different these things are and how it all works flawlessly in the same program

  • 9point6@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 month ago

    They’re basically as complex as operating systems these days.

    You need to implement several huge standards in order to get relatively simple modern sites to load

    • Zangoose@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 month ago

      Fun fact: chromium has about 1.5 million more lines of code than the Linux kernel (about 32mil vs about 30.5mil), not including whitespace/docs/etc.

      • bitfucker@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        1 month ago

        IIRC, even KDE and their whole suite of apps are dwarfed by the LOC count of browser (forgot if it is firefox or chromium)

      • SkyeStarfall@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        It is however also worth noting that lines of code is a not great metric for complexity

        But yes, as a casual comparison it’s interesting