How JavaScript ecosystem and open-source tooling enable a modern era of Single-Page Applications
Nguyen, Duy Phuoc (2021)
Nguyen, Duy Phuoc
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202104276033
https://urn.fi/URN:NBN:fi:amk-202104276033
Tiivistelmä
Over the years, the term "single-page application" has meant both a specific type of website and a development model for web programming. A website could be regarded as a single-page application when it is designed to replicate the behaviors of a desktop application more than acting as a traditional static web document. It achieved the additional smoothness and dynamicity to your average web experience by taking advantage of structured JavaScript to interact with server-side services and modifies the view as needed. Regarding JavaScript, it has recently become extremely popular and powerful; it can be used to build web applications, servers, mobile applications, games and IoT devices. Huge adoption leads to a broad ecosystem, the community has been building plenty of tools to ease the developer experience.
The purpose of this thesis is to study the origins of Single-Page Applications and follow along the evolution of JavaScript and its ecosystem on how they redefine the norms of building modern web applications. To demonstrate the functionalities of the mentioned JavaScript tooling, the thesis will include examples of SPAs as subjects of research, and explore how they are being orchestrated in harmony under the hood by tools and libraries such as React.js, Next.js, Webpack.js, TypeScript. In addition, different types of SPA will be taken into account, for example server-side rendering, client-side rendering and static site generation, to measure impact of JavaScript toolkit on the process of creating those applications.
In conclusion, when a web application is being developed as a SPA, it can isolate communicating with the server and updating its views into two separate concerns, thus accomplishing huge gains in user experience and preserving bandwidth. However, in order to reach such achievement, modern JavaScript engineering tools remain essential factors in paving the path to build a user-friendly, performant and scalable application.
The purpose of this thesis is to study the origins of Single-Page Applications and follow along the evolution of JavaScript and its ecosystem on how they redefine the norms of building modern web applications. To demonstrate the functionalities of the mentioned JavaScript tooling, the thesis will include examples of SPAs as subjects of research, and explore how they are being orchestrated in harmony under the hood by tools and libraries such as React.js, Next.js, Webpack.js, TypeScript. In addition, different types of SPA will be taken into account, for example server-side rendering, client-side rendering and static site generation, to measure impact of JavaScript toolkit on the process of creating those applications.
In conclusion, when a web application is being developed as a SPA, it can isolate communicating with the server and updating its views into two separate concerns, thus accomplishing huge gains in user experience and preserving bandwidth. However, in order to reach such achievement, modern JavaScript engineering tools remain essential factors in paving the path to build a user-friendly, performant and scalable application.