We'll enhance the functionality of our app by adding front-end JS back into our stack.
Bringing logic onto the browser means that we can build more interactive versions of our server-side apps. We can build UIs that are more "modern" and aren't just limited to the functionality provided to us by HTML elements. (Remember that the only actions the user can take to affect our app data is to make a browser request- one that must be created by some HTML element- a form or link tag).
Full-stack Application Architecture
Module 5 marks another historical point in the evolution of the layers of architecture we're building upon in our web applications.
In module 2-4 we built a modular server side application with a SQL database. This brings us up to the state of the art in web development circa 2002, when the majority of web application architecture still relied on creating HTML documents that were displayed in the browser. Some more dynamic content architectures were brewing in the form of Java Applets and (then Macromedia) Flash.
Gmail in 2004
The next generation of software and software companies relied on a new paradigm of web applications that were more dynamic and interactive than the last. In 2004 Google released what is considered the first widely-known, full-stack, dynamic, browser-side web application- Gmail. It was followed quickly a year later by Google Maps. What these applications have in common is a client-side architecture that displays and manipulates server-side data inside the browser using DOM manipulation. One of the key innovations is that in order for anything to be displayed, a new HTML page does not have to be rendered. Facebook, Twitter and other companies followed suit, redeploying their apps to use this new model of user interaction.
Full Stack, Web 2.5