I slutet av 2016 slog jag ut 2016 Front-End Tooling Survey . Svaret har varit fenomenalt . Tack till er alla som har tagit tid att göra det.

Målet var ganska rakt framåt; För att få reda på mer detaljer om verktygen för utvecklingsverktyg används för närvarande i sina egna arbetsflöden. I vår bransch är det alltför lätt att ta för givet vad folk använder utifrån din egen kunskap. Denna undersökning syftar till att ge mer insikt om de nuvarande trenderna i front-end-verktyg från ett bredare perspektiv.

I år gjordes undersökningen av 19 frågor som täckte ett brett utbud av verktyg och metoder inom fronten.

Snabb tack

Denna undersökning skulle ha varit mycket svårare att sätta ihop utan stöd av Just Eat (min arbetsgivare) och Wes Bos, som har vänligt anslutit sig till denna årsundersökning, vilket har gjort det möjligt för mig att spendera mer tid på att analysera resultaten.

Wes är känt för att skapa bra läromedel för webbutvecklare. Hans kurser är ett bra ställe att börja om du vill lära dig mer om ämnen som Reagera och ES6 .

Svaren

Undersökningen i år har haft över 4 700 svar. I jämförelse, när jag släppte den första uppsättningen resultat 2015, hade undersökningen bara fått 648 svar som sedan steg till en slutgiltig siffra på 2 028 svar när undersökningen stängdes. Så det är nästan 2 och en halv gånger antalet svar i jämförelse med sista års sista nummer, eller en ökning med 132% för personer som gillar procentandelar.

När det gäller var svaren har kommit från, skrev jag undersökningen på Twitter, Reddit, HackerNews, DesignerNews, Echo.js, LinkedIn och Frontendfront. Det presenterades också av ett antal nyhetsbrev som Responsive Design Weekly, Sitepoint Weekly och FrontEnd Focus, bland andra.

Anledningen till att jag vill belysa dessa källor är att visa att det har funnits en god spridning av respons på olika kanaler. svarande har inte alla kommit från en social kanal.

Resultaten

Pre-amble ansvarsfriskrivning: Dessa resultat representerar ett urval av front-end utvecklare som arbetar i branschen - därför bör de inte tas som evangelium, helt enkelt som pekar mot en grov trend.

Så, utan vidare, låt oss ta en titt på resultaten! Ta dig en kopp te / kaffe och låt oss ta en titt ...

Q1: Allmänt Front-end Experience

Den första frågan jag frågade var att få en uppfattning om erfarenhetsnivån hos dem som svarade. något som inte registrerades i förra årets undersökning. Frågan var ungefär hur länge har du jobbat med avancerad teknik?

Här är resultaten:

Svar Röstetal Procentsats
0-1 år 232 4,92%
1-2 år 589 12,49%
2-5 år 1508 31,98%
5-10 år 1323 28,06%
10-15 år 673 14,27%
Över 15 år 390 8,27%
Grovt hur länge har du jobbat med avancerad teknik? - Cirkeldiagram som visar resultaten

Majoriteten av respondenterna sa att de har arbetat med avancerad teknik för 2-5 år eller 5-10 år, vilket tillsammans utgjorde 60,04% (2831) av svaren.

Intressant är att det finns en mycket jämn delning mellan de som har arbetat med fronten i upp till 5 år (49,39%) jämfört med dem med över 5 års erfarenhet (50,6%). Positivt innebär detta att resultaten av undersökningen kommer från en ganska jämn fördelning av erfarenhetsnivåer.

Q2: CSS Kunskap

Den andra frågan var ett subjektivt utseende på hur respondenterna bedömde sin egen kunskap om CSS.

Det är självklart att den här frågan är ganska relativ, eftersom det kan tolkas annorlunda av varje respondent, liksom att åberopa en blygsamhet när det gäller att betygsätta din egen färdighetsnivå - men det är inte desto mindre intressant att se resultaten!

Frågan var Hur utvärderar du din egen kunskap om CSS och dess tillhörande verktyg och metoder?

Så här ser svaren ut:

Nivå Röstetal Procentsats
Nybörjare 78 1,65%
Nybörjare (mellan nybörjare och mellanliggande) 424 8,99%
Mellanliggande 1243 26,36%
Avancerad (mellan mellanliggande och expert) 2203 46,72%
Expert 767 16,27%
Hur betygsätter du din egen kunskap om CSS och dess tillhörande verktyg och metoder? - Cirkeldiagram som visar resultaten

När man tittat på resultaten, bedömde 89,36% (4,213) av respondenterna att ha en mellanliggande nivå av CSS-kunskap eller högre, med de flesta - 46,72% (2 203) - säger att de är på avancerad nivå. Bara 16,27% (767) av respondenterna bedömde sig ha expertkunskap.

När man gräver lite djupare in i dessa resultat och filtrering baserat på svaren på fråga 1, har de som har upp till 12 månaders erfarenhet av att arbeta med avancerade teknologier 10% bedömt sig ha avancerad kunskap om CSS eller högre (även om ingen- en i denna underkategori bedömde sig som expert). Den procentdelen ökade till 22% för de svarande med upp till 2 års erfarenhet.

Detta kan tolkas på olika sätt, men det verkar vara en relativt hög andel med tanke på den korta tid de har spenderat att arbeta med CSS. Det kan också återspegla hur CSS ofta kan uppfattas som enklare att lära sig jämfört med andra språk som JavaScript - något som jag inte nödvändigtvis skulle hålla med när det gäller att lära sig språkens komplexa och nyanser och metoder.

Vi ser till att hänvisa till dessa resultat i följande frågor.

Q3: Användning av CSS-processor

Nästa fråga var den första teknikspecifika frågan, frågar Vad är ditt CSS-bearbetningsverktyg av val?

Denna fråga ställdes om senaste årens undersökning, med Sass som val för majoriteten av utvecklare tillbaka 2015. De möjliga svaren inkluderade alla tillgängliga i fjol plus tillägget av PostCSS och Rework, ytterligare två modulära CSS-processorer.

Resultaten nedan visar också procentuell skillnad mellan årets och föregående års resultat, där det är tillämpligt.

Preprocessor Röstetal Procentsats % Diff (till 2015)
sass 2989 63,39% -0,56%
Mindre 478 10,14% -5,05%
Nål 137 2,91% -0,84%
PostCSS 392 8,31% N / A
Göra om 3 0,06% N / A
Ingen förbehandlare 643 13,64% -1,4%
Andra 73 1,55% -0,52%
Vad är ditt CSS-bearbetningsprogram? - Cirkeldiagram som visar resultaten

Ser man på resultaten är Sass fortfarande CSS-bearbetningsverktyget för de flesta svarande med 63,39% . Jämfört med senaste års resultat har Mindre användning sjunkit något till 10,14% (ner 5,05%).

PostCSS visade god tillväxt med 8,31% av de svarande som sa att de använde den exklusivt. Det är sannolikt att användningen är något högre i verkligheten eftersom det inte står för de svarande som använder det i kombination med ett annat bearbetningsverktyg.

Intressant är andelen svarande som inte använder något CSS-bearbetningsverktyg sjunkit till 13,64%, ner från 15,04% år 2015. Detta förstärker hur CSS-bearbetning nu är en viktig färdighet i modern front-end-utveckling och en som majoriteten (86,36 %) av avancerade utvecklare använder för närvarande i sina egna arbetsflöden.

Q4: CSS Processor Experience

Efter den sista frågan ville jag få veta mer om kunskapsnivåer över CSS-bearbetningsverktyg med respondenterna ombedda att ge sina erfarenheter i var och en.

Så här svarade folk när du frågade - Ange din erfarenhet med följande CSS-bearbetningsverktyg :

Aldrig hört talas om Hört om / läst om Används lite Känn bekvämt att använda
Sass - Standard eller SCSS-syntax 0,57% (27) 11,11% (524) 17,16% (809) 71,16% (3,355)
Mindre 0,81% (38) 30,86% (1,455) 33,32% (1 571) 35,02% (1,651)
Nål 24,22% (1,142) 57,26% (2 700) 11,11% (524) 7,40% (349)
PostCSS 21,76% (1,026) 45,37% (2,139) 18,73% (883) 14,15% (667)
Göra om 78,43% (3,698) 20,17% (951) 0,91% (43) 0,49% (23)
Ange din erfarenhet med följande CSS-bearbetningsverktyg - stapeldiagram som visar resultaten

Verktyget med högsta kunskapsnivå var Sass ganska långt, 71,1% av respondenterna sa att de kände sig bekväma med att använda den. I själva verket hade bara 11,68% av dem aldrig använt det, med bara 0,57% (27 personer) har aldrig hört talas om det alls. När man tittar på detta tillsammans med resultaten från fråga 3 dominerar Sass tydligt när det gäller både användnings- och kunskapsnivåer över CSS-bearbetningsverktygen.

Med tanke på de andra verktygen sade 35,02% av de svarande att de kände sig bekväma med att använda Less, följt av 14,15% som sa detsamma med avseende på PostCSS. Intressant har detta nummer nästan fördubblats från de 7,15% av de svarande som sa att de kände sig bekväma med PostCSS i senaste årsundersökningen, vilket visar en uppåtgående trend i kunskap om verktyget.

Q5: CSS Naming Schemes

Nästa fråga var ett område med CSS som jag har mycket intresse för - CSS Naming Schemes. Efter att ha använt ett namngivningssystem i mitt eget arbete i ett antal år nu, var jag intresserad av att se om detta var något som andra utvecklare av framsidan hade antagit.

Frågeställningen var - Använder du namngivningsschema när du skriver CSS, som BEM eller SUIT?

Svar Röstetal Procentsats
Ja 2170 46,02%
Nej - Jag har hört talas om CSS namngivningssystem men använder inte en 1731 36,71%
Nej - Jag har aldrig hört talas om CSS namngivningssystem 814 17,26%
Använder du namngivningsschema när du skriver CSS, t.ex. BEM eller SUIT? - Cirkeldiagram som visar resultaten

Resultaten visar en ganska jämn delning, även om knappt hälften av de svarande (46,02%) sa att de använder ett CSS-namngivningssystem jämfört med dem som sa att de inte gjorde det (53,98%).

Det är uppmuntrande att övergripande 82,73% (3 901) av de svarande åtminstone hört talas om CSS-namnordningar, men 36,71% (1,731) hade ännu inte använt en.

Som du kan förvänta dig, när du tittar på de svarande som betygsatte sig som en avancerad nivå av CSS-kunskap eller högre, ökade användningen av CSS-namngivningssystem till 56,94%. Detta jämförs med en användning av bara 27,47% bland de som betygsatta sig som mellanliggande eller lägre.

CSS namngivningssystem är ett verktyg som jag tror kommer att fortsätta att växa i användningen, så det blir intressant att se hur dessa siffror förändras i framtiden.

Q6: CSS Linting

Nästa upp var CSS Linting - är det ett verktyg som många utvecklare använder i sina arbetsflöden?

Jag frågade Användar du ett verktyg för att fästa din CSS?

Resultaten var som följer:

Svar Röstetal Procentsats
Ja 2232 47,34%
Nej - Jag limmar inte min CSS 2483 52,66%
Användar du ett verktyg för att lina din CSS? - Cirkeldiagram som visar resultaten

Liksom den tidigare frågan var det en ganska jämn delning med 47,34% (2 232) av de svarande som säger att de använder ett verktyg för att fästa sin CSS, jämfört med 52,66% (2 483) av dem som inte gör det.

Inte överraskande, dessa siffror stiger också när vi tittar på de respondenterna med mer avancerad kunskap i CSS. 52,42% av de svarande som bedömde sig ha avancerad eller högre kunskap om CSS sa också att de linted deras CSS, jämfört med bara 38,70% av dem med nybörjare till mellanliggande kunskaper.

CSS-linting är fortfarande relativt ny när det gäller verktyg och användning, speciellt jämfört med den tid som JavaScript-linting har funnits. Eftersom bättre verktyg, som Stylelint, fortsätter att upptäckas av utvecklare, förväntar jag mig att användningen växer, eftersom detta område av CSS-verktyg matas.

Q7: CSS Tool Experience

De tre följande frågorna i undersökningen täckte kunskapsnivåerna och användningen över ett antal CSS-verktyg och metoder. För det första fråga 7 frågade respondenterna Ange din erfarenhet med följande CSS-verktyg .

Låt oss titta på resultaten:

Aldrig hört talas om Hört om / läst om Används lite Känn bekvämt att använda
Autoprefixer 18,28% (862) 17,18% (810) 15,93% (751) 48,61% (2 292)
Susy 55,02% (2,594) 29,78% (1,404) 9,69% (457) 5,51% (260)
Modernizr 6,64% (313) 22,93% (1 081) 37,96% (1,790) 32,47% (1,531)
Stylelint 54,68% (2,578) 24,35% (1,148) 10,39% (490) 10,58% (499)
Ange din erfarenhet med följande CSS-verktyg - stapeldiagram som visar resultaten

Av dessa var Autoprefixer, med 48,61% (2,292), CSS-verktyget som de flesta respondenter kände sig bekväma att använda, följt av Modernizr (32,47%), Stylelint (10,58%) och slutligen Susy (5,51%).

Men när man utvidgade detta till att inkludera de respondenter som hade använt verktyget lite kom Modernizr ut med 70,43% jämfört med 64,54% av de svarande som sa att de åtminstone har lite erfarenhet av att använda Autoprefixer.

Majoriteten av respondenterna sa att de aldrig hade hört talas om Stylelint (54,68%), ett CSS Linting-verktyg och Susy (55.02%), ett Sass-layoutverktyg.

Intressant är att en hög andel av respondenterna som betygsatta sig som avancerade eller högre i CSS och dess verktyg hade aldrig hört talas om dessa två verktyg - 46,53% för Stylelint och 45,52% för Susy. Jag tror att det här illustrerar hur svårt det kan vara för utvecklare av någon erfarenhetsnivå, än mindre nybörjare, att hålla reda på de verktyg som är tillgängliga för oss alla.

Q8: CSS-metodik och namngivningssystemserfarenhet

Denna nästa fråga följde på från den sista genom att fråga respondenterna Ange din erfarenhet med följande CSS-metoder .

Resultaten såg ut så här:

Aldrig hört talas om Hört om / läst om Används lite Känn bekvämt att använda
SMACSS 40,57% (1,913) 33,91% (1 599) 14,74% (695) 10,77% (508)
Objektorienterad CSS (OOCSS) 28,27% (1,333) 41,80% (1,971) 17,77% (838) 12,15% (573)
Atomic Design 41,53% (1,958) 33,74% (1,591) 14,34% (676) 10,39% (490)
ITCSS 68,34% (3,222) 22,38% (1,055) 4,50% (212) 4,79% (226)
CSS-moduler 27,42% (1,293) 44,77% (2,111) 15,95% (752) 11,86% (559)
BEM 24,90% (1,174) 23,52% (1,109) 18,49% (872) 33,09% (1,560)
SUIT CSS 69,42% (3,273) 24,14% (1,138) 3,90% (184) 2,55% (120)
Ange din erfarenhet med följande CSS-metoder - Stångdiagram som visar resultaten

Av dessa var BEM - ett CSS namngivningssystem - det mest kända med 33,09% av respondenterna som sa att de kände sig bekväma att använda den. Den här siffran stiger till 51,58% av de svarande när de inkluderar de som sa att de har använt den lite.

Förvånansvärt (åtminstone åtminstone) är kunskapen om många av de mest kända CSS-metoderna ganska låg. Bara 29,92% av utvecklarna sa att de har använt OOCSS antingen lite eller känner sig bekväma med att använda den i sina projekt, med 27,81% säger samma för CSS-moduler, 25,51% för SMACSS och 24,73% för Atomic design.

Även bland dem med avancerad eller expertkunskap om CSS bryter ingen av dessa metoder 20% -märkningen när det gäller antalet svarande som sa att de kände sig bekväma med att använda dem.

Att gräva in i svaren visar lite mer att mindre än en tredjedel (29,20%) av respondenterna känner sig bekväma med minst en av de listade CSS-metoderna, så det är något av SMACSS, OOCSS, Atomic Design, ITCSS och CSS Modules. Detta stiger till 55,02% av de svarande om vi anser de som säger att de har använt någon av dessa metoder åtminstone lite.

Innan vi gör fler slutsatser från dessa resultat, låt oss också ta en titt på fråga 9, som är nära besläktad.

Q9: Användning av CSS-verktyg

Avrunda undersökningens frågor om CSS, frågade jag svarande Vilka av dessa CSS-metoder eller verktyg använder du för närvarande på dina projekt?

Här är resultaten:

Verktyg / Metodik Röstetal Procentsats
SMACSS 613 13,00%
Objektorienterad CSS (OOCSS) 696 14,76%
Atomic Design 680 14,42%
ITCSS 248 5,26%
CSS-moduler 740 15,69%
BEM 1905 40,40%
SUIT CSS 111 2,35%
Autoprefixer 2414 51,20%
Susy 237 5,03%
Modernizr 1828 38,77%
Stylelint 682 14,46%
Jag använder inte någon av dessa metoder eller verktyg 1095 23,22%
Vilken av dessa CSS-metoder eller verktyg använder du för närvarande på dina projekt? - Stångdiagram som visar resultaten

Överst i form av faktisk användning var Autoprefixer (51,20%), följt av BEM (40,40%) och Modernizr (38,77%), som alla såg bra användningsnivåer från respondenterna.

Även om de enskilda användningsnivåerna för CSS-metoder är blygsamma - även bland dem som angav avancerad erfarenhet av CSS - när man tittat på användningen över dem alla, sa 41,21% av de svarande att de använde minst en av SMACSS, OOCSS, Atomic Design, ITCSS eller CSS Moduler på sina projekt.

Det är också lite överraskande, på grund av den relativa nyheten av tillvägagångssättet, att se att användningen av CSS-moduler har högre användning än någon av de andra CSS-metoderna.

För mig anger de relativt låga användningsnivåerna - och kunskapsnivåerna från fråga 8 - över CSS-metoderna två saker. Mångfalden sätt att människor skriver sin CSS är väldigt bred - det finns ingen metod som utvecklare verkar dragen när det gäller att skriva sin CSS.

För det andra anser svaret att ett stort antal front-end-utvecklare svarar för att ha en avancerad kunskap om CSS när de inte har kännedom om några av de mest kända CSS-metoderna. Att lära sig olika sätt att skriva CSS (som SMACSS, OOCSS och ITCSS) hjälper till att ge ett bättre perspektiv på hur du strukturerar dina egna stilar - oavsett om du väljer att använda dem eller inte i ditt eget arbetsflöde.

CSS kan vara ett enkelt språk på ytan, men det kan vara komplext att behärska och förstå.

Q10: JavaScript Kunskap

Den andra halvan av undersökningen fokuserade på JavaScript och det är ekosystem av verktyg.

Först upp frågade jag svarande Hur utvärderar du din egen kunskap om JavaScript och dess tillhörande verktyg och metoder?

Dessa var resultatet:

Kunskap Röstetal Procentsats
Nybörjare 197 4,18%
Nybörjare (mellan nybörjare och mellanliggande) 553 11,73%
Mellanliggande 1555 32,98%
Avancerad (mellan mellanliggande och expert) 1684 35,72%
Expert 726 15,40%
Hur betygsätter du din egen kunskap om JavaScript och dess tillhörande verktyg och metoder? - Cirkeldiagram som visar resultaten

Svaren visade en liknande fördelning över kunskapsnivåer till de som ses i förhållande till CSS. Huvud undantaget kommer i antal svarande som betygsatta sig som en avancerad kunskap om JavaScript, vilket är 35,72%.

Som jämförelse bedömde 51,12% av respondenterna att de antingen hade en avancerad expertnivå på JavaScript-kunskap, jämfört med 62,99% av de svarande som sa detsamma i förhållande till deras kunskaper om CSS.

Q11: Uppgiftslöpare

Aktivitetslöpare har blivit en väldigt viktig del av många utvecklingsflöden från många utvecklare. Men har detta område förändrats mycket under de senaste 12 månaderna, eller har användningen varit konsekvent över verktyg och metoder?

Frågan som svarandena ställdes till var Vilken uppdragsrunner föredrar du att använda i ditt typiska projekt arbetsflöde?

Låt oss ta en titt på resultaten - om möjligt har jag inkluderat procentuell förändring från senaste års undersökning:

Task Runner Röstetal Procentsats % Diff (till 2015)
Klunk 2060 43,69% -0,1%
NPM-skript 1223 25,94% + 22,78%
Grymta 554 11,75% -15,81%
Göra 54 1,15% N / A
GUI-applikation (dvs. kodkod) 93 1,97% N / A
Övrigt (var vänlig specificera) 214 4,54% -0,34%
Jag använder inte en arbetslöpare 517 10,97% -8,56%
Vilken uppgift löpare föredrar du att använda i ditt typiska projekt arbetsflöde? (om någon) - Pie Chart som visar resultaten

Tittar på resultaten är Gulp fortfarande den tydliga ledaren när det gäller front-end-uppdragsrutter med 43,69% (2,060) svar.

Den största rörelsen är i användningen NPM Scripts, som fick en 25,94% (1 233) del av svaret, vilket gör det till det näst mest använda arbetsredskapet. Det är en ökning med 22,8% jämfört med föregående års siffror. Detta tyder på att fler front-end-utvecklare försöker förenkla sina bygguppgifter och ta bort abstraktionsskiktet som verktyg som Gulp och Grunt tillhandahåller.

Under tiden har Grunt sett en betydande nedgång i bruk, med bara 11,75% av de svarande som säger att de föredrar att använda verktyget - ett fall på över 15% från 2015.

Intressant är att antalet svarande som inte använder någon uppdragsrörelse har fallit till bara 10,97% - ner från 19,5% förra året - vilket visar att den överväldigande majoriteten av utvecklare i framkant nu använder sig av ett uppdragsverktyg för sina projekt.

Q12: Kunskap om JavaScript-bibliotek och ramverk

Detta var en av de frågor som jag mest fram emot att se svaren på. Hur har kunskapsnivåer över de mest populära JavaScript-biblioteken och ramarna förändrats under det senaste året?

Vid tiden för 2015-undersökningen var React en relativ nykomling som fortfarande vinner på Angular. Sedan dess har Angular-teamet släppt version 2 av ramen, men har utvecklare börjat migrera över?

Så här visar resultaten:

Aldrig hört talas om Hört om / läst om Används lite Känn bekvämt att använda
jQuery 0,11% (5) 0,85% (40) 12,17% (574) 86,87% (4,096)
UNDERSTRYKNING 10,22% (482) 28,12% (1,326) 24,41% (1,151) 37,24% (1,756)
Lodash 15,89% (749) 26,70% (1,259) 19,75% (931) 37,67% (1,776)
Ryggrad 4,31% (203) 58,13% (2,741) 23,01% (1,085) 14,55% (686)
Vinkel 1 0,66% (31) 40,21% (1,896) 30,43% (1,435) 28,70% (1,353)
Vinkel 2 0,89% (42) 73,59% (3,470) 20,19% (952) 5,32% (251)
Glödande kol 3,75% (177) 78,41% (3,697) 11,71% (552) 6,13% (289)
Reagera 0,76% (36) 42,29% (1,994) 28,04% (1,322) 28,91% (1,363)
Polymer 13,55% (639) 72,68% (3,427) 11,75% (554) 2,01% (95)
Aurelia 43,71% (2,061) 50,03% (2,359) 3,20% (151) 3,05% (144)
Vue.js 14,68% (692) 66,55% (3,138) 13,11% (618) 5,66% (267)
MeteorJS 9,59% (452) 75,91% (3,579) 11,69% (551) 2,82% (133)
Knockout 16,14% (761) 66,62% (3,141) 11,33% (534) 5,92% (279)
Ange vilka JavaScript-bibliotek och / eller ramverk du har erfarenhet av - Bardiagram som visar resultaten

Liksom i föregående år är jQuery fortfarande biblioteket eller ramverket med den högsta andelen svarande - 86,87% (4,096) - som sa att de kände sig bekväma med det. Faktum är att över 99% av de svarande sa att de hade använt det åtminstone lite, vilket är ganska anmärkningsvärt för något verktyg.

Både Underscore (37,24%) och Lodash (37,67%) hade också ett stort antal svarande som sa att de kände sig bekväma med att använda dem.

När man tittar på de stora träffande JS-ramarna är tillväxten i kunskap om React den mest märkbara förändringen från förra året. Det har inte bara kommit ihop med Angular 1 (den ledande MVW-ramen förra året), men det har lyckats att överträffa det, med 28,91% (1 363) utvecklare säger att de känner sig bekväma med att använda den jämfört med 28,70% (1,353) av dem som sa detsamma om Angular 1.

Det är också intressant att se att Angular 2-upptaget har varit ganska långsamt hittills, med 20,19% av de svarande som säger att de hade använt det lite men bara 5,32% sa att de kände sig bekväma med det. Jag skulle misstänka att det här antalet kommer att växa över tiden, men det blir intressant att se hur mycket och om det når den nivå som Angular 1 har för närvarande.

Titta på kunskapsnivåer över MV * -ramarna - så allt i listan utom jQuery, Underscore och Lodash - 62,23% av respondenterna sa att de kände sig bekväma med minst en av dessa ramar. Det är drygt drygt 12% (från 50,2%) som sa detsamma under senaste årens undersökning.

Som jag noterade förra året har kunskap om minst ett ramverk blivit en viktig färdighet för många utvecklare på framsidan.

Q13: Vilka JavaScript-bibliotek och / eller ramverk använder du för närvarande oftast på projekt?

Den nästa frågan hänvisade till den faktiska användningen av de bibliotek och ramar som anges i föregående fråga.

Frågan var, Vilka JavaScript-bibliotek och / eller ramverk använder du för närvarande oftast på projekt? med respondenterna inbjudna att välja allt som tillämpades.

Här är resultaten:

Röstetal Procentsats
jQuery 3284 69,65%
UNDERSTRYKNING 714 15,14%
Lodash 1527 32,39%
Ryggrad 301 6,38%
Vinkel 1 1180 25,03%
Vinkel 2 387 8,21%
Glödande kol 280 5,94%
Reagera 1776 37,67%
Polymer 87 1,85%
Aurelia 154 3,27%
Vue.js 456 9,67%
MeteorJS 115 2,44%
Knockout 156 3,31%
Jag använder inte någon av dessa metoder eller verktyg 132 2,80%
Vilka JavaScript-bibliotek och / eller ramverk använder du för närvarande oftast på projekt? - Stångdiagram som visar resultaten

jQuery-användningen var återigen mycket stark, med över två tredjedelar (69,65%) av de svarande som sa att de ofta använde det på sina projekt.

Förmodligen mer intressant är att 37,67% (1 776) av de svarande sa att de ofta använder React, trots att det är nästan 10% mer än antalet som sa att de kände sig bekväma med att använda den när de svarade på fråga 12. Det kan därför konstateras att en anständigt antal av dem som sa att de har använt det bara lite använder det ofta på sina projekt.

I överensstämmelse med resultaten från fråga 12 var Angular 1 sägs att användas ofta av 25,03% (1 180) av respondenterna, medan Angular 2 för närvarande ligger långt under denna siffra med 8,21% (387) användning.

Även om kunskapsnivåerna liknade Lodash och Underscore i resultaten från fråga 12, fick Lodash mer än dubbelt så många svarande som sa att de fortfarande använder det ofta på sina projekt - 32,39% (1 527) jämfört med bara 15,14% (714) för Underscore.

Också ett anmärkningsvärt omnämnande till Vue.js, som nyligen har nämnts mycket, med 9,67% av de svarande som säger att de ofta använder sig av sina projekt.

Q14: Vilket JavaScript-bibliotek eller ramverk skulle du betrakta som nödvändig för dig på majoriteten av dina projekt?

Fråga 14 tittade på vilket JavaScript-bibliotek eller rambesvarande ansågs vara deras viktigaste verktyg, med frågan Vilket JavaScript-bibliotek eller ramverk skulle du betrakta som nödvändig för dig på majoriteten av dina projekt?

Låt oss ta en titt på resultaten:

Röstetal Procentsats
Ingen av dem är nödvändig - Jag känner mig bekväm med att använda inbyggd JavaScript på mina projekt 985 20,89%
jQuery 1468 31,13%
UNDERSTRYKNING 38 0,81%
Lodash 262 5,56%
Ryggrad 38 0,81%
Vinkel 1 386 8,19%
Vinkel 2 129 2,74%
Glödande kol 178 3,78%
Reagera 857 18,18%
Polymer 16 0,34%
Aurelia 113 2,40%
Vue.js 148 3,14%
MeteorJS 8 0,17%
Knockout 17 0,36%
Övrigt (var vänlig specificera) 72 1,53%
Vilket JavaScript-bibliotek eller ramverk anser du vara avgörande för dig på de flesta av dina projekt? - Stångdiagram som visar resultaten

De verktyg som de flesta svarande sade var avgörande för dem var jQuery med 31,13% (1 468 svar), följt av React som fick 18,18% (857) av omröstningen.

20,89% (985) av de svarande sa att de inte trodde att något bibliotek eller verktyg var nödvändigt - troligen på grund av ökad kunskap om ES6 (även känd som ES2015).

Dessa var de enda svaren som fick mer än 10% av rösterna, med Angular 1 det näst största valet med 8,19% (386) av svaren.

Kanske mest intressant är att jQuery fortfarande är det mest populära valet med 25,98% av svaren i den här kategorin, bland dem som betygsatt sig på JS-kunskap eller högre, jämfört med 20,06% för nästa närmaste verktyg som är React.

Det är uppenbart att jQuery fortfarande spelar en viktig roll i många verktygsverktyg för avancerade utvecklare.

Q15: JavaScript-modulbuntrar

Med tanke på resultaten från senaste årsundersökningen var JavaScript-modulbuntare fortfarande ett verktyg som används av en minoritet av utvecklare av framsidan, med bara 46,1% av de svarande som säger att de använde en i sitt eget arbetsflöde.

Kommer detta att ha förändrats drygt 12 månader? Frågan du frågade var Används en JavaScript-modulbunt i ditt arbetsflöde?

Låt oss ta en titt på resultaten:

Modul Bundler Röstetal Procentsats % Diff (till 2015)
Jag använder inte en modulbuntare 1516 32,15% -21,75%
RequireJS 359 7,61% -5,85%
Browserify 510 10,82% -5,65%
Webpack 1962 41,61% + 31,11%
Rulla upp 79 1,68% N / A
JSPM 108 2,29% + 0,07%
Övrigt (var vänlig specificera) 181 3,84% + 0,39%
Använder du en JavaScript-modulbunt i ditt arbetsflöde? - Cirkeldiagram som visar resultaten

I ett kraftigt skifte från förra året använder 41,61% (1 962) av respondenterna nu Webpack för att hantera deras modulbuntning i JavaScript, vilket gör den till tydlig ledare i denna kategori.

Procentandelen av de som nu använder någon form av modulbuntare har ökat till 67,85% (3,199 svar), en ökning med över 20% jämfört med föregående års siffror.

När det gäller andra modulbuntningsverktyg har både Browserify och RequireJS båda sett en minskning av användningen med 5%, med 10,82% och 7,61% av respondenterna säger att de använder dessa respektive verktyg.

Sammantaget är det bra att se så många utvecklare som omfattar modulbuntrar. Webpack har uppenbarligen slog ett riktigt ackord med utvecklare och betraktas nu som go-to-verktyget när det gäller hantering av JavaScript-modulberoende.

Q16: JavaScript Transpilers

Nästa fråga i undersökningen är ett ämne som har pratats mycket om de senaste 12-18 månaderna.

Användningen av en JS-transpiler, som Babel, gör det möjligt för utvecklare att transpilera deras JavaScript från ES6 (ES2015) tillbaka till ES5 så att de kan använda de senaste JS-funktionerna samtidigt som de ger stöd för äldre webbläsare.

Frågan jag frågade var Användar du ett verktyg för att transpilera din JavaScript från ES6 till ES5? (dvs Babel)

Här är resultaten:

Svar Röstetal Procentsats
Ja 2942 62,40%
Nej - Jag har hört talas om dessa verktyg, men har inte använt en 1443 30,60%
Nej - Jag har aldrig hört talas om en JavaScript-transpiller 330 7,00%
Använder du ett verktyg för att transpilera din JavaScript från ES6 till ES5? - Cirkeldiagram som visar resultaten

Majoriteten - 62,40% (2 942) av respondenterna angav att de nu använder en JavaScript-transpiller. Med tanke på den korta tiden som dessa verktyg har funnits, visar detta bara hur värdefulla utvecklare ser att arbeta med ES6-funktioner idag.

Endast 7% (330) av de svarande hade aldrig hört talas om en JavaScript-transpiller, vilket återigen visar den anmärkningsvärda räckvidden som uppnåtts på ett relativt kort tidsrymd.

Tittar på dessa resultat är det enkelt att dra slutsatsen att kunskap om ett transpilationsverktyg, såsom Babel, blir en nödvändig färdighet för den moderna fronten-utvecklaren.

Q17: JavaScript Linting

JavaScript Linting, en gång ett polariserande ämne, är nu inbyggt i många utvecklingsarbeten. Men hur många människor använder en och är det en tydlig ledare bland verktyg som utvecklare använder sig av?

Frågan jag frågade var Vilket verktyg använder du för att linta ditt JavaScript? (om någon)

Här är resultaten:

Verktyg Röstetal Procentsats
Jag använder inte en JavaScript-linter 1076 22,82%
JSLint 894 18,96%
JSHint 657 13,93%
ESLint 1927 40,87%
puss kram 24 0,51%
Övrigt (var vänlig specificera) 137 2,91%
Vilket verktyg använder du för att lint ditt JavaScript? - Cirkeldiagram som visar resultaten

Majoriteten av respondenterna - 77,18% (3,639 personer) - angav att de använder ett verktyg för att linta deras JavaScript.

Att jämföra detta med de resultat som tidigare visats i förhållande till CSS-linting är ett uppenbart gap mellan de som väljer att linta sina JavaScript och de som gör detsamma med deras CSS - en skillnad på 29,84% i själva verket som bara 47,34% av de svarande indikerat att de använde ett verktyg för att lina deras CSS.

40,87% (1 927) av respondenterna sade att ESLInt var det verktyg de använde, vilket gjorde det till det mest populära lintverktyget, följt av JSLint med 18,96% (894) och JSHint med 13,93% (657).

Det är fantastiskt att se att linting nu anses vara normen när man utvecklar JavaScript, särskilt med tanke på fördelarna med kodkvalitet och konsistens.

Q18: JavaScript-testning

Nästa ämne gav några av de mest intressanta resultaten i undersökningen förra året.

Förra året uppgav majoriteten av respondenterna - 59,66% - att de inte använde ett verktyg för att hjälpa till att testa deras JavaScript. Är fler utvecklare som använder JS-testverktyg ett år?

Frågan jag frågade var Vilket verktyg använder du för att testa din JavaScript? (om någon)

Let's take a look at the results:

Tool Number of Votes Percentage % Diff (to 2015)
I don't use a tool to test my JS 2,241 47.53% -12.13%
Jasmin 802 17.01% +0.64
Mocha 1,061 22.50% +7.46%
Tape 69 1.46% -0.02%
Ava 84 1.78% N / A
QUnit 199 4.22% +0.37%
Jest 164 3.48% +2.69%
Other (please specify) 95 2.01% +0.33%
Which tool do you use to test your JavaScript? – Pie Chart showing the results

Looking at the results, the figures show some changes since last years survey.

The split between those who test and those who don't is now pretty even, with 47.53% (2,241) of respondents saying that they don't use a tool to help with their JavaScript testing. This figure is down 12.13% from last year.

This means that the majority of respondents – 52.47% (2,474) – are using a tool to test their JavaScript. This indicates that more front-end developers are seeing the benefits of learning and using a tool to test their JavaScript, which – I personally think – is great news.

Of those testing their JS, the most popular tools were Jasmine, with 17.01% of the responses, and Mocha, with 22.50%. Mocha has seen the biggest gains, with a usage rise of 7.46% on last years figures, making it the most popular testing tool.

Jest also saw a 2.69% rise in usage, with 3.48% (164) of respondents saying that they now use it as their primary JS testing tool.

All in all, I think this shows a positive step from last years figures on JavaScript testing, but there is clearly more work to be done to reduce the gap in knowledge of testing tools among front-end developers.

Q19: Miscellaneous Tools

The final question of the survey was to find out more information on tools that don't quite fit into the questions that have been asked so far.

The list this year consisted of package management tools – Bower, NPM and Yarn – as well as Babel, a popular JS transpilation tool, Yeoman and TypeScript.

Respondents were asked to Please indicate your experience with the following front-end tools .

Here is how people responded:

Never Heard of Heard of/Read About Used a little Feel Comfortable Using
Bower 2.52% (119) 21.34% (1,006) 33.96% (1,601) 42.18% (1,989)
NPM 1.76% (83) 4.01% (189) 14.15% (667) 80.08% (3,776)
Yarn 21.40% (1,009) 50.56% (2,384) 14.32% (675) 13.72% (647)
Babel 7.15% (337) 29.20% (1,377) 24.16% (1,139) 39.49% (1,862)
Yeoman 11.56% (545) 41.53% (1,958) 33.47% (1,578) 13.45% (634)
TypeScript 6.68% (315) 60.87% (2,870) 19.53% (921) 12.92% (609)
Please indicate your experience with the following front-end tools – Bar Chart showing the results

The most well-known tools in this list were NPM, with a huge 80.08% of respondents saying that they feel comfortable using it, Bower with 42.18% and Babel with 39.49%.

It's interesting to see that although Yarn has only been around a few months, 78.6% of respondents had at least heard of it or used it in some way.

The number of respondents who felt comfortable using Yeoman, TypeScript and Yarn was fairly low, with these tools receiving between 12-14% in that category.

Sammanfattning

So that's it – you made it through! But what conclusions can we make from the survey overall?

As with last years results, the adoption rate of front-end tools shows no signs of letting up, with tools such as Webpack and JavaScript transpilers becoming ever more essential in our workflows.

Although there has been a lot of talk about front-end developers moving away from using jQuery, the results show that usage and knowledge levels are still unrivalled in comparison with any other JavaScript tool of it's kind.

The great news is that more people seem to be using a JavaScript testing tool than not, showing that more front-end developers are embracing the value that these tools provide.

Looking specifically at CSS, the adoption of methodologies, linting and naming schemes seems to be a bit slower. This is most noticeable when comparing the number of respondents linting their CSS compared to those doing the same with their JavaScript.

Whether this is down to developers seeing less value in investing their time in learning these tools is unclear. I'd encourage anyone reading this to put the time into learning some of the more popular CSS methodologies and tools such as SMACSS, OOCSS, CSS Modules and BEM. They really do help broaden your knowledge of CSS in terms of learning ways to structure and maintain your CSS, so that you can then choose the approach that best works for you.

If anyone has any questions about any of the results, or would like me to look at other cross sections of the responses, message me on Twitter and I'll do my best to help!

Originally published here , republished with the writer's permission.