- What do you like most about developing with Node.js?
- What are you using Node.js for?
- What difficulties do you face with your production environment?
- What's the hardest thing for you to get right with Node.js at the moment?
- What Node.js topics are criminally underexplained in your opinion?
- Where do you deploy your Node.js applications?
- Which front-end technology do you plan to use in 2018?
- Which kind of databases do you plan to use in 2018?
As a result, 539 devs who use Node in production shared their opinion. Here come the results of our mini-survey:
Fast development, great performance & the easiness of Node.js makes it a favorite.
According to our survey, Node.js is a great option for developers who like to get their apps into production as fast as possible. It's also loved because it's easy to learn and has an amazing ecosystem with ready-made modules we can use.
Why use Node.js?
To understand why developers love & use Node.js, let me just show you a sample of the responses we got:
Node.js is very performant while allowing me to be very productive.
Light weight development in the enterprise, plus the 400k npm packages.
Front-end, back-end, and tester have the same language to work with.
Same language on client and server; js is conducive to functional programming; Typescript plays well with node; non-blocking io.
Speed, familiarity, tooling. Lovely, like a breath of fresh air compared to php.
It's so easy to write the code in Node.js. You can actually read it like any human language.
Node.js is Used Mainly for Developing API's, Backends/Servers & WebApps.
When we asked developers about what they actually build with Node, the answers gave a pretty clear picture.
The answers we received were very diverse, although most of the respondents wrote that they develop REST API's or backend services with Node.js. Besides that, Webapps, Microservices & Websites were also mentioned a lot.
Other Node.js use cases, just to mention a few:
- Creating CLI and build tools,
- Writing mobile apps & backends for them,
- Building management systems,
- Scripting & Automation,
- Rendering React Apps,
- Internet of Things,
- Remote Systems Monitoring,
- Writing Middlewares,
- Creating Workers,
and so on..
Most Node.js Developers Face Performance & Security Problems in Production
We ask developers about their difficulties in a production environment. This time we offered them several categories, which they could pick from (multiple selections were allowed.)
It looks like that Performance Monitoring, Security, and Improving Performance are key issues for most of the respondents. Deployment, Scaling & Maintenance were often selected too. It looks like Downtimes & Networking are not that challenging.
The hardest thing to get right with Node.js are Asynchronous Programming & Security
We also asked the respondents of the survey to use their own words to describe what is the hardest thing to get right with Node.js at the moment?
The answers were pretty hard to synthesise into coherent subgroups, but I tried my best in categorizing them:
- Async problems include things like: Asynchronous Programming & Behaviour, Async/Await, Async Patterns, Async Hooks.
- Clean Coding mainly includes: Code Quality, Code Maintenance / Organization / Management
- Performance means performance monitoring and improving.
- Module related issues are usually like: finding the right modules, keeping dependencies up-to-date, package security & the lack of maintained packages that are not buggy.
- Testing includes unit testing & end-to-end testing.
- Monitoring problems include performance monitoring, tracing & logging.
- Structuring mainly contains answers for planning & structuring complex, scalable architectures.
- Processes include multithreading, parallel-processing, multiprocessing & handling child processes.
- Promises are often mentioned as promise patterns, promise driven development, proper use of promises.
- Dependency problems are mainly about upgrading them, reducing their numbers & managing them.
Although these answers are hard to categorize, I think they still provide useful insights into the problems & minds of Node.js developers.
Security is the most underexplained topic for Node.js Developers
This leads to our latest "freeform" questions - where we asked developers to point out the topics that are criminally underexplained.
I couldn't include more in the chart, but we also got answers about databases, microservices, logging, authentication, callbacks & maintenance.
AWS won the Node.js Market (too)
We also asked the respondents of the survey about where they deploy their services. The results were not surprising, the hegemony of AWS is clear:
React is the Leading Front-End Tech
It looks like that React leads the front-end framework war - when it comes to Node.js developers who need to pick one:
In case you'd like to learn more about it, read 8 Tips to Build Awesome React.js Apps in 2018, or check out our Modern Front-End with React Training. Of course Angular came up as the second choice - we got that covered as well.
MongoDB is the go-to DB choice of Node.js developers & ES Next is the most popular flavor
When it comes to databases, MongoDB is the favorite choice of Node developers, but it looks like that the second place is still undecided between Redis, PostgreSQL & MySQL.
That's all folks
I hope that you enjoyed the data presented above. Keep in mind that I'm not a well-trained statistician, and the results are not representative - but based on our experience of consulting & teaching Node, they seemed to be relevant & insightful.
In case you're interested in our previous posts about developer research, check out the following articles:
- This is what Node.js is used for in 2017 - Survey Results
- Survey: Node.js Developers Struggle with Debugging & Downtimes
- How Developers use Node.js - Survey Results 2016
If you liked the article, please share it - thanks!