DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Data Engineering
  3. Databases
  4. [DZone Research] Backend Web Development: Node.js and Java

[DZone Research] Backend Web Development: Node.js and Java

In this article, we focus on the increasing popularity of Node.js as a backend development environment, and what Java devs do on the backend.

Jordan Baker user avatar by
Jordan Baker
·
Nov. 26, 18 · Analysis
Like (2)
Save
Tweet
Share
8.38K Views

Join the DZone community and get the full member experience.

Join For Free

This post is part of the Key Research Findings in the 2018 DZone Guide to Dynamic Web and Mobile Development. 

Introduction

For this year's DZone Guide to Databases, we surveyed software professionals from across the IT industry. We received 1,202 responses with a 64% completion rating. Based on these numbers, we calculated the margin of error at 3%. In this article, we discuss the continued growth of Node.js in the web developer community and the most popular backend langauge, Java.

The Rise of Node.js

90% of respondents reported using JavaScript on the client-side; as discussed in our last article, this is to be expected. Interestingly, 41% of respondents use JavaScript on the server-side, up from the 36% of respondents who targeted the server-side with their JavaScript in our 2017 DZone Guide to Web and Mobile Development. This high adoption rate of JavaScript on the backend correlates with the increase in the usage rates for the Node.js runtime. In this year’s survey, 42% of survey takers reported that their organization uses the Node.js ecosystem. This is up from 35% in 2017, nearly mirroring the growth rate of server-side JavaScript over the past year.

Of those respondents who work with the Node.js ecosystem, 54% do so on full-stack development projects and 40% on backend development projects. When we correlate our data on respondents who work in the Node.js ecosystem with our data on databases used for web applications, non-relational (or NoSQL) databases have higher rates of adoption among Node.js developers. For respondents whose organizations use Node.js, 56% use MongoDB. For those who report using the Java ecosystem, 43% use MongoDB; among Python ecosystem users, 49% use MongoDB; and with C# ecosystem adopters, 37% choose MongoDB as their database. This higher rate of adoption for MongoDB among Node developers versus those who work in other backend environments such as Java, Python, and C# could well be due to the asynchronicity of both technologies. Additionally, many developers use Mongoose, an open-source data schema solution, with MongoDB (source). Mongoose utilizes the JavaScript language, thus allowing Node.js developers to write their database logic in the same language as their application logic. For a more detailed discussion on databases, see the 2018 DZone Guide to Databsaes: Relational and Beyond.

Server-Side Operations

The backend of an application is a complicated place, full of API and database calls, logic, and more. When we asked how respondents typically divide their work between client and server, 76% told us the server-side exposes APIs, 70% have the server-side perform business logic, and 66% use the server-side to integrate systems such as databases, message queues, and EIS. Despite the growth of Node.js noted above, Java remains the dominant language for performing such operations on the backend. Thus, for the rest of this section, we’ll use the statistics gathered from respondents who use Java to build web applications as our means of comparative analysis.

Despite the popularity of MongoDB among Node.js developers noted above, web developers working in Java seem to prefer traditional SQL databases. Among those respondents who told us they build web apps with Java, 61% use MySQL databases, 46% use Oracle DB, 45% use MongoDB, and 43% use PostgreSQL. Comparing these numbers to the adoption rates of these databases among the general survey population, Oracle DB proved more popular among Java-based web developers. Among the general survey population, 58% use MySQL, 42% use MongoDB, 41% use PostreSQL, and 37% use Oracle DB for their database needs. One potential explanation for Oracle DB’s higher than average popularity among Java-based web developers is that both the Java language and Oracle DB are developed by the same organization and would thus be made to work well together.

When it comes to pushing data to the server, 67% of the general survey population use the WebSocket API, 34% use HTTP streaming, 25% use webhooks, another 25% use polling, and 19% reported using server-sent events. When we compare these numbers to our Java-based web developers, these percentages all dramatically fall. Among Java web developers, 37% use the WebSocket API, 19% use HTTP streaming, 14% use polling, 12% use webhooks, and 11% use server-sent events.

The adoption rate of the three most popular web servers among respondents (Apache Tomcat, Apache Web Server, and NGINX), also differed between the general survey population and Java web developers, though not as dramatically as in the case of the means of pushing data to the server. Among the general population, 62% reported using Apache Tomcat as their web server, 50% said they use the Apache Web Server, and 55% reported using NGINX. Among those respondents who use Java to build web apps, 75% use Apache Tomcat, 52% Apache Web Server, and 44% NGINX.

Node.js and Java in the Wider Developer Community

To conclude this article, let's quickly measure the validity of these findings by comparing them to data from the larger developer community. First, Node.js. In the 2018 Stack Overflow Community Survey report, Node.js ranked as the most popular frameowrk, chosen by 50% of Stack Overflow's audience. Additionally, the 2017 State of JavaScript report (2018 report has not yet been released), Node.js ranked as the most used backend framework among respondents (though this data could be skewed given the sites audience is largely JavaScript developers). 

To examine the larger Java community, let's turn to JetBrains's, 'The State of Developer Ecosystem Survey' from 2018. Much as in our findings, JetBrains reports Apache Tomcat as the most popular server to use with the Java language. 

Thus it seems the trends delineated in this article hold true among the wider developer community. 

This post is part of the Key Research Findings in the 2018 DZone Guide to Dynamic Web and Mobile Development. 

Node.js Java (programming language) Database Relational database DZone dev Apache Tomcat mobile app MongoDB

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Learning by Doing: An HTTP API With Rust
  • When Scrum Feels Like Dressing for Dinner
  • Apache Kafka vs. Memphis.dev
  • Pair Testing in Software Development

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: