- tl;dr
- Top tags in the Node.js domain
- Growth trends of the key Javascript domains
- Growth segments of the Javascript ecosystem
- Wrap-up
tl;dr
In this article we take Stackoverflow data dumps and analyze vital aspects of the Node.js ecosystem and identify action points that you can address right now.
Let me summarize the key trends you find in the article in case you don’t have the time to read the whole thing.
- General Javascript trends play a key role in the use of Node.js. New additions like Ecmascript-6 and Promises, JWT and the rise of Typescript greatly influence how Node.js is used in projects.
- Server side is the main area of use, with Express as the main tool, Node.js is widely used to build and run web servers and APIs. Frameworks like Express and Sails, or popular full stack solutions like the MEAN stack further strengthen Node’s positions in the back-end.
- The server side use case introduces MongoDB and Mongoose as key tools. MySQL also made it to the top 10 tags used with Node.js
- Nojde.js is used with a wide variety of cloud platforms on the server side.
- Angular and React are the hottest overall Javascript topics these days, they are often used together with Node.js, too.
I’ve put the summary of the action points from the article right here.
Industry trends where you should be active right now.
- Use Angular or React to create fresh user experiences and applications for desktop and mobile.
- Use Express with Node.
- Connect your Node applications to MySQL and MongoDB.
- Use Socket.io for real-time bidirectional communication.
Capabilities you should be actively developing.
- Move your focus to your Cloud and DevOps strategy. Add Google Cloud, Firebase, AWS and Azure to your options.
- Experiment with AWS lambda.
- If you have not yet included Docker into your workflow, it’s time to make the move.
- Build APIs with Loobpack.
- Use sequelize.js for your SQL data needs.
- Add Ecmascript 6 to your development standards.
- See how you can use Electron to build cross-platform desktop applications.
Domains you should consider for future skill building.
- Try Discord and discord.js.
- Need help with UI testing and test automation? Puppeteer might just be right.
- Consider Axios for your Node.js requests. (Axios is my go-to solution in Node and React projects, they have 58k stars on GitHub right now.)
- Run a pilot with Google’s Cloud Platform.
- Try the Microsoft bot framework for your enterprise chat bots.
- Check out Firebase.
- Definitely add JWT to your security stack.
- Check out GraphQL for API data.
- See if you can utilize pm2 in production operations.
- Need a solution to manage file uploads? Try Multer.
New tech to explore.
- Get started with Angular 7 and Angular 8.
- Building an enterprise grade app? Consider Next.js and Gatsby with React or Nuxt.js with Vue.
- Experiment with Apollo and GraphQL.
- Start a Dialogflow pilot.
- Check if TypeORM is the ORM you’ve been looking for.
- Try nodejs-stream for streaming data.
- No preferred Node.js testing framework yet? Try Jest!
Top tags in the Node.js domain
Let’s continue our Javascript trends analysis with trending Node.js tech based on Stackoverflow data dumps!
This article is an extension to my previous article about Javascript trends; this time we take a closer look at what’s hot in the Node.js ecosystem and what concrete actions you can take today to keep up with the trend.
You can find a pretty neat overview of Javascript trends with figures in the previous article, so I’d suggest to check it out before moving on right now, because in this article, we just jump right into Node.js without discussing the broader domain of Javascript. You can find that article here https://takacsmark.com/25-top-javascript-trends-actions-2019-stackoverflow-data/.
I published that article almost two months ago. I know, it’s been a while, please forgive my little delay, I was busy with some data crunching related client work.
We learned in the Javascript article that Javascript is the main tool to build any and everything front-end related including web and mobile applications and desktop apps.
We found that Angular, React and Vue are the top growth segments of Javascript. Node.js came out as a top use-case, too.
The table below shows the top Stackoverflow tags used next to Node.js on Stackoverflow questions.
# | Tag name | Questions |
---|---|---|
1 | node.js | 251743 |
2 | javascript | 92526 |
3 | express | 40473 |
4 | mongodb | 27502 |
5 | mongoose | 17058 |
6 | npm | 13583 |
7 | socket.io | 9741 |
8 | angularjs | 8913 |
9 | json | 7058 |
10 | mysql | 5902 |
11 | reactjs | 5761 |
12 | asynchronous | 4783 |
13 | angular | 4390 |
14 | promise | 4060 |
15 | jquery | 4045 |
16 | html | 3932 |
17 | heroku | 3837 |
18 | amazon-web-services | 3682 |
19 | passport.js | 3681 |
20 | sockets | 3661 |
21 | typescript | 3581 |
22 | sequelize.js | 3527 |
23 | sails.js | 3348 |
24 | websocket | 3071 |
25 | webpack | 3047 |
Based the table and the more detailed data that I share with you later in the article, we can identify the following key patterns of Node.js use-cases.
- General Javascript trends play a key role in the use of Node.js. New additions like Ecmascript-6 and Promises, JWT and the rise of Typescript greatly influence how Node.js is used in projects.
- Server side is the main area of use, with Express in the 3rd place, Node.js is widely used to build and run web servers and APIs. Frameworks like Express and Sails, or popular full stack solutions like the MEAN stack further strengthen Node’s positions in the back-end.
- The server side use case brings MongoDB and Mongoose to place #4 and #5. We look at database connection trends in the next chapter. Note that MySQL also made it to the top 10 tags used with Node.js
- Server side would not be complete without cloud platforms. We see a few cloud solutions in the table above and as you see in the next figures several cloud solutions are growing rapidly in the Node.js arena.
- Angular and React are the hottest overall Javascript topics these days, they are often used together with Node.js, too.
Growth trends of the key Javascript domains
Let’s look at the trends in all of the above domains.
Node.js in general
General Javascript trends based on the number of questions created per month as the percentage of all Javascript questions.
As you can see in the picture, the number of Node.js questions is constantly growing, Typescript is growing at the same rate from the base Javascript toolkit.
Server side frameworks, APIs and communications libraries
Picking the right tool for the job on the server side always requires great research (at least this is my experience :).
If you have your preferred technologies, you’d better review your preferences regularly to keep up with the trends.
Let’s see some of the key server side components right here.
Express is the clear winner on the server side. Sails made it to the top 25 tags list above, but its usage shows decline.
GraphQL and Axios also demonstrate high growth, and more and more communications and chat solutions appear on the growth charts, like Discord or Microsoft’s bot framework.
Database technologies
The figure shows the number of new monthly questions as a percentage of total questions on Stackoverflow. MySQL is still strong, MongoDB is constantly growing with Mongoose being the preferred way to connect.
The Firebase real-time database and Google Cloud Firestore are the other winners of the recent years.
Cloud services
The next figure shows new monthly questions created for popular cloud solutions as the percentage of total monthly questions on Stackoverflow.
For now, let’s note how Firebase is outperforming other players, and also note that the entire cloud ecosystem is in a stable growth phase.
Web frameworks
I have already mentioned how Angular and React dominate the Javascript trends today. Let’s see their growth numbers compared to the number of new Node.js questions a month.
I also added a separate figure for less prominent frameworks; namely Nest, Next and Nuxt.
Growth segments of the Javascript ecosystem
We have come to the sweet-spot of our article. It’s time we look at the growth segments of the Node.js domain and set up your action plan based on our data driven findings.
Let’s identify the high-growth domains of Node.js by looking at the growth in question views in the 6 month period between June 2018 and December 2018. Note that this time we are looking at the number of question views, which I believe is the best measure of real-life usage.
We look at the details of the following segments:
- Established technologies - tags with over 4k Node.js related questions
- Emerging technologies - tags with 1k to 4k questions
- Trending technologies - tags with 500 to 1000 questions
- Top newcomers - tags with 50 to 500 questions
Growth of established technologies
These are the heavy tags that have been around for long enough to have a stable user base and mature solutions. Users look at both old and new questions to find out how to solve daily challenges.
# | Tag name | Views Growth % |
---|---|---|
1 | angular | 43.74 |
2 | reactjs | 41.67 |
3 | promise | 23.51 |
4 | mysql | 21.47 |
5 | npm | 20.63 |
6 | javascript | 16.88 |
7 | node.js | 16.78 |
8 | mongoose | 16.01 |
9 | json | 15.80 |
10 | mongodb | 15.76 |
11 | asynchronous | 15.45 |
12 | express | 15.33 |
13 | jquery | 12.65 |
14 | angularjs | 10.70 |
15 | socket.io | 9.34 |
These are industry trends you should be active in right now.
- Angular’s and React’s 40+% growth in question views shows that the use of these technologies in real projects is growing continuously.
- Besides Angular and React Express, MySQL and Mongo are the technologies you should be working with.
- In the Node.js communications arena socket.io is the leading product.
Actions you may take:
- Use Angular or React to create fresh user experiences and applications for desktop and mobile.
- Use Express with Node.
- Connect your Node applications to MySQL and MongoDB.
- Use Socket.io for real-time bidirectional communication.
Growth of emerging technologies
These tags are also established with a strong base, although somewhat smaller than the ones in the previous chapter.
# | Tag name | Views Growth % |
---|---|---|
1 | google-cloud-functions | 92.01 |
2 | firebase | 50.46 |
3 | npm-install | 41.72 |
4 | electron | 40.13 |
5 | typescript | 37.06 |
6 | aws-lambda | 36.18 |
7 | docker | 35.62 |
8 | sequelize.js | 32.03 |
9 | webpack | 30.76 |
10 | amazon-web-services | 26.10 |
11 | ecmascript-6 | 25.38 |
12 | amazon-s3 | 25.28 |
13 | mongodb-query | 23.53 |
14 | loopbackjs | 23.50 |
15 | azure | 22.56 |
These are the capabilities you should be actively developing.
- Several Cloud components appear on this high growth list from Google, Firebase, AWS and Azure.
- Webpack is the most sought for bundler solution out there.
- The high use of the Loobpack API Framework is a sign that Node is widely used as an API platform.
Actions you may take:
- Move your focus to your Cloud and DevOps strategy. Add Google Cloud, Firebase, AWS and Azure to your options.
- Experiment with AWS lambda.
- If you have not yet included Docker into your workflow, it’s time to make the move.
- Build APIs with Loobpack.
- Use sequelize.js for your SQL data needs.
- Add Ecmascript 6 to your development standards.
- See how you can use Electron to build cross-platform desktop applications.
Growth of trending technologies
These tags are from smaller niche segments.
# | Tag name | Views Growth % |
---|---|---|
1 | discord.js | 191.21 |
2 | puppeteer | 190.04 |
3 | axios | 87.58 |
4 | vue.js | 81.43 |
5 | google-cloud-platform | 72.67 |
6 | async-await | 72.26 |
7 | graphql | 68.04 |
8 | botframework | 56.51 |
9 | mongoose-schema | 54.81 |
10 | firebase-realtime-database | 47.29 |
11 | react-native | 43.25 |
12 | es6-promise | 42.03 |
13 | visual-studio-code | 41.74 |
14 | pm2 | 41.02 |
15 | amazon-dynamodb | 36.03 |
16 | package.json | 31.96 |
17 | jwt | 30.17 |
18 | google-app-engine | 30.12 |
19 | multer | 29.13 |
20 | sql-server | 29.09 |
These are the technologies to watch, and these are the domains you should consider for future skill building.
- Discord.js, the Discord Node.js connector, is leading the pack. The chat/video chat/communications and gaming pattern comes back over and over again with high growth numbers.
- Puppeteer, the headless browser solution for testing and static content generation is also used by many teams out there.
- Axios is the go-to solution of many projects when it comes to requests to other components.
- Google Cloud Platform’s view growth outperforms that of AWS and Azure, although the latter have more questions on Stackoverflow.
- Microsoft’s bot framework is here to build enterprise grade chat bots.
- Firebase real-time database comes in to support mobile app development.
- JWT authentication has gained immense popularity lately.
- GraphQL is used by more and more projects to query API data.
- React-native is becoming the preferred way to deploy mobile applications in React projects.
- Pm2, a production process manager for Node.js is a great tool to monitor your applications and manage Node.js microservices.
- Multer handles multi-part form data, mainly file uploads.
Actions you may take:
- Try Discord and discord.js.
- Need help with UI testing and test automation? Puppeteer might just be right.
- Consider Axios for your Node.js requests. (Axios is my go-to solution in Node and React projects, they have 58k stars on GitHub right now.)
- Run a pilot with Google’s Cloud Platform.
- Try the Microsoft bot framework for your enterprise chat bots.
- Check out Firebase.
- Definitely add JWT to your security pack.
- Check out GraphQL for API data.
- See if you can utilize pm2 in production operations.
- Need a solution to manage file uploads? Try Multer.
Top newcomers
These tags appeared recently and may or may not become a rising star of the next period.
# | Tag name | Views Growth % |
---|---|---|
1 | angular6 | 4089.60 |
2 | nestjs | 528.61 |
3 | dialogflow | 311.61 |
4 | bootstrap-4 | 204.05 |
5 | google-cloud-firestore | 183.99 |
6 | apollo-server | 176.14 |
7 | serverless | 172.07 |
8 | actions-on-google | 163.95 |
9 | typeorm | 161.26 |
10 | mern | 161.04 |
11 | nodejs-stream | 158.90 |
12 | next.js | 155.93 |
13 | request-promise | 154.01 |
14 | aggregate | 151.82 |
15 | nuxt.js | 151.00 |
16 | electron-packager | 143.34 |
17 | hyperledger-fabric | 137.94 |
18 | jest | 130.51 |
19 | aws-sdk-nodejs | 122.72 |
20 | hyperledger-composer | 115.03 |
21 | sequelize-cli | 112.89 |
22 | web3 | 108.56 |
23 | electron-builder | 106.07 |
24 | google-chrome-headless | 103.29 |
25 | create-react-app | 102.55 |
Let’s highlight a few special points.
- Dialogflow incorporates Google’s machine learning expertise and products to give you ways to build intelligent voice and text based conversational interfaces.
- Apollo server lets you build APIs for GraphQL clients.
- Typeorm is a ORM to be used with both Typescript and Javascript.
- The MERN stack appears on the list, but it has been recently deprecated, use Next.js instead in your React projects.
- Nodejs-stream is an abstract interface to work with streaming data in Node.js.
- Jest is a fantastic Javascript testing framework that I used on both Node.js and React projects.
Actions you may take:
- Get started with Angular 7 and Angular 8.
- Building an enterprise grade app? Consider Next.js and Gatsby with React or Nuxt.js with Vue.
- Experiment with Apollo and GraphQL.
- Start a Dialogflow pilot.
- Check if TypeORM is the ORM you’ve been looking for.
- Try nodejs-stream for streaming data.
- No preferred Node.js testing framework yet? Try Jest!
Wrap-up
Let’s summarize the key trends we found in the article.
- General Javascript trends play a key role in the use of Node.js. New additions like Ecmascript-6 and Promises, JWT and the rise of Typescript greatly influence how Node.js is used in projects.
- Server side is the main area of use, with Express as the main tool, Node.js is widely used to build and run web servers and APIs. Frameworks like Express and Sails, or popular full stack solutions like the MEAN stack further strengthen Node’s positions in the back-end.
- The server side use case introduces MongoDB and Mongoose as key tools. MySQL also made it to the top 10 tags used with Node.js
- Nojde.js is used with a wide variety of cloud platforms on the server side.
- Angular and React are the hottest overall Javascript topics these days, they are often used together with Node.js, too.
Let’s list the actions you may take again, so that you have them all in one place.
Industry trends where you should be active right now.
- Use Angular or React to create fresh user experiences and applications for desktop and mobile.
- Use Express with Node.
- Connect your Node applications to MySQL and MongoDB.
- Use Socket.io for real-time bidirectional communication.
Capabilities you should be actively developing.
- Move your focus to your Cloud and DevOps strategy. Add Google Cloud, Firebase, AWS and Azure to your options.
- Experiment with AWS lambda.
- If you have not yet included Docker into your workflow, it’s time to make the move.
- Build APIs with Loobpack.
- Use sequelize.js for your SQL data needs.
- Add Ecmascript 6 to your development standards.
- See how you can use Electron to build cross-platform desktop applications.
Domains you should consider for future skill building.
- Try Discord and discord.js.
- Need help with UI testing and test automation? Puppeteer might just be right.
- Consider Axios for your Node.js requests. (Axios is my go-to solution in Node and React projects, they have 58k stars on GitHub right now.)
- Run a pilot with Google’s Cloud Platform.
- Try the [[https://dev.botframework.com/]Microsoft bot framework for your enterprise chat bots.
- Check out Firebase.
- Definitely add JWT to your security pack.
- Check out GraphQL for API data.
- See if you can utilize pm2 in production operations.
- Need a solution to manage file uploads? Try Multer.
New tech to explore.
- Get started with Angular 7 and Angular 8.
- Building an enterprise grade app? Consider Next.js and Gatsby with React or Nuxt.js with Vue.
- Experiment with Apollo and GraphQL.
- Start a Dialogflow pilot.
- Check if TypeORM is the ORM you’ve been looking for.
- Try nodejs-stream for streaming data.
- No preferred Node.js testing framework yet? Try Jest!