Top Node.js Development Pain Point? Debugging
"The biggest hurdle that developers who use Node.js face is debugging their applications (18 percent of all respondents)," the company said in a recent blog post. "According to the data, nothing comes close to the seriousness of debugging microservices and bugs in production."
Furthermore, the survey indicated, 43 percent of responding Node.js devs said they spend more than two hours per week debugging their apps, while 17 percent said they spend more than five hours per week fixing production system errors. However, 31 percent said they spend one to two hours per week debugging Node.js apps.
"The second tier of errors contains categories like memory issues (mainly memory leaks), difficulties of scaling and monitoring Node.js apps and getting deployments right (especially in high-scale production systems)," RisingStack said. "There are also problems with Async programming, error handling, and managing dependencies. Each of these problems were pinpointed as the most severe by 6-8 percent of developers."
RisingStack, which said it often advises clients to use microservices for large, complicated projects, also investigated the effect of using that approach in Node.js projects.
It found projects that incorporate microservices have slightly less downtime, but also result in slightly more time spent in debugging due to the extra complexity involved.
"We recommend breaking down monolithic applications intro microservices in a lot of cases, but it's undeniable that finding and fixing bugs in a distributed system is much harder thanks to the myriad of services throwing errors all the time," RisingStack said.
"Experiencing fewer downtimes with microservices is one of the main benefits of the technology since the parts of an app can fail individually (and often unnoticed), keeping larger systems intact."
Other highlights of the survey include:
- 29 percent of Node.js developers experience downtimes in production systems at least once a week, 54 percent at least once a month.
- 28 percent of Node developers responding to the survey never experience downtimes.
RisingStack also devoted much of its post to provide resources for developers to deal with the major pain points, including resources for debugging, dealing with memory leaks and other issues, scaling applications, monitoring apps, coding asynchronously, and handling errors.
To gather data on challenges facing Node.js developers, RisingStack polled subscribers of the company's blog in April and garnered responses from 746 developers, 509 of which claimed to have Node.js applications in production systems.
David Ramel is the editor of Visual Studio Magazine.