What is the impact of modern web development on developers?
This topic is important for architects because… architects need a deep understanding of web technology.
We used to debug on the web server. Until recently, web development really just rendered HTML that has been prepared on the web server. Since the web server was essentially just a standard computer program that knew how to respond to web page requests, debugging the web pages was a logical extension of traditional programming techniques. Since the pages were being assembled on the web server, the debugging could mainly be done on the web server as well.
The “Round Trip” problem. The problem with traditional “server-based” web development was that every time you wanted to change the HTML, you had to make a trip over the Internet to get the new HTML and change the page. These “round trips” were very time-consuming. Perhaps it only took a second for the refresh, but that is quite noticeable by the user – that is especially true when you have to refresh the page quite often.
“The Best of Both Worlds”. This one assumption – making up the HTML in the browser – provides other advantages besides speed that allow us to produce much better web applications that we had before.
- More Dedicated Processing Means More Cool Things. Consider that a single server may be handling hundreds or thousands of client sessions at the same time. This implies that the server – even a very powerful one – has to be very selective about how much processing is done for each client interaction. Consider that when we run the application in the browser, the user’s computer is being used only for that user and the user does not mind if we use the full power of that computer to perform their task. This means that perhaps we could use only 0.1% of the server computer’s power for a new client request, but we could use 100% of the client computer’s power for the same request. In turn, this means that we can do some very fancy things very quickly that we would not reasonably consider doing on the server – simply because we have more computer power at our disposal.
- More Scalability Means More Cool Things. Because the browser is handling much of the computation and the server is only handling the absolutely necessary computation, the server can handle more browser clients at the same time – that is the quality we call “scalability”. While this advantage is less important than the previous one, it does mean that the server can do more and better things faster as well simply because it is no longer overburdened with things that the browser can handle.