Angular vs NodeJS

Javascript has been around for awhile and it is a simple yet powerful client-side language and now with the help of frameworks and platforms, it can also be used as a server-side language. Nowadays, more and more frameworks and platforms are released and that leaves us a tough decision to choose. Today, I would take Angular framework and NodeJS platform in consideration, since they are both powerful for front-end and back-end development. They feature rich cross-platform web app and enable developers to make a Single Page Application easier while maintaining Javascript as the main language, instead of AJAX, which is a whole new set of syntax to learn. Let's dive into it.

Angular in general is an open source web application framework that is maintained by Google. It comes with two forms (or versions) which is Angular 1.X, which is usually referred as AngularJS, and the rewritten version of itself Angular 2+, which used mostly Typescript. With AngularJS, it can be added to a HTML page with the <script> tag and its general purpose is to help user in adding the dynamic views in the web application and integrate with Model - View - Controller structure, providing the flexibility to the framework. The application is usually built up form combining different modules together and more often, these modules have different logic and different purposes as the main module connect them by a general logic. The more you think about it, the more you will see how helpful this is. It speeds up the development process a lot since the application can be cut into pieces that does not have anything to do with each other for teams and then simply combines all of them by just some line of codes. Without it, imagine every time you write your component on others' file and push it to git, you have to manually merge it without losing the functionality of other components. Not to mention it is so easy to use as it offers many features like directives, filters and automatic data bindings, which support us with optimizing our code.

NodeJS is an open source, cross-platform runtime environment for developing server-side and networking applications. While Angular are available in both Typescript and Javascript, Node can only deal Javascript. However, that does not make Node worse or better. According to Google Trends, after 2017, less and less people are interested in Angular while Node stays the same. NodeJS provides a rich library of various Javascript modules, simplifying the development process of the web applications to a great extent. NodeJS is highly scalable. By using one of two ways - Horizontal Scaling and Vertical Scaling (you can read more about it here), this helps improving your application performance a lot. Moreover, Node also offers Unit testing with any Javascript testing frameworks like Jasmin, server development with different types like HTTP server, DNS server, TCP server, etc. and better performance, since it uses V8 Javascript engine.

In conclusion, Angular and Node are both useful open source tools to build web app, while Node are more server-sided. This blog is based on this article.


Popular posts from this blog

Software Quality Assurance Introduction

Reflect as you work

Static testing and Dynamic testing