Microsoft Regrets Using React (For Edge)

Theo - t3β€€gg
4 Jun 202414:28

Summary

TLDRThis video delves into Microsoft Edge's performance improvements, highlighting its transition from using React for UI to a more streamlined approach. Microsoft aims to enhance speed and responsiveness, especially on lower-resource devices. The script discusses the shift to a 'Web UI 2.0' architecture, reducing JavaScript and leveraging web components for faster rendering. It also touches on the broader implications for UI development, questioning the reliance on JavaScript for UI generation and advocating for a return to server-side rendering for efficiency.

Takeaways

  • 🌐 Microsoft Edge is undergoing significant performance improvements, aiming to make user interactions faster and more responsive.
  • πŸ”§ The browser's UI is now more efficient, with a 42% speed increase for all users and an impressive 76% improvement for devices without an SSD or with less than 8GB of RAM.
  • πŸ›  Microsoft Edge's features, such as favorites, are being enhanced for quicker UI responsiveness, with a 40% faster experience expected in the upcoming Edge 124.
  • πŸ”„ The browser is built on Chromium and utilizes HTML, JavaScript, and React for its UI components, which are separate mini HTML pages within the browser.
  • πŸ“‰ Edge's UI responsiveness was monitored and analyzed through telemetry data from end users, identifying areas for improvement and targeting lower resource devices.
  • πŸ“š The large code bundles used in Edge's components were found to be a bottleneck due to non-modular UI code organization and client-side rendering reliance.
  • πŸš€ Microsoft introduced 'Web UI 2.0', an internal project that focuses on a new, more modular architecture using web components and patterns for optimal performance.
  • πŸ”— The goal of Web UI 2.0 is to reduce the size of code bundles and JavaScript execution during UI initialization, improving load times and interactivity.
  • πŸ“ The transition to Web UI 2.0 began with Browser Essentials, proving the concept's effectiveness across various devices and setting the stage for further UI upgrades.
  • 🀝 Microsoft plans to open-source some of their packages, allowing developers to benefit from the performance improvements and patterns established in Web UI 2.0.
  • πŸ’‘ The company is also looking to contribute to the web platform itself, seeking opportunities to enhance its capabilities beyond the improvements made in Edge.

Q & A

  • Why is Microsoft Edge's performance improvement relevant to developers?

    -Microsoft Edge's performance improvements are relevant to developers because the browser is now faster and more responsive, which can enhance the overall user experience, especially for developers who rely on the browser for coding and testing web applications.

  • What is the significance of Microsoft Edge's UI becoming 42% faster for users?

    -The 42% increase in UI responsiveness signifies a notable improvement in user experience by making interactions within the browser quicker and smoother, which can be particularly beneficial for users with less powerful hardware configurations.

  • How does Microsoft Edge's performance improvement affect users with devices without an SSD or with less than 8GB of RAM?

    -For users with devices without an SSD or with less than 8GB of RAM, the performance improvements in Microsoft Edge are even more pronounced, with a 76% increase in UI responsiveness, making the browser more usable on lower-resource devices.

  • What is the 'Favorites' feature in Microsoft Edge and how has it been improved?

    -The 'Favorites' feature in Microsoft Edge allows users to bookmark and manage their favorite websites. It has been improved in terms of UI responsiveness, with the experience being 40% faster whether the favorites are expanded or collapsed.

  • What is the 'Web UI 2.0' project in the context of Microsoft Edge?

    -The 'Web UI 2.0' project is an internal initiative by Microsoft to create a new architecture for the browser's UI that is more modular, minimizes code bundle size, and reduces the amount of JavaScript code running during the UI initialization, aiming to improve performance.

  • Why did Microsoft Edge previously use React for its UI components?

    -Microsoft Edge used React for its UI components to leverage the productivity benefits and dynamic UI capabilities that React offers to web developers. However, the use of React led to performance issues due to large code bundles and client-side rendering inefficiencies.

  • What is the issue with using React for non-dynamic UI elements like menus in a browser?

    -Using React for non-dynamic UI elements like menus can introduce performance overhead due to the need to download, compile, and execute JavaScript before the UI can be rendered, especially when multiple instances of React are used for different parts of the UI.

  • How does Microsoft's approach to UI development with 'Web UI 2.0' differ from traditional React-based development?

    -The 'Web UI 2.0' approach focuses on a 'markup-first' architecture, using web components and server-side rendering to minimize JavaScript execution and reduce the size of code bundles, leading to faster UI rendering compared to traditional React-based client-side rendering.

  • What is the potential impact of Microsoft Edge's shift to 'Web UI 2.0' on the broader web development ecosystem?

    -The shift to 'Web UI 2.0' could encourage more developers to adopt a 'markup-first' approach, using smaller code bundles and minimizing JavaScript for UI rendering, potentially leading to faster, more efficient web applications.

  • How does the new UI architecture in Microsoft Edge benefit users with low-end devices?

    -The new UI architecture benefits users with low-end devices by improving responsiveness and reducing the performance overhead associated with JavaScript execution and large code bundles, making the browser more usable on devices with limited resources.

  • What are Microsoft's plans for the 'Web UI 2.0' project in terms of open-sourcing and contributing to the web platform?

    -Microsoft plans to make some of the packages developed as part of the 'Web UI 2.0' project open source, allowing all developers to benefit from the performance improvements. They are also committed to finding ways to improve the web platform itself, indicating a broader contribution to web standards and technologies.

Outlines

00:00

🌐 Microsoft Edge's Performance Overhaul

The script discusses the significant improvements in Microsoft Edge's performance and responsiveness. It begins by noting the browser's shift from using React for UI components to a more streamlined approach, aiming to make user interactions faster. The script highlights the performance enhancements in Edge 122 and 124, which include faster UI response times, especially for users with lower resource devices. It also invites developers to provide feedback on these changes through the browser's feedback tool. The narrative delves into the technical aspects of how Microsoft Edge, built on Chromium, leverages HTML, JavaScript, and React for its UI, and the subsequent decision to optimize and modularize the codebase to improve performance.

05:01

πŸ› οΈ The Evolution of Microsoft's UI Development with React Native

This section of the script explores Microsoft's adoption of React Native for Windows and Mac, a move aimed at creating a more native and unified development experience across platforms. It discusses the company's realization that their traditional approach to building UI was not conducive to modern app development, leading to the widespread use of Electron. Microsoft's response was to embrace React Native, which allowed for the creation of multi-platform software with a single codebase. The script also touches on Amazon's similar efforts with static Hermes and compiled JavaScript to enhance the performance of React Native apps. The narrative critiques the use of multiple HTML pages for UI within Microsoft Edge, suggesting that a more unified approach, such as using React Native, would be more efficient.

10:01

πŸ”§ Microsoft Edge's Web UI 2.0: A New Approach to UI Rendering

The final paragraph introduces Web UI 2.0, an internal project by Microsoft aimed at revolutionizing how UI is rendered in Microsoft Edge. The project focuses on creating a more modular architecture that reduces code bundle size and leverages web components for performance optimization. It discusses the shift from client-side rendering to a 'markup-first' approach, which is intended to speed up UI rendering, especially on lower-end devices. The script also mentions the company's commitment to contributing to the web platform and the potential open-sourcing of some packages for community benefit. However, it concludes with a critical perspective on the approach, questioning the necessity of using web technologies in ways they were not originally intended and suggesting that a unified React Native instance could have simplified the process.

Mindmap

Keywords

πŸ’‘Microsoft Edge

Microsoft Edge is a web browser developed by Microsoft. In the video, it is discussed how Edge has undergone performance improvements to become faster and more responsive. The script mentions that Edge's UI is now more efficient, especially for users with devices without an SSD or with less than 8GB of RAM.

πŸ’‘React

React is a JavaScript library used for building user interfaces, particularly single-page applications. The video script discusses how Microsoft Edge previously utilized React code for its UI components, which has implications for performance. The term is used to illustrate the shift from using React for UI to a more performance-oriented approach.

πŸ’‘UI Responsiveness

UI responsiveness refers to how quickly a user interface responds to user interactions. The script highlights the improvements in Microsoft Edge's UI responsiveness, noting that it has become faster and more efficient, which is crucial for a better user experience.

πŸ’‘Performance Improvements

The video discusses the performance improvements made to Microsoft Edge, focusing on making user interactions faster. The script mentions specific percentages of speed increase in UI elements, emphasizing the browser's journey towards enhanced performance.

πŸ’‘Blazing Fast

The term 'blazing fast' is used in the script to describe the significant speed improvements in Microsoft Edge. It is part of a marketing message to convey the browser's new level of performance, suggesting quicker load times and seamless multitasking.

πŸ’‘WebUI 2.0

WebUI 2.0 is an internal project name used in the script to refer to a new architecture for Microsoft Edge's UI. It is designed to minimize code bundle sizes and reduce JavaScript execution during UI initialization, aiming to improve performance and modularity.

πŸ’‘Server-Side Rendering

Server-Side Rendering (SSR) is a technique where the server generates the HTML content of a web page before sending it to the client. The script discusses the benefits of SSR for UI performance in the context of Microsoft Edge's UI components, contrasting it with client-side rendering.

πŸ’‘Client-Side Rendering

Client-Side Rendering is a method where the browser generates the UI by executing JavaScript code. The video script points out that Microsoft Edge's previous reliance on client-side rendering with React contributed to performance issues, leading to a shift towards WebUI 2.0.

πŸ’‘Web Components

Web Components are a set of web platform APIs that allow developers to create reusable custom elements. The script mentions that Microsoft Edge's new UI architecture relies on a repository of web components optimized for performance, indicating a move towards a more modular and efficient UI design.

πŸ’‘React Native

React Native is a framework for building native mobile applications using React. The script contrasts React Native's efficiency and use in platforms like Xbox with the issues faced by Microsoft Edge's previous UI approach, suggesting that a unified instance of React Native could have avoided performance problems.

πŸ’‘Chromium

Chromium is an open-source browser project that Microsoft Edge is built around. The script notes that many UI components in Edge were built with HTML and JavaScript, similar to web development practices, which influenced the decision to improve UI performance.

Highlights

Microsoft Edge is undergoing improvements to make user interactions faster, starting with new and core features.

Edge's UI is now more responsive, with a 42% speed increase for users and 76% for those without an SSD or less than 8GB of RAM.

Favorites feature in Edge 124 has seen a 40% improvement in UI responsiveness.

Microsoft is committed to continuous responsiveness improvements across more Edge features in the coming months.

Edge is built around Chromium, with UI pieces built using HTML, JavaScript, and React.

Microsoft Edge monitors UI responsiveness via telemetry collected from end users' machines.

Data revealed that Edge's UI could be more responsive, especially on lower resource devices.

Microsoft discovered areas of improvement, such as large code bundles and inefficient client-side rendering.

React Native for Windows and Mac is being used by Microsoft for multi-platform software development.

Microsoft is embracing React Native to improve the developer experience and UI performance on Windows and other platforms.

Web UI 2.0 is an internal project by Microsoft aiming to improve UI performance by minimizing code size and JavaScript execution.

Browser Essentials is the first Edge feature converted to the new Web UI 2.0 architecture.

Microsoft plans to make some of their packages open source for the benefit of all developers.

The article discusses the potential of server-side rendering with web components, which contradicts their use in Edge.

Microsoft is looking to improve the web platform itself with the advancements in Web UI 2.0.

The article raises concerns about the misuse of web technologies in UI development within Microsoft Edge.

Microsoft's approach to UI development in Edge has been questioned, with suggestions that a unified React instance could have been more efficient.

The discussion highlights the importance of native code accessibility in UI development for performance optimization.

The article concludes with a call for community feedback on Microsoft's direction with development and UI improvements.

Transcripts

play00:00

an even faster Microsoft Edge okay I

play00:03

know nobody really uses Microsoft Edge

play00:05

so going this in depth on it might seem

play00:07

useless but I promise you this will be

play00:09

interesting because Microsoft Edge was

play00:11

using a bunch of react code before and

play00:13

now it's using a little bit less you

play00:14

might be thinking what the browser using

play00:17

react but react is what you use in the

play00:18

browser there's a lot of fun intricacies

play00:20

here that we're going to go into as we

play00:22

dive in I think that people don't

play00:23

understand just how deep Microsoft is on

play00:26

react and whether or not you do this

play00:28

video will be useful so let's Dive In

play00:30

over the past month you may have noticed

play00:31

that some of Edge's features have become

play00:33

faster and more responsive that's

play00:34

because Edge is on a journey to make

play00:36

whole user interactions in the browser

play00:38

blazing fast starting with some of our

play00:40

newest features and core features this

play00:42

is weird we're going to try something

play00:44

generate a marketing message about

play00:45

performance improvements to Microsoft

play00:48

Edge targeting the developer known as

play00:49

the prime engine make sure to include a

play00:51

reference to Blazing fast with our

play00:53

latest performance improvements

play00:54

Microsoft Edge is now blazing fast

play00:55

you'll experience quicker load time

play00:56

seamless multitasking and enhanced

play00:57

stability ensuring that you can focus on

play00:59

what you do best coding not too far off

play01:03

but yeah Prime God is blazing fast

play01:04

reference that means we have to read

play01:05

this fast so that we can beat him to it

play01:07

starting with Edge 122 the browser

play01:09

Essentials UI is now much more

play01:11

responsive the UI is now 42% faster for

play01:13

Edge users and a whopping 76% faster for

play01:16

those of you on a device without an SSD

play01:18

or with less than 8 gigs of RAM I forget

play01:20

how many devices are running

play01:22

Windows man favorites is another Edge

play01:24

feature that's getting UI responsiveness

play01:25

improvements in Edge 124 whether

play01:27

favorites are expanded or collapsed The

play01:29

Experience should be be 40% faster this

play01:31

is just the tip of the iceberg over the

play01:33

coming months we'll continue to ship

play01:34

responsiveness improvements to many more

play01:36

Edge features including history

play01:38

downloads wallet and more we'd love for

play01:40

you to try Microsoft Edge and let us

play01:41

know what you think tell us about your

play01:43

experience by using the feedback tool on

play01:44

edge click settings more help and

play01:46

feedback send read on for more details

play01:49

on how we made this all possible I think

play01:51

some important context I should add

play01:53

before we go too much further is the

play01:54

fact that edge is built around chromium

play01:57

and a lot of these UI pieces that we're

play01:59

talking about are things that they built

play02:01

with HTML and JavaScript in this case

play02:03

react so it's not like all of edge is

play02:05

one giant react app rather all of these

play02:08

uis and all these menus and buttons and

play02:10

things are their own little mini HTML

play02:11

pages with react in them so the issue is

play02:14

that the menus of react app the drop

play02:16

down is a react app the favorites tab is

play02:18

a react app all of these things are

play02:19

their own mini react apps and that's not

play02:21

a great way to render UI special UI that

play02:24

doesn't really ever change and it seems

play02:26

like they're making changes accordingly

play02:28

let's see what they've done edges UI

play02:29

responsiveness improvements started with

play02:31

understanding what you or users were

play02:33

experiencing Edge monitors its UI

play02:35

responsiveness via Telemetry collected

play02:37

from you end users machines we

play02:39

intentionally did this collection for

play02:40

all the parts of the edui not just for

play02:42

the web pages that we render I wonder if

play02:44

they're also doing it for the recall

play02:45

data where they're taking pictures of

play02:47

your screen constantly that everyone's

play02:48

so excited about so what did they learn

play02:50

from this data Research indicates that

play02:51

there are certain absolute

play02:52

responsiveness targets that must be

play02:54

metant for a user to perceive the UI is

play02:56

fast and data showed our UI could be

play02:58

more responsive it also showed that that

play02:59

we have an opportunity to improve

play03:01

responsiveness for lower resource

play03:02

devices this is not bullet points why

play03:04

did they bullet point this we are

play03:06

constantly learning more about how we

play03:07

can improve the performance of the edui

play03:10

and by using this data we discovered

play03:11

some areas of improvement for example we

play03:13

observed that the bundles of code that

play03:15

many of our components used were too

play03:16

large we realized that this was due to

play03:17

two main reasons one is that the way we

play03:19

organized the UI code in Edge wasn't

play03:21

modular enough teams who worked on

play03:23

different components shared common

play03:24

bundles even when that wasn't strictly

play03:26

necessary this resulted in one part of

play03:27

the UI code slowing down another part by

play03:29

sharing unnecessarily remember the thing

play03:31

I said about a bunch of react apps

play03:32

doesn't mean it's a bunch of different

play03:33

instantiated react projects if it's one

play03:36

gigantic JS bundle being mounted with

play03:38

different props in 15 places that's even

play03:40

worse a lot of our code was using a

play03:41

framework that relied on JavaScript to

play03:43

render the UI I wonder which this is

play03:45

referred to as client side rendering

play03:47

which has been a popular Trend amongst

play03:48

web devs over the past decade because it

play03:50

helped web developers be more productive

play03:52

and it enabled more Dynamic UI

play03:53

experiences thankful for them not

play03:55

talking because as I hinted at

play03:57

before they're building a lot of things

play03:59

around react Nat people seem to think

play04:00

react native is just for IOS and Android

play04:02

it is for a lot more than that believe

play04:04

it or not there's a react native for

play04:05

Windows build but it's not just Windows

play04:07

also for Mac so obviously this is like

play04:09

the react native team building this

play04:10

right nope react native for Windows and

play04:12

Mac is by Microsoft remember how

play04:14

Microsoft kind of out of nowhere started

play04:16

being really kind to Linux remember the

play04:18

Microsoft Hearts Linux I searched this

play04:21

earlier on stream believe it or not

play04:23

where all of a sudden Microsoft

play04:24

acknowledged hey maybe developers don't

play04:27

like us for a reason maybe we should

play04:29

figure out what dev's like and then they

play04:31

realized oh devs really like Linux

play04:33

maybe we should stop pretending that

play04:35

we're doing better than that and then

play04:37

they added window sub system for Linux

play04:38

they started supporting Linux more on

play04:39

Azure Etc and that combined with GitHub

play04:42

combined with typescript combined with

play04:43

VSS code slowly got Microsoft to be

play04:46

taken more seriously by developers again

play04:47

but they do that not by telling us we're

play04:50

all wrong and inventing a new way they

play04:52

do this now by watching what the market

play04:54

wants and what they realized was the

play04:56

ways we were building UI on Windows

play04:58

sucked in the fact that the way we built

play05:00

on Windows was Windows only meant that

play05:02

nobody was building native Windows apps

play05:04

anymore and the reason electron got so

play05:06

popular was it was the easiest way to

play05:07

build an app on Windows and on Mac and

play05:09

they wanted something that actually used

play05:10

the native platform they put all this

play05:12

time into making windows and windows

play05:13

like universal windows project app

play05:15

platform so powerful Windows is going to

play05:18

feel like if none of the apps use

play05:19

it they're all using these crazy web

play05:20

wrappers so they went all in on react

play05:22

native for Windows because they

play05:23

specifically wanted to allow for this

play05:25

code in the developer experience both

play05:27

for developers working at Microsoft and

play05:29

ones outside of it to not suck as hard

play05:31

and they built this because they wanted

play05:33

to be able to build things once for all

play05:35

the platforms they were targeting for

play05:36

desktop software react native for

play05:38

Windows and Mac runs on Windows Mac and

play05:40

even on Xbox which is really cool if you

play05:42

think about it and this has allowed them

play05:43

to build a lot of multi-platform

play05:45

software this isn't just things like the

play05:47

Microsoft Xbox store this is stuff like

play05:49

the Windows start menu in Windows 11

play05:52

it's not rendering an HTML page with

play05:54

JavaScript inside of it is just using

play05:56

JavaScript to tell the native platform

play05:58

which buttons to put where so the same

play06:00

way that react tells the browser which

play06:01

HTML to put somewhere react native can

play06:04

now tell Windows which Native Windows UI

play06:07

to put places and same with Mac OS and

play06:09

Microsoft's been dog fooding this hard

play06:11

they're using react native for so many

play06:12

things from various parts of the office

play06:14

suite to literally the start menu in

play06:16

Windows to all of the stuff they're

play06:18

doing on Xbox right now they're taking

play06:19

react native very seriously because they

play06:21

know their way of building and their UI

play06:24

platforms suck it's honestly really cool

play06:26

to see that Microsoft is taking react

play06:28

native so seriously and another C is

play06:29

doing this is Amazon with all the stuff

play06:31

they're doing around static Hermes and

play06:32

compiled JavaScript to make react native

play06:34

apps even faster but we're not talking

play06:36

about react native for Windows because

play06:38

that's not what they were using on edge

play06:40

despite the fact that edge is a native

play06:42

desktop app yes it's a native desktop

play06:43

app that renders web pages there was no

play06:45

reason the menus and these other things

play06:47

have to be HTML they could just be

play06:49

native UI I say just as though it's that

play06:51

easy but it's not but it is surprisingly

play06:53

common to do menus using HTML and things

play06:56

like this one of my favorite fun facts

play06:58

if you're around AG this might look very

play07:01

familiar believe it or not the menu

play07:03

system on the Wii was HTML files this is

play07:06

the actual menu when you go to settings

play07:09

on a Wii this is the actual HTML file

play07:11

exported so we can see it in the browser

play07:13

it's not that uncommon to just dump an

play07:15

HTML file on something and call it a

play07:17

menu if you already have HTML rendering

play07:19

it its low interaction so this pattern

play07:22

is established it's been established for

play07:24

a while what's interesting here is that

play07:26

that was one menu That's HTML what

play07:29

Microsoft was doing here is embedding

play07:30

lots of many HTML Pages inside of a

play07:33

browser just to control all of the UI

play07:36

very interesting and lithium making a

play07:38

good point that react is going to take

play07:40

over all UI Dev that is their goal and

play07:42

they're doing a really good job so far

play07:43

rendering web UI like it was meant to be

play07:45

why are we sharing this ancient news

play07:46

after all a lot of web pages have been

play07:48

rendering on the client side for years

play07:50

well it turns out that JavaScript must

play07:51

be downloaded then run through a jit

play07:53

compiler even if you don't use it and

play07:55

then execute it and all of this must be

play07:57

done before any of the JavaScript can

play07:58

start rendering the UI yeah this is why

play08:00

server components are great anyways this

play08:02

introduces a lot of delay before users

play08:03

can see the UI especially on low-end

play08:06

devices I will say that this is not as

play08:07

big of a deal if there is one bundle

play08:10

doing it for your one web page but if

play08:11

you're doing this in like 15 places for

play08:13

all your UI yeah it starts to suck I

play08:16

would never have recommended using react

play08:17

for web for menus in the way that

play08:19

they're doing it here you turn back the

play08:21

time machine prior to the Web 2.0 era

play08:23

the way web content was rendered was by

play08:24

using HTML and CSS this is often

play08:26

referred to as serers side rendering as

play08:28

the client gets the content in a form

play08:30

that's ready to render modern browser

play08:32

engines are very fast at rendering this

play08:33

content so long as you don't let

play08:35

JavaScript get in the way that's a bit

play08:37

of a reach Fair points overall it's

play08:39

interesting how the tone of this is both

play08:41

like focused on people who aren't as

play08:43

into Dev but also the people who are

play08:44

really nerdy about it like us

play08:46

interesting I'm happy I'm here to add

play08:48

more Nuance based on the realization our

play08:49

questions became the following could we

play08:51

maintain the developer productivity that

play08:53

JavaScript Frameworks have given us

play08:54

while generating code that renders UI

play08:56

fast yes server components could the

play08:57

browser be its own best customer

play08:59

interesting and how fast could we make

play09:01

things if we removed that framework and

play09:03

built our UI just by using the web

play09:06

platform the answers to this question

play09:08

are yes yes and very fast introducing

play09:10

web UI 2.0 not to be confused with Web

play09:13

2.0 that they just referenced the result

play09:15

of this exercise is an edge internal

play09:17

project that we've called webui 2.0 in

play09:19

this project we built an entirely new

play09:21

markup first architecture that minimizes

play09:23

the size of our bundles of code and the

play09:25

amount of JavaScript code that runs

play09:27

during the initialization path of the UI

play09:29

this new internal UI architecture is

play09:30

more modular and we now rely on a

play09:32

repository of web components that are

play09:34

tuned for performance on Modern web

play09:36

engines we also came up with a set of

play09:38

web platform patterns that allow us to

play09:39

ship new browser features that stay

play09:41

within our markup first architecture and

play09:43

that use optimal web platform

play09:44

capabilities interesting pile of text

play09:47

saying that they're using HTML I have to

play09:48

dig on the fact that they're using a

play09:50

repository of web components because web

play09:52

components can't be serers side rendered

play09:54

the way that you serers side render a

play09:55

web component is you dump in the HTML

play09:58

that looks like the web component

play09:59

component you mount an invisible web

play10:00

component underneath and once that web

play10:02

component is done it deletes the

play10:04

existing HTML and replaces it with the

play10:06

web component instead that's not serers

play10:08

side rendering that's chaos so if their

play10:10

goal as they said before was to do

play10:11

serers side rendering so things can be

play10:13

faster and now they're using web

play10:14

components that is a contradiction to be

play10:17

very very clear browser Essentials is

play10:18

the first Edge feature that we converted

play10:20

to test the new architecture and to

play10:22

prove that the concept worked especially

play10:24

on all types of devices okay according

play10:26

to Neon you can now server side render

play10:28

web components sem me a link to prove it

play10:30

I'm curious but I I'm leaving that in

play10:31

the video the guy who made style X

play10:33

thinks I'm wrong and he's smarter than

play10:35

me so he's probably right we're in the

play10:36

process of upgrading components of the

play10:37

edge user interface to Web 2.0 sorry web

play10:40

UI 2.0 I'll make that mistake a bunch

play10:42

throughout and you can expect to see

play10:43

more features of the browser getting far

play10:45

more responsive over time oh good old

play10:47

declarative Shadow

play10:49

Dom more standards on top we hope that

play10:52

more websites start moving in this

play10:53

direction of markup first small bundles

play10:55

and less UI rendering JavaScript code

play10:57

over time we plan on making some of our

play10:59

package is open source so that all

play11:00

developers can benefit finally as we

play11:02

continue improving web UI 2.0 we're

play11:04

committed to finding opportunities to

play11:05

improve the web platform itself even

play11:07

more I hate this because this isn't

play11:11

about websites this is about a menu this

play11:13

is about a menu in Microsoft Edge I

play11:15

genuinely really dislike the reach

play11:17

they're doing here which is because they

play11:20

were using web Technologies in a way

play11:22

that they weren't built for at all the

play11:24

way they're built for is you load the

play11:26

one for your website and now it runs for

play11:28

your website what they were doing is

play11:30

that but for every piece of UI that had

play11:33

its own team at the company that's

play11:35

obviously not going to work great but

play11:37

the idea that running JavaScript code to

play11:38

generate parts of your UI is inherently

play11:41

worse and is something we should be

play11:43

moving away from is kind of weird to

play11:46

just plug in here at the end I would

play11:49

never have made that jump if they had

play11:51

just deleted this paragraph I actually

play11:53

would have liked this article a lot but

play11:55

the fact that they misused many HTML

play11:58

apps like like I'd make the argument

play12:00

that having 17 HTML pages that Define

play12:02

your applications UI is also kind of

play12:04

cringe and how you manage to make it

play12:06

faster with your custom framework around

play12:07

web components but the problem here is

play12:09

that you have a bunch of HTML pages that

play12:11

Define your UI and then react on top is

play12:13

probably not the best idea yeah you know

play12:15

what's really funny here though is if

play12:16

they had used react native to define the

play12:18

UI instead none of these problems would

play12:20

have happened in the first place because

play12:21

they would have been able to have one

play12:22

react native instance with one virtual

play12:24

machine running all of that code and we

play12:26

know this works because it works great

play12:27

on Xbox for all of Xbox's UI they have

play12:30

one engine of JavaScript running that

play12:33

controls all of that and it's so light

play12:35

that you can still load up a all of your

play12:37

Ram with your games code and then when

play12:39

you hit the home button it still

play12:40

responds immediately I wonder what

play12:42

Chrome uses Chrome uses C++ Chrome uses

play12:44

a shitload of C++ most things do and

play12:46

what's funny with chrome is you can

play12:48

still make Chrome crash in really dumb

play12:49

ways I would screen share it but I don't

play12:51

feel like dealing with Windows enough to

play12:52

do it I have a fun problem right now on

play12:54

Windows 11 where when I download

play12:56

multiple big files in Chrome it locks

play12:59

Chrome up it still downloads but if I

play13:01

even click to go to a different tab it

play13:03

will freeze for literally minutes just

play13:06

CU I'm downloading big files it doesn't

play13:08

matter what you write the UI code in at

play13:09

that point but I digress you can write

play13:11

slow code in anything but I agree here

play13:14

react is part of why it was slow but

play13:16

it's not because react is slow it's

play13:18

because 20 instances of react isn't fast

play13:21

if they had one instance of react that

play13:22

controlled all of those things awesome

play13:24

apparently in Firefox everything is HTML

play13:27

and CSS which also checks out but

play13:30

ideally the native code that determines

play13:32

what buttons are available what

play13:33

bookmarks you have access to all of

play13:35

those things those things being very

play13:37

accessible to the HTML code such that

play13:39

the html's updated based on those native

play13:41

conditions without needing JavaScript to

play13:43

do it that makes a lot of sense like if

play13:44

htmls how you're defining your menus

play13:46

JavaScript probably shouldn't be this

play13:48

does still kind of feel like a

play13:49

manufactured problem and the solution

play13:52

despite being good feels like it's

play13:53

reaching places that it shouldn't and

play13:55

again being this is the company that

play13:57

made react native for Windows and Mac

play13:58

it's kind of disappointing to see them

play13:59

on one side embracing how much better

play14:01

react specifically react native makes

play14:04

windows development while at the same

play14:06

time throwing random pot shots at it

play14:08

like they did here weird article good

play14:10

points overall I still have a lot of

play14:12

faith in Microsoft in the direction

play14:13

they're going with development but it

play14:14

doesn't matter what I think I don't know

play14:15

what you think how do you guys feel

play14:17

about this good bad ugly is Microsoft

play14:19

doing the right thing taking a war on

play14:21

react or do you prefer when Microsoft

play14:22

defends them let me know in the comments

play14:24

what you think and how much you hate vs

play14:25

code and until next time peace NS

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Microsoft EdgeUI PerformanceReact CodeWeb UI 2.0Developer FocusBrowser EnhancementUser ExperienceTech InnovationHTML RenderingJavaScript Efficiency