Transcript for:
The State of JavaScript 2023 Survey Overview

The State of JavaScript 2023 survey results are here and in this video I want to walk through these results together with you and share my perspective on some of the most interesting parts of that survey or at least the parts that are most interesting to me. Though I will say it's a huge survey with many data points so definitely also go through it on your own. You'll find a link to it below the video. But here I'll just share my perspective on it and you can buy the t-shirt to support them but I'll start with the demographics. And one thing I have to say here is that to my knowledge this survey also works such that it does rely on people of course sharing it whenever they start gathering data every year. So whenever they send out that survey every year they the people who run this survey also rely on people sharing it so that more people participate which I guess makes sense. Now therefore one thing that tends to happen you could say is of course that certain communities are represented stronger in that survey than others. For example if some react influencers share this survey it's of course likely that react will perform better than other libraries. Now it's not that I would have noticed anything strange about the survey results and it's maybe also not that strong of an effect as it maybe was in past years but it is something to keep in mind that the the overall group of people who participated in this survey is not necessarily a group that perfectly represents the entire world of JavaScript developers. That's just something to keep in mind. So as we can see over 23 000 respondents took part in that survey which is great and if you go through these demographics which I won't do in detail I don't want to bore you we can of course see that most of them are from the USA which is no surprise I guess. We can also see that India is actually at a relatively low position here in that chart so not too many people from India took part which I guess is already one thing I meant it's not necessarily a perfect representation of the overall world of JavaScript developers but yeah I already mentioned this. Of course the primary language or the language people speak who participated in this survey is mostly English and then thankfully most people who participated also answered all the questions. We have an interesting age distribution not strange or anything like that it's just of course yeah as you would expect but interesting to see that we got mostly relatively young people at least I'm in my 30s so I consider myself young who participated here but also some more experienced developers which is always nice and speaking of experience we can see that we do have a lot of respondents who are relatively new in that area in that JavaScript developer role but we also got some more experienced people and it's of course always great to have this mixture because that gives us different perspectives that are being represented by that survey and its results. Now as mentioned I don't want to go in detail through all these stats here it's probably not surprising that the vast majority of participants are male though that is probably not the real distribution of developers I would assume there are more women than represented here but it is what it is in that survey and therefore let's jump right into the results shall we. So we can start with JavaScript features so syntax features built into the JavaScript language not talking about libraries or frameworks or anything like that here instead here we can see how many of the respondents used a certain relatively new JavaScript feature so not features that we've had forever but features that have been kind of recently added to the JavaScript language we can of course see that almost all respondents 18 000 of 23 000 respondents used for example this nullish coalescing operator this operator here which helps with setting a fallback value if you have a value that is null though I will say that at least as I read it this chart doesn't tell us how often people use a certain feature they just used it at some point and therefore of course this might not be too meaningful here I'm pretty confident that this nullish coalescing operator is getting used a lot but when it comes to private fields for example private class fields I'm not sure if that many people really use that feature they might have used it once here and there but using it regularly is of course something else than having it used it once or something like that so that's that now we can dive deeper into more specific JavaScript features related to strings or arrays here I found this to sort that method very interesting because that is a relatively new method that allows us to sort an array without manipulating the original array which the sort method does so that is definitely a very useful addition which I like a lot so it wouldn't surprise me if many people use that feature especially once more people know about it but I won't dive deeply into all these very specific features here I think it is noteworthy that progressive web app browser features are still getting used a lot here my feeling was that this PWA trend was declining a bit but on the other hand maybe it is and this is just some very basic usage of some developers in some projects again it is hard to tell here how frequently something is getting used now if we have a look at the language pain points which I guess is interesting we can see that that static typing is the number one here so the lack of static typing I would say so as it says here so the fact that in JavaScript you don't have static types if you're not using TypeScript and I personally would agree with that I like TypeScript a lot and I would love it if TypeScript would be built into JavaScript optionally of course maybe a bit like it works in Python where you can also add static types but you don't have to having something like this in JavaScript itself would be awesome in my opinion because not being forced to install a compiler and to integrate a compiler in a build process and instead being able to run native TypeScript code in the end in the browser or on a server without a compilation step that would be really nice in my opinion now regarding these other features dates for example are interesting yeah you basically need an extra date library if you want to do more complex things with dates but yeah the static typing is definitely my most prominent pain point if you want to call it like this too though on the other hand we do have TypeScript so it is a pain point that can be solved it just could be solved more elegantly if it were baked in I would say now that's that with that let's move on to the libraries and here we're talking about third-party libraries that are being used in projects by the developers who participated in that survey and what these developers think about these libraries and we will take a look at things like react here but as you can see also add libraries like webpack which are used as part of the build process or to control the build process and what's already interesting here is that webpack gets used a lot this light blue bar here tells us that people have used a technology and then these green and red bars below the light blue bar tell us how many of the people who used the technology would want to use it again in case of the green bar or would rather not use it again and had a negative experience with it that would be the red bar and then this darker blue here that tells us how many people know a technology but have not used it and then again the green bar tells us how many of the people who know a technology but have not used it would like to use it versus the people who have not used it but know about it but would not want to use it that would be the red bar so they heard of it but they're not interested and then this very dark blue bar here that's the number of people who never heard of a technology now it isn't too surprising that most people heard about webpack or actually used webpack because many projects still use webpack so if you're for example creating a react app with the create react app tool which is not recommended anymore but which still is getting used quite a bit then you have a react project that's powered by webpack for example so it's no surprise that many people use it though as you can see if you take a look at this red bar here there also are many people who used it implicitly i would guess but would rather switch away to a more modern project setup that does not use webpack anymore now the number two here is react which of course is a frontend library which is now not running some build process but which really affects the code you write as you probably know and here we can see that react is getting used a lot and if we take a look at this green bar we can also tell that most of the people who are working with react would like to keep on working with react the red bar is definitely not null we can see it but it is definitely way smaller than the green bar so yes there are people who worked with react and would rather not work with it again but the vast majority wants to keep on using it now that is different if we take a look at the the darker blue bar here people who know react but have not worked with it of those people a minority would like to work with react and the majority would rather not do it and i would assume that this bar as a whole is mostly made up of people who simply use a different framework and who probably like that framework and therefore don't want to switch to react though that's just a guess now i won't go through all these libraries here otherwise this video will take an hour and that's not the goal we can see that jest is still very popular for testing not just from a usage perspective but also from the number of people who want to keep on using it read is super popular it's essentially the the alternative to webpack the more modern alternative and it is getting used a lot and people love it as you can tell by the green bar also of the people who heard of it but haven't used it the vast majority wants to use it so wheat is the clear winner of this year's survey when it comes to these relations here next chance also getting used a lot and people like it contrary to the opinion you could get if you just read on on x for example they are many people seem to be unhappy with next js but if we can trust this survey which is about the last year of course that's that's something to keep in mind it's not about this year but if we can trust this survey then the people who are most unhappy with next js are the people who haven't used it so yeah whatever that means maybe many people with a strong opinion who haven't actually tried it out or people who maybe used it in the past or read so much about next js or experimented with it that they determined that it's not for them that's also possible now as you see there are many more technologies i want to take a look at angular because of course it is a big framework though telling by this survey far less people are working with angular than people that used react so much more people used react than angular and it's hard to tell if that really accurately represents and reflects the reality hard to tell of course there is all the big difference in npm downloads so maybe it is the truth what's interesting here is that all of the people who work with angular the majority actually doesn't want to continue working with it and all the people who have not worked with angular but heard about angular the vast majority does not want to give it a try and especially over the last one two years angular has made huge advancements many steps into the right direction with the angular renaissance as it's been labeled so maybe more people should give it a try again i would say the angular from today is quite different from the angular we had like six years ago but ultimately of course many people already might have made their decision or might still not like it despite the many changes but maybe we'll also see different results next year that's also possible now let's move on before we spend the entire video just on this chart here and let's take a look at the changes over time and this can be a confusing chart at first but it's actually pretty awesome you can hover over a technology to see its path along the axis have people used it or have they not used it and do they have positive opinions or negative opinions and for example angular since we just talked about it did actually start in the have not used but we do have positive opinions on it area in 2016 in the bottom right corner and then it moved more into the negative opinions area as people used it now maybe we'll see something like this here next year that it moves back into the positive opinions area more people use it and they like it because i think as i just said angular is quite different from what it was but we'll see react as you can tell is moving a bit into the negative opinion area the usage is also growing though um so maybe that's also just a natural trend and overall it's of course super popular many people use it and many people love it now webpack is used a lot but people like it way less than they did three years ago for example as you can see and if we take a look at vid on the upper hand it's the superstar as mentioned usage is growing strongly and we also see that people have very positive opinions about it so vid as i said before is the clear winner now again definitely check out the survey on your own to explore all these different libraries and how those changed over time we can also take a look at this library tier list to see which libraries perform particularly well and as mentioned vid is the clear winner angular they use the old logo is here at the bottom react is where is react react is here so yeah popular but could be more popular could be received more positively a swelled for example is here but of course there we can also see that react of course is getting used way more than swelled so yeah this ranking is nice but it's of course easier to be a community darling if less people are using it or to get ranked well if less people are using it because the more people are using something the more opinions exist on that thing and the more diversity there is in that number of opinions on a certain technology i guess so that's that now we can also then take a closer look at front end frameworks and how they changed over time to essentially again see that react is growing in usage it's this top blue bar here react is growing in usage here for example angular is decreasing slightly positivity for example we can see that react is decreasing a bit angular seems to be stabilizing svelte is we are still growing slightly but also stabilizing in terms of usage it was growing a bit yeah so that's also interesting but it's mostly what we already saw before of course we can then also see these charts again now filtered for front end frameworks essentially it's also worth noting that here Vue.js is getting more usage than angular which i kind of doubt in the overall landscape to be honest but it's it of course also depends on how you measure usage maybe a bigger absolute number of developers works with Vue.js than with angular but more big companies use angular than Vue.js maybe it's hard to tell but yeah here you can see a detailed split for these different frameworks how often they're getting used and how they're being perceived by people and that of course is also interesting for example here we can also see that solid is a technology which a lot of people know about and quite a few people would like to try out but only a small number of people are actually working with it and that's of course something we can see for a lot of these relatively new frameworks or frameworks and libraries that got a lot of attention over the last year like also htmx for example many people know about it but not that many people are using it which isn't too surprising to be honest now if we then take a look at the meta frameworks we can see that Next.js is the clear winner in terms of usage it's growing strongly and there is a significant distance to the number two here and the number two is actually here not gatsby but the light blue bar is next and then gatsby still had lots of usage here i would have thought that it was less than it is but of course that usage declined over the recent years it is stabilizing here in terms of positivity people are not liking gatsby at all it decreased strongly and i haven't worked with gatsby for a couple of years now so i can't tell how good it is these days i just think to recall that it wasn't well maintained anymore that there wasn't too much activity in the in the github repo of of gatsby and so on so that was one problem i identified here but maybe that changed in the meantime we can tell that it decreased sharply in positivity gatsby next also decreased significantly here with release of the app router one would guess and it will be interesting to see in general for all these results but also for these results specifically how that will be how that will change and develop for this year so in the results we see next year if maybe we see a sharper decrease here for next or if they're able to stabilize usage wise as mentioned a lot of people are using next now we can also see that all the people who use next the majority wants to continue using it and really liked working with it but i mentioned that before now then we got some other meta frameworks and i guess the usage of of those or i'm not sure what this chart tells us is it the number of people who know it hard to tell but yeah because we got more alternatives here but these charts here are the more interesting ones i would say interesting here the pain points number one next js issues that's that's interesting to see it kind of makes sense most people are using next js so the main pain points are related to that for the frontend frameworks the main pain points were react issues which also makes sense i guess and interesting choice overload and excessive complexity and the choice overload is probably that we got so many libraries and frameworks and people struggle with that especially less experienced developers or people who are starting a new project of course because it's hard to tell what's the right choice of course the safe choice is to use what everyone's using react or angular or view i guess the established frameworks that have been around forever and then you got these niche and newer frameworks but they are of course um it's it's always a bit dangerous if they'll be maintained in the future how they might change in the future but overall i think the choice overload can sometimes feel worse than it needs to be because yes there are many options but you can simply go with the safe option you don't have to try out all these libraries and frameworks to make a decision you don't have to feel overwhelmed but i understand that it's possible to feel overwhelmed and the complexity also makes sense because we see many developments here with react for example we got react server components and server actions which are features that are part of react but can't be used in react unless you're using next js or some other library or framework that unlocks these features or you set up a complex build workflow and project setup on your own so yes this can feel complex for sure now i'll skip the testing part here move on to mobile and desktop here we can see that from a usage perspective it's quite diverse i'd say react native is the number two the number one the dark blue one is electron react native as i mentioned is the number two ionic for example is yeah close to number three they're all pretty close together here i guess from a positivity perspective however you can for example see that ionic is perceived as positive by far less people than for example react native though that also declined over the years slowly but steadily and it'll be interesting to see if that trend changes next year or if it continues i guess all these technologies except for building native apps with ios and android declined and maybe that's also some general trends that more people are using back to building native mobile apps with the languages that were meant to be used if you want to call it like this so swift or objective-c for ios and android or kotlin i guess for java or kotlin i guess for for android so there seems to be a slight trend to move back to those native languages but we'll see how that changes for example with react native's new architecture that is being rolled out this year all the people who work with react native the majority actually likes it of the people who heard of it but have news that we have a similar picture as we had for next.js for example it's pretty much an equal distribution between people who have a positive and negative sentiment towards react native now if we go down to the pain points here we can see that performance is the biggest pain point which makes sense because of course if you're not building a native app with native technologies then you'll always have kind of a bridge between the technology you're using and the native platform because if you're writing javascript code but that code doesn't run natively on the device or needs to be translated to machine code or needs to run in a web app as a shell then you always have this extra bridge between your code and the platform itself the device itself and that of course can affect performance so yeah it makes sense that this is the the number one issue here now if we take a look at build pools we got webpack which is the number one in terms of usage but in terms of positivity to nobody's surprise i guess wheat is the number one and usage of wheat is also growing strongly so it's probably only a matter of time until it surpasses webpack and we talked about that before here now the pain points are mostly configuration and performance of course if you have a tool that is slow that is annoying and configuration can be a real pain we've maybe all been there that we wanted to tweak some webpack config or set up a project from scratch and yeah you you really have to spend a lot of time to get into that to to to do anything meaningful there and it is an art on its own definitely not something i would consider myself an expert or even close to an expert on so yeah configuration can be a real pain here and that's why we mostly use pre-built project setups or projects that are set up by other people to build our applications because learning how to set up a project from scratch yeah that really takes some time so it makes sense that this is the main pain point now other tools these are other libraries that are also getting used so not fully fledged frameworks like angular or libraries like react that handle the entire front-end ui but instead helper libraries you might pull in and add for specific tasks and yeah it makes sense that we have a date library on the the second place here because working with dates in javascript can be annoying sought super popular when working with typescript for validating data validating user input or fetched data and translating it to to code that has strong and strict types added to it so yeah that's that's a really useful library and yeah then we got the animation libraries which have been there forever i guess 3js d3 frame or motion super popular great library for react for adding animations to react apps and then here for backend frameworks that's interesting because we only talked about frontend here but hey javascript can also be used on the backend so here we got express on the first place and i did talk about that in a recently released video which i'll also link below the video um yeah we got many alternatives like fastify and nestjs and they are popular but express.js is pretty old not under super active development though maybe that will change in the future but it's getting used by everyone it's super stable and yeah it is the clear winner as we can also tell by this survey here we can also see that when it comes to javascript runtimes of course people who do front-end development run the code in the browser they got no choice for backend node.js is still the number one despite bun and dino which have quite a lot of usage here i would say in reality if we talk about production applications both bun and dino are not even close to the numbers we see here that would be my guess but yeah that is what we can see here it's also quite interesting to see those numbers now here we can also see that all the people who replied in this survey which is called state of javascript keep that in mind many participants also know python and php which i guess makes sense python is a language with which many developers started and which is fairly easy to pick up and php of course is another super popular web development backend language with which also many people started their web development career myself included and which also simply makes sense to learn for many web developers unless you know that you'll only ever use javascript on both the front end and the backend which of course is also absolutely fine so that's also interesting to see for ai tools many developers use chat gpt and github copilot myself included and since this is the survey 2023 and 2023 was the year of ai where it all started and took off it makes sense that chat gpt is the clear winner here in the future maybe more people are using google gemini as it's called now or other alternatives and yeah it'll be interesting to see how that will develop in the coming years as ai gets more and more established and maybe more powerful but also also not that powerful as some people anticipate it will be interesting to see which impact ai has and how it then ranks in this survey and hey maybe we don't have a survey like this in 10 years from now because no one writes code anymore though that's definitely not what will happen in my opinion but yeah we'll see how that will turn out now hosting services aws is getting used a lot um versell netlify that all makes sense um yeah not a lot to say about that usage this here tells us how often people use javascript versus typescript and we can see that there is a relatively small share of respondents who use only javascript who never touch typescript most respondents have used typescript and many respondents use it almost exclusively so a pretty big share of people actually do use it exclusively which means they use it for every project now i personally would say that i'm maybe more in that mid-range here um not only because i rarely use typescript for my courses since not everyone knows it but also because if i'm just spinning up some quick prototype always pulling in typescript and setting up correct types can actually slow me down unnecessarily i like it a lot and i absolutely rely on it for production applications and for for anything serious but if i'm just spinning up a quick prototype i'm typically quicker if i just use javascript so i'm more in the middle here but given the fact that typescript has been super popular over the past years and still seems to be growing in popularity this distribution makes sense we can also see that of the participants here in this survey most participants work with javascript professionally myself included though we also do have a significant share of people who actually use it as a hobby to play around with it or learn to code which is awesome that's how i got started and i guess many of us got started we can also see that of the participants here the majority works on front-end projects there are less back-end developers here in that survey and that also makes sense to me because also what you see on axe for example what i see in youtube comments of course the web development community is huge and back-end development is maybe even a bigger share than front-end development but still the javascript front-end developer community is especially loud and visible at least that's my experience or what it feels like to me so it makes sense that of the respondents in this survey more people worked in in front-end than in back-end development also of course because it is the state of javascript survey and for back-end development many developers do not use javascript but php or c-sharp or something like that so this distribution definitely makes a lot of sense here now for the javascript pain points code architecture is the number one pain point and i would guess that's the number one pain point for most programming languages because that is one of the trickiest parts especially as you become a better developer because initially you don't care about that as much at least possibly but as you get more experience you want to write clean code and suddenly new problems appear which you didn't face in the past because now you do think about how to structure your code and that can therefore be challenging and from my experience it is challenging in most languages so no surprise that it is the number one problem here as well missing features we had that before yeah static typing would be nice to have in javascript in my opinion and a standard library that's also interesting which could help with better date management actually if javascript like python for example or like go would ship with a standard library that comes with many useful utility features built in for example features that help with working with dates that would be nice maybe but it's also likely not something we'll see in the near future now resources here we got resources people use to learn javascript or become better at javascript or learn about a new framework or library and here udemy is the number one source i got courses there as well in case you don't know links with discounts below the video um fronted masters plural set yeah you can read on your own youtube i would have considered that to be a bit higher up in the ranks but um oh this is paid courses so i'm not sure what youtube is doing here at all maybe we're talking about youtube memberships something like that yeah hard to tell fun fact i'm also in that list though i did not share a link to that survey so thanks to all the 32 people who named me you are awesome next year i'll share a link to the survey and i'll hopefully climb up in the ranks so yeah that is nice by the way catamount that's my company which i run together with manual more people know that or more people mentioned that here than me so next year we'll share it on all the channels and we'll dominate this list that's the plan yeah podcasts yeah you can read it on your own video creators fireship number one no surprise awesome um his videos are awesome totally different level um and then the people you would suspect to be up here and i won't comment on any of those i guess besides fireship on whom i already commented but yeah that is essentially it you can then take a look at the awards most adopted technology viet highest retention viet viet is the clear winner as i mentioned we test the testing library that builds up on viet is here with the runner up viet so viet is every everywhere but of course most people only use viet indirectly for their project setup therefore definitely check out this survey on your own to dive into all the details on your own and let me know below the video what you think of the results here what surprised you what makes no sense at all to you let me know and yeah next year i want to see my name higher up in that survey so bye