Let us begin by clarifying for our blog readers what Node.js is and what its main features are.
Node.js uses a non-blocking event-based model, which makes it lightweight and efficient, perfect for real-time, data-intensive applications running on distributed devices.
What are the differences between Node.js and the other languages and frameworks we use, such as Ruby on Rails and Python Django?
Countless web frameworks have been created on the basis of Node.js, most of them taking their cue from Ruby on Rails. The most famous and minimalist is certainly Express.js.
Its versatility and power allow us to easily access different databases (MongoDB, PostgreSQL) and innovative client-side presentation technologies (Vue.js, React.js).
What type of product do we use Node.js for and why?
We are currently using Node/Express.js for the realisation of high-access APIs, which must provide very fast response times. For example, APIs for mobile applications.
We also use Node.js for the realisation of microservices components or for realtime applications (chat and chatbots for example).
Finally, we also alternate the use of Express.js with Ruby On Rails for the creation of classic web applications. Just for a bit of variety. :-)
Do you think that Node.js will be used more and more in the future to create websites and web applications?
Can you tell us the most popular apps implemented in Node.js?
Paypal, LinkedIn, Netflix and Uber are just a few examples of the countless apps that are based on Node.js.
One last, more technical and personal question: tell me one thing you particularly enjoy doing when developing in Node.js and one thing you really can't stand?
As written above, the advent of ES6 and async/await have led to a revival of the language, which has deserved to become the protagonist for the future of our company.
We've come to the end of this interesting interview. If you're also interested in the other programming languages we use in our software house, read our in-depth articles on Python and Ruby on Rails!
If you wanna know how we realize our client's projects take a look at our development process.