Very efficient, though technically MS acquihired Mark Russinovich.
He still works on them even though he's Azure CTO.
VS Code, Discord, Slack, etc., all have awful performance on older hardware where native programs like the full Visual Studio fly.
It's my personal suspicion that people cheerleading JS all are working with fantastic developer hardware, where the performance impact is pretty muted.
But if an app does it "old school" then it can definitely be very slow.
My full-time job is writing tools in React that often have to handle datasets in the >10k items range.
I work on a React project that has a faster UI than its native desktop counterpart.
Let me illustrate the DOM question with an example.
Let's say you've got an "old style" jQuery to-do app. The user types something into the field, and clicks "Add".
- The input field will be cleared
- A new element will be added to the list, containing the string
- The counts for "total items" and "items remaining" will be updated
Now let's say you rewrite this app in React. The user types something into the field, and clicks "Add".
- The input field will be cleared
- A new element will be added to the list, containing the string
- The counts for "total items" and "items remaining" will be updated
Your code that accomplishes this will look completely different - much more readable and less fragile - but the exact same DOM API calls will be made, and it will perform exactly the same.
The "speed" we associate with React is not in comparison to "old school" libraries, but to the naiive way of achieving data-driven syntax. You could just nuke the page entirely and re-render everything from scratch each time your data changes. This would be the easiest way of achieving data-driven syntax, but it would indeed be extremely slow. React gives you (something approaching) the performance of jQuery-style mutation, with the developer experience of reconstructing the DOM from scratch every time data changes.
Perhaps it's your computer and not Outlook.
[1] https://twitter.com/TheLarkInn/status/1006761134395834368