Our applications are constrained by the environments in which they run. This means the hardware on which the client is running, and the browser itself. What's interesting about web applications is that there's also the transmission of the code itself to consider. For example, if we're writing backend code, we can throw more code at any problem we face, and that's not a problem because that code doesn't move around—it runs in one place.
In this section, we'll address the hard scaling constraints imposed on us in the browser computing environment. As our application grows, we feel the pressure of these constraints more and more. Each of these needs to be considered when planning new features for our application.