A History Lesson
- Power search engine autocomplete
- Create the infinite scroll of your Facebook wall
- Offer real-time pagination
- Support for single-page web applications
- Implement real-time address verification
- Create in-browser chat windows
In addition, developers can create loading screens, real-time voting and rating, sorting, filtering, and form validation. Everyone wanted more dynamic, interactive web applications, and AJAX allowed developers to create them.
The rise of front-end frameworks involves a huge amount of logic migrating from the server to the end user’s browser, which many think of as the client side. If developers have one server, and 10,000 connected clients, any logic they give to the clients is distributed to all of their machines. This can give developers huge scalability gains. In addition, instead of making one server do 10,000 extra operations, developers instead make 10,000 connected clients do one extra operation.
Front-end frameworks like Angular and React take the concepts of AJAX and build larger toolkits around it. This approach makes building enterprise-level web applications with sprawling code bases easier. Instead of the server building complete HTML pages and sending them out, the server’s responsibilities are simplified dramatically because it only sends data. A framework like Angular can then grab that data and dynamically present it on the browser. By decoupling the server and the browser in this way, developers can use that same server to handle their mobile apps as well. Think about it like this: if the server only sends data, and not HTML, then the receiving client can be anything — a browser, an iOS device, even technologies like Amazon’s Alexa.