Favorite Technologies
One of my favorite tech stacks is Node.js, npm, MongoDB, and Express. This stack is primarily used for web development and I found it relatively easy to understand compared to other technologies like Django or Microsofts .NET tech stack. When I first started to use this stack in the winter term of 2021.
Node.js
Node.js has an asynchronous event-driven JavaScript runtime that allows a web developer to create an application that is scalable and can handle connections that is scalable. Node.js uses an event loop instead of a library and so when Node.js enters the loop, Node.js will exit when all the callbacks have been performed.
npm
npm is a javascript package manager for Node.js. Packages can be installed using the terminal/shell and these packages are downloaded and used for your Node.js projects. The packages that are installed in your project have a version that can be specified, just in case you need to have a particular version to avoid “breaking” your projects due to the version.
MongoDB
MongoDB is a database that uses documents instead of tables to persist data in your project. Instead of storing data using rows and columns, the MongoDB database uses BSON which is a binary representation of your database’s data. The data is displayed in JSON format which is serialized and deserialized through the web applications source code.
Express
Express is an open-source web application framework that is used with Node.js. It is written in javascript and is used to build single or multiple-page web applications and APIs. Express can be used to build simple servers to complex MVC architectures for your application. Express is for faster server-side development, middleware (database access or security), page routing, templating (EJS, Handlebars, Pug, etc.), and debugging.
There are many other technologies that can be used with this stack. But, I’m still exploring what I can do with this current stack, and I’m working on adding React, Vue, and Angular to my web development repertoire.