So, hey everyone. I am Tathagath, and I'm a front-end engineering leader based out of India. And I've been scalable front-end teams and systems and have shipped them. Over the years, I've led UI engineering processes across products serving millions of users. So the focus has always been performance, architecture, and the best practices that let the teams move fast enough and without trading away the quality. And hence, the talk today is inspired from this. And it's called Scaling React, What Actually Matters? And probably, we'll spend the next 20-25 minutes to talk about something that I've watched based on a lot of engineering teams, time across a lot of teams. And it's almost like all the problems that you think React is creating, but it's not actually. It's wrong architecture calls and all those things. So, let's get started. And the topic is scaling React, What Actually Matters?
So, I will first broadly talk about the inspiration of this talk, right? What was the conversation that I had and that inspired me to spread this talk across? Let's start with a lot of you must have faced the problem of your app is slowing down. And you must have been a part of a boardroom where a meeting is concluded with a question like, Oh, should we migrate off the React and maybe try some other framework or library? Or maybe we should just rewrite the entire application in any trendy framework or maybe framework of the week and so on and so forth, right? A lot of you must have encountered this within a meeting. And yeah, me too. I mean, I also encountered the same thing. And what I've discovered is almost every single time it turned out that React is not the problem of the slowness of your application or React is not the bottleneck of your application. So, this talk is actually about breaking it down and why we keep blaming the wrong thing always. React being the wrong thing in this case, but in actuality it's not. So, React isn't slow, your architecture is.
And we'll briefly cover a bunch of problems that seems to be a React based problem, but it's not actually a React problem. It's a problem that your architecture core holds on. So, let's move on. Why this matters is, again, I kept on reiterating. So, I'll probably show you five things that looks like a React problem, but are not. And by the end, you'll probably have a checklist that you can run on your app on every Monday morning to check whether this checklist is fulfilled or not. Now, what do you see here is a performance pyramid. And when I say a performance pyramid, it's mostly everything your app comprises of, right? Before we get too technical, maybe, or get on the problems that we're going to talk about, let's build a mental model on the structure of the rest of the talk, right? So, whenever your apps, you know, feel slow, the problem lives somewhere on this pyramid that you're seeing on the screen. At the top, we have a network layer, what you fetch, when you fetch, and in what order you fetch, right? Then architecture, about how your state is organized, how do you manage your state, how your data flows, and then comes the rendering pyramid, right? Rending part of the pyramid, which mostly is taken care of by the React itself. But we will talk about it as well. And then at the bottom, you could see hoops and other micro optimization, right? And here's the uncomfortable truth. Like, most of the blogs out there, most of the tweets out there, most of the React performance content lives at the bottom of this pyramid.
Comments