Comparison of NodeJS Development Frameworks

OData support
Supervisor:
Dr. Simon Balázs
Department of Control Engineering and Information Technology

This thesis presents the design and the development of a three-layered application in the Node.js runtime environment with the aim of comparing the capabilities and showing the differences between two commonly-used libraries the React and the Angular frameworks.

The comparison is done by designing and implementing a stock market simulation application with two clients using the respective framework and then analysing the provided features of both libraries. The key aspects of a framework are the company behind the development (due to maintenance and support), the provided features, the compatibility with other libraries and the learning curve of the developers.

As a first step the requirements of the desired application is defined, then a model is created by studying the processes of existing stock markets. In the created model the inevitable simplifications are made to make the simulation feasible and to enhance user experience. As a next step the design describes an application which satisfies the conditions defined in the requirements and explains the architecture of such an application. Based on the architectural design each layer of the architecture is planned.

Following the design, the application is implemented using only JavaScript-based technologies. A server side application is written in JavaScript where the simulation is done whilst storing all the data in a document database called MongoDB. During the implementation, the two clients are created and written thus exploring the frameworks. The React client is written in the latest version of JavaScript and as the documentation recommends the Angular client is implemented in TypeScript.

Finally, the thesis concludes that the React framework suffered a disadvantage from the start of the comparison as it is simply a UI component library while the Angular platform is a feature-rich framework. A clear winner is not drawn, merely the strengths and weaknesses are explained and two situations are given in which the design decision of choosing either framework is preferable.

Downloads

Please sign in to download the files of this thesis.