Frontend Tools Survey 2019 - Results

TL; DR. In most categories, clear leaders now stand out - several years ago this was not. This helps the accumulation of knowledge. Therefore, the skills of owning tools on average become deeper among developers at all levels.



This year, 3005 developers answered 27 questions covering a wide range of front-end development tools and methodologies. As always, many thanks to everyone who took the time to fill out the questionnaire. For my part, I apologize for the delay in publishing the results: this year it was not easy to work because of the birth of the baby.



As always, itโ€™s very interesting to look at changes in front-end tools over the past 12 months and how the opinions of developers in the industry are changing. These results (I hope) will help to get an idea about current trends and the level of development of tools, as well as about changes over time, comparing with the figures from previous surveys .



results



So to the point! Take a tea / coffee / drink of your choice and look at the results ...



Advance Disclaimer



The results show a selection of front-end developers in the industry. This is not the Gospel, but a vague hint of sample trends.



The answers



As already mentioned, 3,005 responses have been received this year. This is less than in the past (5461).



This year, organizing the event turned out to be a little more difficult, possibly due to an increase in the number of surveys of web developers online, as well as for personal reasons. All things considered, more than 3,000 answers are an incredibly excellent result.



Link to the survey was published on Twitter, Reddit, HackerNews, DesignerNews, Echo.js, LinkedIn and Frontendfront, as well as in several mailing lists, including FrontEnd Focus and CSS Weekly .



Where possible, the tables indicate the percentage change relative to 2018.



The list of questions



  1. General frontend experience

  2. CSS knowledge level

  3. Using CSS processors

  4. CSS Processor Experience

  5. Using CSS frameworks

  6. CSS naming schemes

  7. CSS Linting

  8. CSS Tools Experience

  9. CSS methodologies and experience with naming schemes

  10. Using CSS Tools

  11. Using CSS-in-JS

  12. Using CSS Features

  13. JavaScript Knowledge Level

  14. Task Runners

  15. Knowledge of JavaScript libraries and frameworks

  16. Most commonly used JS frameworks / libraries

  17. The most important JS frameworks / libraries

  18. Using the JavaScript module bundler

  19. Experience with module bundlers and task runners

  20. JavaScript transpilers

  21. JavaScript Extension Languages

  22. JavaScript linting

  23. JavaScript testing

  24. Performance testing

  25. Barrier Access Testing Tools

  26. JavaScript Package Managers

  27. Miscellaneous tools


Question 1. General frontend experience



First, we find out the respondents' experience in the front-end.



The question was: approximately how long have you been working with front-end technologies?



Here are the results:



Answer Number of votes Share
0-1 years 91 3.03%
1-2 years 279 9.28%
2-5 years old 859 28.59%
5-10 years 860 28.62%
10-15 years 503 16.74%
More than 15 years 413 13.74%






59.1% of respondents have been working with technology for more than five years. This is slightly higher than last year's results (54.18%), so the developers have become more experienced. However, this can be explained by a partial overlap in the audience: a number of respondents participated in last yearโ€™s survey and now (naturally) they have more experience.



Only 12.31% of those surveyed said they had less than two years of work experience.



As in previous polls, most have a fairly high level of experience with front-end technologies. This should be considered when considering the rest of the survey results.



Question 2. CSS level of knowledge



The second question was about how respondents rated their CSS knowledge.



Here's what the answers looked like:



Level Number of votes Share
Newbie 35 1.16%
Beginner (between beginner and middle) 243 8.09%
Middle 815 27.12%
Advanced (between intermediate and expert) 1452 48.32%
Expert 460 15.31%






90.75% of respondents said their CSS knowledge is average or higher, with the majority (63.63%) rating themselves as advanced or expert.



Every year I remind you that these answers are very subjective. People's perceptions of expertise can vary greatly.



However, this provides a useful opportunity to filter other answers by level of knowledge - for example, how the tools of more experienced developers and beginners differ. Where appropriate, I will do this filtering.



Question 3. Using CSS processors



The first question about CSS tools is related to CSS processing tools.



In previous years, it was proposed to choose a favorite preprocessing tool (preprocessor). This year the question was slightly changed and allowed the choice of several answers. The question is: which of these CSS processors do you use regularly?



During the first survey in 2016, Sass dominated, what has changed during this time?



Note. A comparison is made with last yearโ€™s numbers, but itโ€™s important to consider that respondents can now select multiple answers instead of one. Therefore, the results should be a slight increase in the use of all tools.



Preprocessor Number of votes Share % difference (by 2018)
Sass 2322 77.27% + 11.88%
Postcss 863 28.72% + 20.06%
Less 422 14.04% + 7.52%
I do not use a preprocessor 395 13.14% โˆ’1.44%
Stylus 98 3.26% + 1.08%
Other 80 2.66% โˆ’0.01%






As in previous years, Sass remains the dominant CSS processing tool, used by 77.27% of respondents.



Interestingly, PostCSS came in second with 28.72%. The ability to select multiple answer options clearly helped establish a more accurate PostCSS audience, which is often used with Sass.



Question 4. The experience of CSS processors



In the next question, respondents were asked to indicate their level of experience with CSS processing tools.



Here are the results:



Never heard Heard / read Used a little I confidently use
Sass - standard syntax or SCSS 0.33% (10) + 0.13% 6.82% (205) โˆ’2.17% 15.34% (461) โˆ’2.61% 77.50% (2329) + 4.64%
Less 1.40% (42) + 0.21% 35.81% (1076) โˆ’0.52% 35.34% (1062) + 1.10% 27.45% (825) โˆ’0.79%
Stylus 21.06% (633) โˆ’1.70% 61.93% (1861) + 1.56% 11.35% (341) + 0.47% 5.66% (170) โˆ’0.33%
Postcss 15.44% (464) โˆ’1.99% 41.30% (1241) โˆ’4.06% 22.73% (683) + 1.98% 20.53% (617) + 4.07%






These results are consistent with the results of the previous question, and more than three quarters of the respondents (77.5%) stated that they work confidently with Sass, and only 7.15% have never used it.



The level of knowledge of PostCSS has grown compared with the results of previous years: now 20.53% of respondents are confidently working with it.



Compared with the results of previous years, the level of knowledge of Less and Stylus is slightly reduced.



Looking at the results of the last two questions, we can conclude that Sass remains the dominant CSS processing tool.



Question 5. Using CSS frameworks



Respondents were asked to indicate which of the following CSS frameworks they use most often in their projects (if any).



Last year, the leader was Bootstrap. What has changed in 12 months?



Let's look at the results:



Answer Number of votes Share % difference (by 2018)
No framework 1054 35.07% + 2.15%
Bootstrap 840 27.95% โˆ’7.01%
Custom framework 497 16.54% + 1.29%
Tailwind CSS 129 4.29% N / a
Bulma 96 3.19% + 0.75%
Foundation 79 2.63% โˆ’1.31%
Materialize 72 2.40% โˆ’0.24%
Semantic ui 63 2.10% + 0.16%
Tachyons 25 0.83% N / a
Purecss eighteen 0.60% โˆ’0.10%
Other 132 4.39% โˆ’0.83%






Unlike the results of previous years, now the most popular answer - a little over a third of the audience (35.07%) - came from developers who do not use any frameworks.



However, Bootstrap remains the most popular CSS framework and is used by 27.95% of respondents. This is 7.01% less than a year ago.



In second place is Tailwind CSS.



As in previous years, the use of frameworks is closely related to the level of CSS knowledge. For example, newcomers and novice developers more often used Bootstrap (43.17%) than advanced or expert developers (23.69%).



There has also been a clear (possibly expected) mismatch between knowledge levels when using custom CSS frameworks. Overall, 16.54% of respondents said they use some kind of custom framework. Among beginners, the share drops to 8.63%, and among developers with advanced or expert knowledge it rises to 20.35%.



But overall it seems that the use of ready-made CSS frameworks has slightly decreased compared to previous years.



Question 6. CSS naming schemes



The next point in the survey: do you use CSS naming scheme when writing CSS, for example, BEM or SUIT?



The answers were as follows:



Answer Number of votes Share % difference (by 2018)
Yes 1565 52.08% + 3.15%
No - I heard about such schemes, but I do not use 1153 38.37% โˆ’0.76%
No - I've never heard of CSS naming schemes 287 9.55% โˆ’2.39%






For the first time since 2016, most developers use the CSS naming scheme: now they are 52.08%, which is + 3.15 pp compared to last year.



The number of developers who had never heard of CSS naming schemes fell to 9.55%, minus 2.39 percentage points from a year ago.



From these results, it is clear that the level of use of tools in this area continues to grow. Developers who don't use the CSS naming scheme are now in the minority.



Question 7. Linting in CSS



The use of CSS linters has been growing steadily since this question was first asked in 2016.



Last year, most developers (50.56%) still refrained from linting, so it will be interesting to look at the dynamics.



Question: Do you use a CSS linting tool?



Here are the results:



Answer Number of votes Share % difference (by 2018)
Yes 1599 53.21% + 3.77%
Not 1406 46.79% โˆ’3.77%






As with CSS naming schemes, for the first time, most respondents (53.21%) started using CSS linking, plus 3.77 percentage points. to last year.



It is also clear from the results that more advanced developers are more likely to lint CSS. Only 28.42% of beginners use the linter, compared with 60.15% of developers with advanced CSS or higher.



Using linters is becoming more and more popular as such great tools as Stylelint become known (as we will discuss in the next question).



Question 8. Experience with CSS tools



The following four questions cover levels of knowledge and use of various CSS methodologies and supporting tools.



In the eighth question, respondents were asked to indicate their experience with Autoprefixer, Modernizr, and Stylelint.



The results were as follows:



Never heard Heard / read Used a little I confidently use
Autoprefixer 16.71% (502) โˆ’0.81% 15.17% (456) โˆ’1.93% 17.60% (529) + 0.64% 50.52% (1518) + 2.10%
Modernizr 12.51% (376) + 1.45% 28.99% (871) + 1.83% 34.48% (1036) + 0.22% 24.03% (722) โˆ’3.49%
Stylelint 37.74% (1134) โˆ’6.46% 24.86% (747) โˆ’1.01% 14.38% (432) + 2.33% 23.03% (692) + 5.16%






Of the three tools, Autoprefixer is the most famous: 50.52% of developers said that they confidently own it.



Over the year, the level of Stylelint knowledge has grown most of all: now 23.03% of developers, +5.16 percentage points work confidently with it



Modernizrโ€™s knowledge level has slightly decreased, while the number of respondents who have never heard of it has increased, and the number of those who know it confidently has decreased (โˆ’3.49 percentage points to 24.03%).



Question 9. CSS methodologies and experience with naming schemes



According to the same scheme, respondents were asked to indicate their experience with the following CSS methodologies.



Results:



Never heard Heard / read Used a little I confidently use
CSS-in-JS 7.72% (232) โˆ’4.59% 39.43% (1185) โˆ’2.14% 25.32% (761) โˆ’0.88% 27.52% (827) + 7.60%
SMACSS 40.27% (1210) โˆ’0.86% 39.13% (1176) + 0.07% 12.71% (382) + 0.99% 7.89% (237) โˆ’0.20%
Object Oriented CSS (OOCSS) 30.22% (908) โˆ’1.77% 47.29% (1,421) + 2.22% 14.18% (426) + 0.15% 8.32% (250) โˆ’0.60%
Atomic design 27.99% (841) โˆ’5.94% 40.60% (1220) + 3.24% 16.87% (507) + 0.22% 14.54% (437) + 2.47%
ITCSS 63.89% (1920) โˆ’5.84% 24.29% (730) + 3.36% 5.56% (167) + 1.51% 6.26% (188) + 0.97%
Bem 13.48% (405) โˆ’2.52% 22.16% (666) โˆ’3.68% 20.83% (626) + 0.83% 43.53% (1308) + 5.37%
SUIT CSS 68.92% (2071) โˆ’1.67% 24.96% (750) + 1.10% 3.73% (112) + 0.40% 2.40% (72) + 0.18%






The knowledge level of most methodologies has increased slightly compared to last year.



Most of the respondents still feel most confident with the BEM methodology: 43.53%, i.e. + 5.37 percentage points



The biggest advances in CSS-in-JS methodology. A third more developers are now working confidently with her than last year: 27.52%, an increase of 7.6 percentage points.



Familiarity with SMACSS, OOCSS, Atomic Design, and ITCSS has also improved, with Atomic Design and ITCSS being the most notable successes.



If we take all the CSS architectural methodologies, that is, SMACSS, OOCSS, Atomic Design, ITCSS and CSS-in-JS, then 42.26% of respondents confidently work with at least one of them in 2019. This is an increase of 7.36 percentage points. from last year's level of 34.90%. If we take into account the respondents who use at least a little of one of these methodologies, the figure rises to 70.75% - compared with last year's 66.49%.



These results show that knowledge of CSS methodologies and naming schemes is increasing, with BEM, CSS-in-JS, and Atomic Design the most famous.



Question 10. Using CSS tools



Continuing the survey on CSS methodologies, question 10 was as follows: which of these CSS methodologies or tools are you currently using in your projects?



Let's look at the results.



Note. CSS-in-JS is excluded from the answers because the following question is completely devoted to it.



Tool / Methodology Number of votes Share % difference (by 2018)
Autoprefixer 1708 56.84% + 0.13%
Bem 1368 45.52% + 2.01%
Stylelint 826 27.49% + 4.71%
Modernizr 634 21.10% โˆ’8.24%
Atomic design 463 15.41% + 0.19%
Object Oriented CSS (OOCSS) 218 7.25% โˆ’1.98%
SMACSS 173 5.76% โˆ’0.89%
ITCSS 155 5.16% + 0.36%
SUIT CSS 46 1.53% + 0.03%
None of the above 664 22.10% + 5.18%






Most often, of the listed tools and methodologies, developers use Autoprefixer (56.84%), BEM (45.52%) and Stylelint (27.49%). All these figures have increased slightly compared to 2018, and Stylelint has the largest increase (+4.71 percentage points).



The use of Modernizr for the year fell by 8.24 percentage points to 21.10%, continuing the downward trend that was observed in previous years.



Although the level of knowledge of CSS methodologies has grown slightly, their level of use has not changed much compared to 2018. Atomic Design is still the most popular CSS design methodology and is used by 15.41% of developers.



In general, these figures indicate that over the past year a certain consolidation has taken place in this area.



Question 11. Using CSS-in-JS



The next question is asked for the first time and is devoted to a field that has recently become very interesting: CSS-in-JS.



The number of developers using CSS-in-JS has grown to such an extent that it will be interesting to see which specific tools are the most popular here.



So the question was asked: what is your preferred CSS-in-JS tool?



Tool / Methodology Number of votes Share
I do not use CSS-in-JS in my projects 1662 55.31%
Styled Components 812 27.02%
CSS Modules 292 9.72%
Emotion 119 3.96%
Jss fifty 1.66%
Aphrodite 10 0.33%
Radium one 0.03%
Other 59 1.96%






44.69% of respondents said they use CSS-in-JS tools, and the most popular option is Styled Components (27.02%). The next most popular are CSS modules (9.72%) and Emotion (3.96%).



Most developers (55.31%) do not work with CSS-in-JS tools. This is a relatively new area, and given its specialization for certain use cases, there is nothing surprising.



As you might expect, among developers with advanced and expert JS knowledge, the percentage using CSS-in-JS has grown to 51.38%. This is logical because CSS-in-JS is commonly used in conjunction with the JavaScript platform.



Overall, itโ€™s obvious that CSS-in-JS is becoming an important part of the arsenal of many developers. It will be interesting to see how these numbers change in the future.



Question 12. Using CSS functions



The final CSS question is to find out the level of awareness of the new CSS features and functions.



Since there are so many articles and discussions about them, it is always interesting to know how many developers have begun to use these functions in practice and gained experience in using them.



Question: Please indicate your experience with the following CSS features.



Results:



Never heard Heard / read Used a little I confidently use
CSS grid 0.90% (27) โˆ’0.33% 21.90% (658) โˆ’14.47% 48.62% (1461) + 4.69% 28.59% (859) + 10.11%
Flexbox 0.43% (13) โˆ’0.25% 2.50% (75) โˆ’3.29% 16.67% (501) โˆ’9.28% 80.40% (2416) + 12.81%
CSS Custom Properties 8.95% (269) โˆ’1.18% 30.58% (919) โˆ’14.06% 32.58% (979) + 6.38% 27.89% (838) + 8.86%
CSS Houdini 51.75% (1555) N / a 46.46% (1396) N / a 1.56% (47) N / a 0.23% (7) N / a






Flexbox (up 12.81 pp to 80.40%), CSS Grid (+ 10.11 pp to 28.59%) and CSS Custom Properties (+8.86 pp to 27 , 89%) showed an increase in the audience of confident users.



Almost all surveyed developers now use Flexbox, and 97.07% of respondents at least came across it a little (last year it was 93.53%). It is safe to say that knowledge of Flexbox is now expected from all frontend developers.



In the results of a survey on knowledge of CSS Grid and CSS Custom Properties, a certain transition of the audience from the โ€œheard somethingโ€ level to the level of real use of these functions is observed. It seems that the level of knowledge is growing, although more developers have โ€œusedโ€ these functions a little than they feel confident in working with them.



CSS Houdini, an API set for native CSS extension, was first mentioned in a survey. 46.46% of respondents said they heard or read about this feature, but only 1.79% at least used it a little. This feature is still considered very innovative, so it is not surprising that so few developers are currently using it.



Question 13. JavaScript knowledge level



The second half focuses on JavaScript and its ecosystem of tools.



First, how do you rate your knowledge of JavaScript and related tools and methodologies?



These were the results:



Level Number of votes Share
Newbie 70 2.33%
Beginner (between beginner and middle) 261 8.69%
Middle 901 29.98%
Advanced (between intermediate and expert) 1237 41.16%
Expert 536 17.84%






Most respondents consider themselves to be at least average or higher (88.98%), while the majority say that they have advanced or expert knowledge (59.0%).



It would be wrong to say that such results reflect the level of knowledge in the entire industry - most likely, this is simply a reflection of the level of knowledge of those who take part in such a survey. As might be expected, the distribution shifts more toward the advanced end of the spectrum.



Question 14. Task runners



Last year, NPM scripts pretty much outperformed Gulp. Did they manage to strengthen their position in a year?



The question was: which task runner do you prefer to use in your normal workflow?



Task runner Number of votes Share % difference (by 2018)
NPM scripts 1933 64.33% + 16.44%
Gulp 557 18.54% โˆ’11.02%
Don't use one 273 9.08% โˆ’1.61%
Grunt 76 2.53% โˆ’3.26%
GUI Application (i.e. Codekit) thirty 1.00% โˆ’0.04%
Make 21 0.70% + 0.06%
Other 115 3.83% โˆ’0.56%






From these results, it is clear that NPM scripts firmly established their positions. They are used by 64.33% of respondents - by 16.44 percentage points more than last year.



The use of almost all other tools in this category fell: 18.54% of developers use Gulp (drop by 11.02 percentage points) and only 2.53% use Grunt (drop by 3.26 percentage points).



9.08% of respondents said that they do not use task runners: this is slightly less than last year (-1.61 percentage points).



Thus, last yearโ€™s trend seems to be continuing: developers are steadily migrating from Gulp and Grunt to NPM scripts.



Question 15. Knowledge of JavaScript libraries and frameworks



In the following three questions, we asked about the knowledge and level of use of JavaScript libraries and frameworks.



Last year, React, Vue, and Angular 2+ showed the greatest gains in knowledge. At the same time, jQuery was the leader in terms of knowledge among developers, but its actual level of use has significantly decreased.



In this question, the level of knowledge of all tools is evaluated. Respondents are asked to indicate which JavaScript libraries and frameworks they have experience with.



Here are the results:



Never heard I heard / read Used a little I confidently use
jQuery 0.03% (1) โˆ’0.08% 2.80% (84) + 0.49% 21.80% (655) + 3.95% 75.37% (2265) โˆ’4.36%
Lodash 8.09% (243) โˆ’3.61% 22.50% (676) โˆ’3.23% 28.75% (864) + 3.15% 40.67% (1222) + 3.70%
Underscore 12.58% (378) + 0.09% 32.58% (979) โˆ’2.34% 26.39% (793) + 1.98% 28.45% (855) + 0.27%
React 0.27% (8) โˆ’0.11% 24.53% (737) โˆ’6.62% 26.86% (807) โˆ’1.18% 48.35% (1.453) + 7.92%
Vue.js 0.43% (13) โˆ’0.6% 50.18% (1508) โˆ’8.86% 26.19% (787) + 3.32% 23.19% (697) + 6.12%
Angular 1 0.57% (17) โˆ’0.07% 50.75% (1525) + 3.43% 29.85% (897) โˆ’0.29% 18.84% (566) โˆ’3.06%
Angular 2+ 0.40% (12) โˆ’0.30% 63.73% (1915) โˆ’1.31% 20.07% (603) โˆ’1.41% 15.81% (475) + 3.03%
Ember 5.49% (165) + 1.04% 79.03% (2375) โˆ’1.52% 8.22% (247) โˆ’0.22% 7.25% (218) + 0.69%
Preact 21.30% (640) โˆ’2.30% 65.02% (1954) โˆ’0.26% 9.08% (273) + 2.41% 4.59% (138) + 0.14%
Backbone 8.55% (257) + 1.77% 65.69% (1974) โˆ’1.86% 18.20% (547) + 1.30% 7.55% (227) โˆ’1.22%
Knockout 23.43% (704) + 2.88% 62.53% (1879) โˆ’2.44% 10.88% (327) + 0.22% 3.16% (95) โˆ’0.67%
Aurelia 44.79% (1346) + 3.37% 51.48% (1547) โˆ’3.56% 2.73% (82) + 0.33% 1.00% (30) โˆ’0.14%
MeteorJS 18.24% (548) + 2.86% 71.45% (2147) โˆ’1.91% 8.95% (269) โˆ’0.33% 1.36% (41) โˆ’0.62%
Polymer 18.64% (560) + 0.68% 71.48% (2148) + 0.58% 8.39% (252) โˆ’1.10% 1.50% (45) โˆ’0.15%
D3.js 13.48% (405) N / a 49.68% (1493) N / a 29.55% (888) N / a 7.29% (219) N / a






Best of all, developers know jQuery (75.37%), React (48.35%), Lodash (40.67%), Underscore (28.45%) and Vue.js (23.19%).



Most of all, the share of confident users increased among React (48.35%, +7.92 percentage points since 2018), and Vue.js (23.19%, +6.12 percentage points).



The number of developers who work confidently with jQuery has slightly decreased to 75.37% (โˆ’4.36 percentage points since 2018).



The level of knowledge of Lodash also slightly increased, including the share of those who use it a little, increased to 28.75% (+3.15 pp), and confident users - up to 40.67% (+3.70 p. .P.).



This year, for the first time, D3.js was added as an answer option: 7.29% of developers said about the comfortable use of this library.



Looking at the level of knowledge of all JavaScript MV * frameworks (that is, all from the list except jQuery, Underscore, Lodash, and D3.js), 78.54% of respondents confidently work with at least one of them. This figure increased by 8.04 percentage points. compared with last year's results and by 28 percentage points since 2016, which shows how important it is for front-end developers to know at least one of these tools.



Question 16. Most commonly used JS frameworks / libraries



Then the respondents were asked: which JavaScript libraries and / or frameworks do you currently use most often?



You could choose any number of tools.



Answers:



Number of votes Share % difference (by 2018)
React 1569 52.21% + 4.82%
jQuery 1106 36.81% โˆ’14.24%
Lodash 986 32.81% โˆ’1.01%
Vue.js 816 27.15% + 4.21%
Angular (v2 +) 472 15.71% + 1.59%
D3.js 267 8.89% N / a
Ember 201 6.69% + 0.68%
Underscore 199 6.62% โˆ’1.22%
Angularjs 191 6.36% โˆ’4.06%
Preact 75 2,50% โˆ’0.48%
Backbone 55 1.83% โˆ’0.72%
Polymer 35 1.16% โˆ’0.58%
Knockout thirty 1.00% โˆ’0.83%
Aurelia 26 0.87% โˆ’0.25%
MeteorJS 24 0.80% โˆ’0.57%
None of the above 120 3.99% + 0.38%






For the first time ever since 2015, jQuery has lost its title as the most commonly used JS tool, giving way to React.



52.21% of developers said that they often use React in their projects, which is +4.82 pp per year. 36.81% of respondents said that jQuery was used frequently, which corresponds to a fall of 14.24 percentage points. per year.



Following are Lodash (32.81%), Vue.js (27.15%) and Angular v2 + (15.71%) with a change of โˆ’1.01, +4.21 and +1.59 pp, respectively , compared with the results of 2018.



Question 17. The most important JS frameworks / libraries



The final question on JS frameworks: which JavaScript library or framework do you think is necessary for most of your projects?



Last year, React received the largest share. Has anything changed in 12 months?



Let's get a look:



Number of votes Share % difference (by 2018)
React 985 32.78% + 4.31%
None of this is necessary - I normally get by with native JavaScript 651 21.66% + 0.05%
Vue.js 404 13.44% + 3.22%
jQuery 335 11.15% โˆ’8.59%
Angular (v2 +) 255 8.49% + 2.30%
Ember 167 5.56% + 1.17%
Lodash 73 2.43% โˆ’0.99%
Angularjs 22 0.73% โˆ’0.97%
Aurelia eighteen 0.60% 0%
Backbone eleven 0.37% + 0.08%
Preact 8 0.27% 0%
Underscore 7 0.23% โˆ’0.19%
Polymer 7 0.23% โˆ’0.28%
MeteorJS 4 0.13% โˆ’0.05%
Knockout one 0.03% โˆ’0.13%
D3.js one 0.03% N / a
Other 56 1.86% + 0.07%






React has strengthened its position: this year 32.78% of respondents said they consider it their most important JavaScript library or framework. This indicator grew by 4.31 percentage points. compared to last yearโ€™s survey.



21.66% of developers do not consider any tool necessary in this category.



The next most important tools were Vue.js with 13.44% (+3.22 percentage points over the previous year), jQuery with 11.15% (โˆ’8.59 percentage points) and Angular v2 + with 8.49% ( +2.3 pp).



Experience greatly affects preferences. The need for React was recognized by 45.14% of developers with experience 0-2 years and only 24.02% of respondents with experience 10+ years. In addition, 28.06% of developers with maximum experience said they could work without specific libraries or tools.



If you look at the results of all three questions on JS libraries and frameworks, the level of knowledge and use of React is still growing, and Vue.js is in the obvious second place among JavaScript frameworks (although it still lags behind React a bit).



Although jQueryโ€™s usage has been steadily declining, more developers are still using it than Lodash.



Question 18. Using the JavaScript module bundler



In this category, Webpack has maintained leadership for several years. Let's see if he has any competitors?



Question: Do you use the JavaScript module bundler in your work?



Here are the results:



Bundler modules Number of votes Share % difference (by 2018)
Webpack 2204 73.34% + 7.66%
Not using 440 14.64% โˆ’5.91%
Parcel 85 2.83% + 1.79%
Rollup 62 2.06% โˆ’0.12%
Browserify 49 1.63% โˆ’2.09%
RequireJS 37 1.23% โˆ’1.32%
Systemjs 3 0.10% N / a
Other 125 4.16% + 0.15%






The share of Webpack continues to grow: now 73.34% of respondents use it as their module bundler, this is +7.66 percentage points. to last yearโ€™s results.



The following most commonly used bundlers are: Parcel and Rollup with 2.83% and 2.06% responses.



Over the year, the number of developers who do not use module bundlers fell by 5.91 percentage points, to 14.64%. Thus, 85.36% now use this tool.



Like last year, Webpack remains the dominant tool in this area. There is no indication of an alternative replacement in the foreseeable future.



Question 19. Experience with module bundlers and task runners.



Next, a question was asked about experience with the mentioned module bundlers and task runners.



Here's what the results look like:



Never heard I heard / read
Gulp 1,66% (50) +0,21% 20,33% (611) +1,34% 32,21% (968) +2,20% 45,79% (1,376) โˆ’3,76%
NPM 3,13% (94) โˆ’1,23% 9,15% (275) โˆ’3,59% 23,33% (701) โˆ’3,42% 64,39% (1,935) +8,25%
Grunt 2,93% (88) +0,68% 34,51% (1,037) +1,37% 37,97% (1,141) +1,93% 24,59% (739) โˆ’3,98%
Webpack 2,03% (61) โˆ’0,61% 13,28% (399) โˆ’6,02% 32,31% (971) +0,92% 52,38% (1,574) +5,70%
Browserify 11,91% (358) +2,33% 52,95% (1,591) +0,84% 25,76% (774) โˆ’0,76% 9,38% (282) โˆ’2,41%
Parcel 30,18% (907) โˆ’15,14% 49,78% (1,496) +3,34% 12,98% (390) +7,47% 7,05% (212) +4,32%






In accordance with previous results, the majority of respondents confidently work with scripts NPM (64.39%), Webpack (52.38%) and Gulp (45.79%).



The NPM and Webpack scripts showed the largest increase in the number of developers who are now working confidently with them.



Parcel also has a decent growth, both among those who just tried it (12.98%, +7.47 percentage points) and confident users (7.05%, +4.32 percentage points), compared to 2018 results.



Question 20. JavaScript transpilers



Over the past couple of years, Javascript transpilation has grown to such a level that the vast majority of developers now use it.



Although I did not expect that the use of transpilators will fall over the year, itโ€™s interesting to see the level of their popularity and whether growth continues and how much.



Question: Do you use a tool to translate JavaScript from ES6 to ES5? (e.g. Babel)



Results:



Answer Number of votes Share % difference (by 2018)
Yes 2451 81.56% + 4.80%
No - I heard about such tools, but never used 466 15.51% -4.01%
No - I never heard of JavaScript transpilers 88 2.93% โˆ’0.79%






The use of transpilers continues to grow: now one of them uses 81.56% of respondents, an increase of 4.8 percentage points per year.



As one would expect, developers with less experience in front-end development are less likely to use a transpiler, although 70% of respondents with 0-2 years of experience did this.



Question 21. JavaScript language extensions



The next question came up last year and is about language extensions like TypeScript and Flow.



Last year, most respondents felt confident with TypeScript, what has changed in 12 months?



Question: Please indicate your experience with the following JavaScript extensions .



This year's results:



Never heard I heard / read Used a little I confidently use
TypeScript 1.16% (35) โˆ’1.07% 36.74% (1104) โˆ’11.31% 30.18% (907) + 2.35% 31.91% (959) + 10.03%
Flow 27.92% (839) โˆ’5.99% 55.97% (1682) + 5.50% 11.78% (354) + 0.83% 4.33% (130) โˆ’0.34%
Elm 29.42% (884) + 0.10% 63.93% (1921) โˆ’0.47% 5.36% (161) + 0.29% 1.30% (39) + 0.09%
ClojureScript 32.31% (971) โˆ’1.24% 65.69% (1974) + 2.09% 1.73% (52) โˆ’0.65% 0.27% (8) โˆ’0.21%
Dart 27.75% (834) N / a 67.62% (2032) N / a 4.13% (124) N / a 0.50% (15) N / a






TypeScript still remains in first place with a share of confident users of 31.91% (+10.03 percentage points per year).



For other instruments in this category, there have been no real changes, neither growth nor decline.



Apparently, these results indicate a stable position, which TypeScript occupied in its niche. Its use is growing steadily every year, and it is interesting to see whether this growth will continue in the future.



Question 22. Linting in JavaScript



JavaScript linting tools are practically part of the standard development kit, and last year ESLint was the most popular one used by most developers.



Question: What tool do you use for JavaScript linting (if any)?



Tool Number of votes Share % difference (by 2018)
ESLint 2286 76.07% + 15.39%
I do not use JavaScript linter 360 11.98% โˆ’3.42%
Jsint 143 4.76% โˆ’2.44%
Jshint 67 2.23% โˆ’1.74%
Standardjs 43 1.43% โˆ’0.16%
Other 106 3.53% + 2.54%






The results show a very clear trend: ESLint's share is still growing, while other linting tools are declining. This year, the ESLint audience grew to 76.07% of respondents (+15.39 percentage points compared to last year).



The increased popularity of ESLint can be partly explained by the decision of the TSLint team in February to abandon TSLint and focus on improving TypeScript support in ESLint .



The share of developers not using the linter this year fell to 11.98%. This means that 88.02% of developers now use these tools: an increase of 3.42 percentage points. from last year's figure of 84.6%.



So there are no special surprises. Apparently, ESLint is considered the standard choice in this category.



Question 23. Testing in JavaScript



The next question was about using JavaScript testing tools.



This year, the format of the question was slightly changed, as the responses of the respondents showed that many developers used several tools, and not one. Therefore, respondents could now select several answers.



For reference, the difference with last yearโ€™s results is indicated, but due to a change in format, all tools may show a small increase in the share of use.



Question: which of these tools do you use to test JavaScript (if any)?



Here are the results:



Tool Number of votes Share % difference (by 2018)
Jest 1348 44.86% + 22.83%
I do not use JS testing tools 1071 35.64% โˆ’7.98%
Mocha 785 26.12% + 12.17%
Jasmine 585 19.47% + 8.52%
Enzyme 560 18.64% + 16.86%
Cypress 378 12.58% N / a
QUnit 184 6.12% + 1.94%
Ava 102 3.39% + 2.25%
Tape 57 1.90% + 0.98%
Other 109 3.63% + 3.63%






As in 2018, Jest is still the tool that most respondents use, namely 44.86%. The next most popular were Mocha (26.12%), Jasmine (19.47%) and Enzyme (18.64%).



The percentage of developers using at least some JavaScript testing tool has grown to 64.36% (+7.98 percentage points over the year).



I think this yearโ€™s results show that there is currently a very wide range of tools available when it comes to JavaScript testing. Although Jest is the most popular of these, there are many other popular options that are worth exploring.



Question 24. Performance testing



This is a new question to explore how developers evaluate and optimize the performance of their projects.



There are so many tools and native functions now that I was very interested in which of them are most popular in the community.



Question: which of these tools, libraries, or language functions do you use for performance (if any) . Respondents may choose one or more of the following options.



Let's look at the results:



Tool Number of votes Share
Lighthouse 1566 52.11%
None of these tools 952 31.68%
WebPageTest 730 24.29%
Service workers 695 23.13%
Pingdom 317 10.55%
AMP (Accelerated Mobile Pages) 174 5.79%
Other (please specify) 109 3.63%






Lighthouse was the most popular option: 52.11% of respondents use it to test performance.



Surprisingly, the second most popular option was โ€œNone of these toolsโ€, which was chosen by 31.68% of developers.



Of the other options, 24.29% of the developers used WebPageTest and 23.13% of the developers used Service Workers.



It is interesting to note that only 5.79% implement AMP (Accelerated Mobile Pages) in their projects. Considering how much Google has been pushing AMP in recent years, this technology remains pretty niche.



Question 25. Means for testing barrier-free access



Another new question this year concerns accessibility testing tools.



Question: Which of these barrier-free access testing tools do you use to test your sites / applications? Respondents could choose one or more options.



Results:



Tool Number of votes Share
I do not use tools for testing barrier-free access to sites / applications 1897 63.13%
Check color contrast (e.g. contrastchecker.com) 667 22.20%
Screen reader (e.g. JAWS, Voiceover) 464 15.44%
Wave 285 9.48%
Other (please specify) 282 9.38%






Somewhat surprisingly, 63.13% of respondents did not use any tools.



22.20% of respondents said that they used the tool for checking color contrast, and only 15.44% - a screen reader.



I must say that these numbers leave an extremely depressing impression.



This survey does not show the reasons why people do not check barrier-free access to their sites / applications. But to see that two-thirds are not concerned about this issue is really sad, because everyone deserves access to the sites that we create.



Tools like Wave and Ax (mentioned by quite a few respondents in the Others section) are extremely easy to use, and I highly recommend evaluating them if you haven't already.



Let's hope that over time, developers will appreciate the value and simplicity of these tools, and their use will grow.



Question 26. JavaScript package managers



The penultimate question is related to JS package managers, and it sounded like this: which JavaScript package manager do you primarily use in your workflow?



Last year, NPM was the most popular package manager. But can the share of Yarn increase in the last 12 months?



Here's how the developers answered:



Answer Number of votes Share % difference (by 2018)
NPM 1965 65.39% + 2.00%
Yarn 895 29.78% โˆ’0.36%
I do not use the package manager 135 4.49% โˆ’1.24%
Other 10 0.33% โˆ’0.40%






Judging by the results, the share of NPM grew very slightly: now it is used by 65.39% of respondents.



Yarn also remained at about the same level, with a slight drop to 29.78%.



It seems that most developers are generally satisfied with NPM as a package manager, while there are no real changes in this category compared to last year's performance.



Question 27. Miscellaneous tools



In the last question, the level of knowledge of various front-end development tools was considered (some did not quite fit into any of the previous categories).



Respondents were asked: please indicate your experience with the following tools .

Never heard I heard / read Used a little I confidently use
NPM 0.43% (13) โˆ’0.41% 1.80% (54) โˆ’0.69% 10.75% (323) โˆ’1.14% 87.02% (2.615) + 2.24%
Yarn 3.29% (99) โˆ’2.95% 22.30% (670) โˆ’4.21% 23.79% (715) + 2.84% 50.62% (1,521) + 4.32%
Babel 2.70% (81) โˆ’1.07% 16.71% (502) โˆ’4.22% 30.98% (931) + 1.22% 49.62% (1,491) + 4.08%
Prettier 15.67% (471) โˆ’14.76% 21.60% (649) โˆ’8.03% 22.30% (670) + 6.25% 40.43% (1,215) + 16.53%
Yeoman 24.76% (744) + 5.63% 40.67% (1,222) โˆ’1.18% 26.69% (802) โˆ’3.07% 7.89% (237) โˆ’1.37%






Of these tools, most confidently own NPM (87.02%), Yarn (50.62%) and Babel (49.62%), for all these tools over the past year, an increase in the level of audience knowledge has been recorded.



Most of all over the year, the number of confident Prettier users increased: their share immediately increased one and a half times to 40.43%.



Yeoman's knowledge has declined slightly: the same trend was observed last year.



Summary



So, we have summed up another interesting year in the world of front-end tools!



In some areas, developers are clearly united around one tool. For example, ESLint for linting JavaScript, NPM scripts for performing tasks, and Webpack for linking modules.



Among JS frameworks and libraries, React maintained its position as the most important framework for developers, with respondents named Vue.js as the next most important JS framework / library. A large percentage of developers (21.66%) still do not see the need to use a single framework or library, because native JS is becoming more powerful every year.



The most shocking figure in the results of this year is related to testing barrier-free access, as many as 63.13% of respondents admitted that they did not use any tools to test their projects. Our industry should rectify the situation - not only because it is right from a moral point of view, but also from a legal point of view, as lawsuits are increasingly being filed .



Among CSS processors, Sass is still the most popular, and Bootstrap has fallen slightly in popularity. Most developers now prefer not to use any CSS frameworks in their projects.



The number of developers who use CSS linting and naming schemes this year has exceeded those not using: 53.21% for linting and 52.08% for naming schemes.



CSS-in-JS continues to grow at a steady pace, and 44.69% of developers now use such tools.



Apparently, the ongoing consolidation should be encouraging. It seems our tools are becoming more mature. As more powerful tools become available, the need to change them decreases. It seems that in the results we see evidence of this.



In most categories, clear leaders now stand out - several years ago this was not. This helps build knowledge. Developers of all levels find it easier to understand what to learn when choosing new tools. This is good for everyone.



All Articles