Node.js development has become quite a buzzword on the software development market. No wonder, it’s actually a great solution for many projects. That’s why we decided to interview our Node.js developer here at BoostHigh – Radek Krajewski. He told us about his experience with it and who would he recommend it to. Enjoy!
What is Node.js?
Radek: To understand what Node.js is it’s important to understand what JavaScript is. JavaScript is a programming language that operates on clients browser. Up until recently JS was only able to be used for web applications. It meant that for other projects development teams had to choose different technologies even though JavaScript was the most popular and liked language.
In other development environments both front-end and back-end of the applications are connected. When developing an app there was usually a presentation layer as well as back-end, server side. However, JavaScript was only managing the parts available via browser without access to files, database etc. That’s why it was necessary to mix technologies.
A few years ago Ryan Dahl thought about creating a developing environment that allows to use JavaScript syntax to create back-end of the app. He called it Node.js and since then we can develop server-side modules using the most popular programming language used.
So Node.js is a development environment using JavaScript.
So tell me why did you decide to learn Node.js development?
Radek: As a front-end developer you need tools to optimize your work. For example, you need to edit 1000 pictures for a website where each picture needs to be a certain size, have a watermark etc. Something like that would take you a long time. Using Node.js you can easily optimize this whole process, write a quick app and do it automatically.
Those were my first steps. I started using Node.js for small tasks to optimize my work.
For example, I created an email footer generator, favicon generator and I used Node.js for it because it was fast and easy.
Over time as I got to know Node.js a little bit better and saw what people could do with it I started to work on bigger projects.
What projects did you develop in Node.js?
Radek: I developed a web crawler for collecting data from the browser. It surfaces the web and looks for inactive domains. It saves them and the person that has them can buy them, resell them and if they have a SEO value create a backup.
I also developed e-ink service where you can request time schedule for public transport in a form of JSON and the app generates a time table graphic to display it on the monitor.
Another project was a service that was responsible for automating website building processes. Blog posts were published directly from .doc files. The user could choose colors that were automatically saved as style sheets. Moreover, the graphics were automatically converted into supported by the website format.
What are the biggest pros of Node.js?
Radek: One of the biggest pros of Node.js development is the speed of code writing and the number of available frameworks and libraries. So if you want to do something quickly and relatively cheap – Node.js is a good choice. You can implement a lot of already available modules in the project.
If you’re a front-end developer it’s very easy to learn back-end programming with Node.js because you already know programming language. All you have to do is get used to the environment that has a few differences comparing to front-end programming.
What about the performance?
Radek: If we want to measure the performance based on the number of request to the server then Node.js is very efficient and fast. Its biggest disadvantage is the fact that it is relatively heavy in memory usage. All of these available libraries are usually pretty heavy and when the app is a mix of different modules it usually ends up being relatively heavy.
So does it mean it’s better for smaller projects?
Radek: Yes, it’s perfect for smaller projects.
What about bigger projects?
Radek: When it comes to very big projects like enterprise level, they usually develop MVP in Node.js and as the project progresses and the number of users becomes too much for the app to handle, they rewrite it in a different technology.
On the other side, Node.js is an environment that big companies should consider when developing their programming ecosystem. It fits perfectly in microservices architecture where you can scale up the system without big budget spendings and within fast period of time.
Who would you recommend Node.js development?
Radek: Node.js will easily satisfy SME level companies that don’t need an extremely complex application but rather look for a reasonable solution within their budget.
Basically Node.js development is a lot faster thanks to the Node Package Manager (npm). It gives us access to many pre-made components that we can use during development process instead of writing everything from scratch.
We also recommend:
- C++ vs. Python – Which One To Choose For Your Next Project?
- Monolithic vs. Microservices Architecture – Which One To Choose For Your Next Project?
- The Coolest Angular Apps You Didn’t Know Were Written In Angular
- Angular vs. Vue.js – and which one to choose in 2019?
- JavaScript Development – Why Choose JavaScript Over Other Languages?