this post was submitted on 28 May 2025
1328 points (99.2% liked)

People Twitter

7065 readers
317 users here now

People tweeting stuff. We allow tweets from anyone.

RULES:

  1. Mark NSFW content.
  2. No doxxing people.
  3. Must be a pic of the tweet or similar. No direct links to the tweet.
  4. No bullying or international politcs
  5. Be excellent to each other.
  6. Provide an archived link to the tweet (or similar) being shown if it's a major figure or a politician.

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] meowmeowbeanz@sopuli.xyz 183 points 3 days ago (3 children)

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 21 points 3 days ago (1 children)

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.

[–] untorquer@lemmy.world -3 points 3 days ago (1 children)
[–] The_Decryptor@aussie.zone 16 points 3 days ago (1 children)

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 9 points 3 days ago (1 children)

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 9 points 3 days ago (1 children)

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 3 points 2 days ago* (last edited 2 days ago)

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

[–] pelespirit@sh.itjust.works 4 points 3 days ago (1 children)

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 28 points 3 days ago (1 children)

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 11 points 3 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