• meowmeowbeanz@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    187
    arrow-down
    2
    ·
    5 days ago

    Oh, but it absolutely is true. Microsoft really did decide to use React Native for parts of the Windows 11 Start menu. They’re also using it in sections of the Settings app.

    The technical reality is even more absurd than the meme suggests. Microsoft is currently maintaining eight different UI frameworks for Windows, including their own .NET MAUI and WinUI 3 that were specifically built for their OS. Yet somehow they thought, “You know what this native operating system needs? A JavaScript framework originally designed for mobile apps.”

    The CPU usage spikes aren’t necessarily from React Native itself being particularly heavyweight, but rather from the fundamental architectural choice of running a web-based rendering engine for core system UI elements. Every time you click Start, you’re essentially launching a mini web application just to display a menu.

    What’s particularly galling is that Microsoft has acknowledged WinUI’s performance issues for years, to the point where they recommend their partners use the older WPF for performance-critical applications. So instead of fixing their native framework, they decided to add another layer of abstraction.

    This is what happens when corporate development teams prioritize “developer experience” and trendy frameworks over system efficiency. Richard Stallman’s expression in that image perfectly captures the appropriate level of technical horror at this decision.

    The old world built operating systems. The new world builds web apps that pretend to be operating systems.

    • The_Decryptor@aussie.zone
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      3
      ·
      4 days ago

      React Native doesn’t render using a browser instance, it’s native code (as the name implies), it’s actually a layer over WinUI 3 (Previous versions used WPF/UWP)

      So it’s in the same boat as MAUI, which is also a layer over WinUI 3.

        • The_Decryptor@aussie.zone
          link
          fedilink
          English
          arrow-up
          17
          arrow-down
          1
          ·
          4 days ago

          The CPU usage spikes aren’t necessarily from React Native itself being particularly heavyweight, but rather from the fundamental architectural choice of running a web-based rendering engine for core system UI elements.

          • untorquer@lemmy.world
            link
            fedilink
            arrow-up
            10
            arrow-down
            1
            ·
            4 days ago

            I suppose i lack an understanding of whether React Native is a web based rendering engine or not but i figured they could also be referring to edge implementation in the same feature.

            Like saying coffee isn’t hot because of the mug it’s in but the brewing machine it came out of.

            • meowmeowbeanz@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              11
              arrow-down
              2
              ·
              4 days ago

              Oh, the pedants have arrived. How delightful.

              Yes, technically The_Decryptor is correct - React Native doesn’t literally spin up a Chromium instance like Electron does. It transpiles JavaScript into native calls. But they’re completely missing the forest for the trees here.

              The fundamental architectural absurdity remains unchanged: Microsoft is using a JavaScript framework - originally designed for mobile apps - to render core operating system UI elements. Whether that JavaScript gets compiled to native calls or interpreted in a browser engine is irrelevant to the core criticism.

              Your coffee analogy is actually closer to the mark than The_Decryptor realizes. The performance issues aren’t just about the final native calls - they’re about the entire abstraction stack Microsoft has built.

              You’ve got JavaScript -> React Native bridge -> WinUI 3 -> whatever underlying Windows API calls. Each layer adds overhead, complexity, and potential failure points. The_Decryptor saying “it’s in the same boat as MAUI” isn’t the defense they think it is - MAUI has its own performance issues precisely because of similar abstraction layers.

              This is exactly the kind of technical bike-shedding that lets corporations get away with architectural disasters. Everyone argues about implementation details while the Start menu still stutters when you click it.

              The old world would have written the Start menu in C++ and called it a day. The new world creates dependency graphs that look like spider webs and then argues about whether the spider web is technically made of silk or polyester.

              • untorquer@lemmy.world
                link
                fedilink
                arrow-up
                3
                ·
                edit-2
                4 days ago

                Heel yeah now that’s the clarification I’m here for! (Actually honest, cheers and thanks!)

    • pelespirit@sh.itjust.worksM
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      4 days ago

      Can’t they extract more data from a mobile set-up? I’m assuming that’s why they did it, they’re trying to take it to a phone experience for the corporations.

      • cogman@lemmy.world
        link
        fedilink
        arrow-up
        29
        ·
        4 days ago

        Nope.

        The reason you do react native is because it’s easier to hire react native devs. Further, there’s a plethora of react native libraries that make it easier to make UXes above other UX frameworks.

        The problem MS has is they have spent decades making platform locked UX frameworks because they were deathly afraid someone would use Linux instead of Windows.

        Browser tech won because every major platform needs a browser and basically no organization was investing in multiplatform UX libraries. The likes of both Microsoft and Apple are openly hostile to such frameworks (QT and GTK come to mind).

        • The_Decryptor@aussie.zone
          link
          fedilink
          English
          arrow-up
          12
          arrow-down
          1
          ·
          4 days ago

          The likes of both Microsoft and Apple are openly hostile to such frameworks (QT and GTK come to mind).

          Funny thing, the OneDrive client app that ships with Windows, uses Qt