The issue is in the application architecture, not the platform architecture.
VSCode uses raw TS with no frameworks and all handcrafted events (manually attaching and detaching dom event listeners is commonplace, and hand wiring each event’s propagation chain is as well), Teams hops to the current flavor of the week framework when they get too far up a tree with the last rewrite’s.
VSCode has also never been rewritten from the ground up, whereas this is Teams’ fourth or fifth time by my count.
VSCode also has about 50 people on it, all said and done (PM, Design, etc included), teams has well over a thousand.
It’s really quite an interesting case study. The lesson being, IMO: stop worrying about electron vs native vs angular vs rust vs react vs blah blah blah and just:
- don’t be afraid to write good code
- profile often
Electron is a waste of resources. A high price to pay for the convenience of easy multiplatform applications.