I slutten av 2016 satte jeg ut 2016 Front-End Tooling Survey . Responsen har vært fenomenal . Takk til dere alle som har tatt deg tid til å gjøre det.

Målet var ganske rett fremover; for å finne ut mer om verktøylinjenes utviklere bruker verktøyene i sin egen arbeidsflyt. I vår bransje er det alt for enkelt å ta for gitt hva folk bruker, basert på egen kunnskap. Denne undersøkelsen tar sikte på å gi mer et innblikk i dagens trender i frontend-verktøy fra et bredere perspektiv.

I år ble undersøkelsen utarbeidet av 19 spørsmål som dekker et bredt spekter av verktøy og metoder.

Rask takk

Denne undersøkelsen ville vært mye vanskeligere å sette sammen uten støtte fra Just Eat (min arbeidsgiver) og Wes Bos, som har hatt god tilknytning til denne årsundersøkelsen, noe som har gjort det mulig for meg å bruke mer tid på å analysere resultatene.

Wes er kjent for å skape gode læringsmateriell for webutviklere. Hans kurs er et flott sted å starte hvis du ønsker å lære mer om emner som Reagere og ES6 .

Svarene

Denne årsundersøkelsen har hatt over 4.700 svar. Til sammenligning, da jeg ga ut det første settet med resultater i 2015, hadde undersøkelsen bare mottatt 648 svar, som deretter steg til en endelig tall på 2.028 svar når undersøkelsen avsluttet. Så det er nesten 2 og en halv ganger antall svar i forhold til siste års siste tall, eller en økning på 132% for folk som liker prosentandeler.

I forhold til hvor svarene er kommet fra, postet jeg undersøkelsen på Twitter, Reddit, HackerNews, DesignerNews, Echo.js, LinkedIn og Frontendfront. Det ble også omtalt av en rekke nyhetsbrev som Responsive Design Weekly, Sitepoint Weekly og FrontEnd Focus, blant andre.

Grunnen til at jeg vil fremheve disse kildene er å vise at det har vært en god spredning av respons på ulike kanaler. respondentene har ikke alle kommet fra en sosial kanal.

Resultatene

Pre-amble ansvarsfraskrivelse: Disse resultatene representerer et utvalg av front-end utviklere som arbeider i bransjen - derfor bør de ikke bli tatt som evangelium, bare som peker mot en grov trend.

Så, uten videre, la oss se på resultatene! Ta deg en kopp te og kaffe og la oss ta en titt ...

Q1: Generell frontend-opplevelse

Det første spørsmålet jeg spurte var å få en ide om erfaringsnivået til de som svarer; noe som ikke ble registrert i forrige års undersøkelse. Spørsmålet var omtrent hvor lenge har du jobbet med front-end teknologier?

Her er resultatene:

Svar Antall stemmer Prosentdel
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%
Over 15 år 390 8,27%
Omtrent hvor lenge har du jobbet med front-end teknologier? - Pie Chart som viser resultatene

Flertallet av respondentene sa at de har jobbet med front-end-teknologier for 2-5 år eller 5-10 år, som sammen utgjorde 60,04% (2,831) svar.

Interessant er det en veldig jevn deling mellom de som har jobbet med front-end i opptil 5 år (49,39%) sammenlignet med de med over 5 års erfaring (50,6%). Positivt innebærer dette at resultatene av undersøkelsen kommer fra en forholdsvis jevn fordeling av erfaringsnivå.

Q2: CSS Knowledge

Det andre spørsmålet var et subjektivt utseende på hvordan respondentene vurderte sin egen kunnskap om CSS.

Det står selvsagt at dette spørsmålet er ganske relativt, da dette kan tolkes annerledes av hver enkelt respondent, så vel som å stole på et beskjeden nivå når det gjelder å rangere ditt eget ferdighetsnivå - men det er ikke desto mindre interessant å se resultatene!

Spørsmålet var Hvordan vurderer du din egen kunnskap om CSS og tilhørende verktøy og metodikker?

Her ser svarene ut:

Nivå Antall stemmer Prosentdel
Nybegynner 78 1,65%
Nybegynner (mellom nybegynner og mellomledd) 424 8.99%
mellom~~POS=TRUNC 1243 26,36%
Avansert (mellom mellomliggende og ekspert) 2203 46.72%
Ekspert 767 16,27%
Hvordan vurderer du din egen kunnskap om CSS og tilhørende verktøy og metodikker? - Pie Chart som viser resultatene

Når man ser på resultatene, har 89,36% (4,213) av respondentene vurdert seg som et mellomnivå på CSS-kunnskap eller høyere, med de fleste - 46,72% (2 203) - sier at de er på avansert nivå. Bare 16,27% (767) av respondentene vurdert seg selv som å ha ekspertvitenskap.

Ved å grave litt dypere inn i disse resultatene og filtrere basert på svarene gitt til spørsmål 1, har de som har opptil 12 måneder erfaring med å arbeide med front-end teknologier, 10% vurdert som å ha avansert kunnskap om CSS eller høyere (selv om ingen- en i denne underkategori vurdert seg som ekspert). Den prosentandelen økte til 22% for respondenter med opptil 2 års erfaring.

Dette kan tolkes på forskjellige måter, men det ser ut til en relativt høy prosentandel med tanke på den korte tiden de har brukt sammen med CSS. Det kan også gjenspeile hvordan CSS ofte kan oppfattes som enklere å lære i forhold til andre språk som JavaScript - noe jeg ikke nødvendigvis ville være enig med når det gjelder å lære språkets intricacies og nyanser og metodene.

Vi ser til å referere til disse resultatene i følgende spørsmål.

Q3: Bruk av CSS-prosessor

Det neste spørsmålet var det første teknologispesifikke spørsmålet, og spør hva er ditt CSS-behandlingsverktøy?

Dette spørsmålet ble spurt om siste års undersøkelse, med Sass som valg for flertallet av utviklere tilbake i 2015. De mulige svarene inkluderte alle de tilgjengelige i fjor, pluss tillegg av PostCSS og Rework, to andre modulære CSS-prosessorer.

Resultatene nedenfor viser også prosentforskjellen mellom årets og fjorårets resultater der det er aktuelt.

Preprocessor Antall stemmer Prosentdel % Diff (til 2015)
sass 2989 63,39% -0,56%
Mindre 478 10,14% -5,05%
Stylus 137 2,91% -0,84%
PostCSS 392 8,31% N / A
bearbeide 3 0,06% N / A
Ingen Preprocessor 643 13,64% -1,4%
Annen 73 1,55% -0,52%
Hva er ditt CSS-behandlingsverktøy av valget? - Pie Chart som viser resultatene

Ser på resultatene, er Sass fortsatt CSS-prosesseringsverktøyet for de fleste respondenter med 63,39% . Sammenlignet med siste års resultater har Mindre bruk falt litt til 10,14% (ned 5,05%).

PostCSS viste god vekst med 8,31% av respondentene som sa at de brukte det utelukkende. Det er sannsynlig at bruken er noe høyere i realiteten, da dette ikke står for de respondentene som bruker det i kombinasjon med et annet bearbeidingsverktøy.

Interessant er prosentandelen av respondenter som ikke bruker et CSS-behandlingsverktøy, falt til 13,64%, ned fra 15,04% i 2015. Dette styrker hvordan CSS-behandling er nå en nøkkelferdighet i moderne front-end-utvikling, og en som majoriteten (86,36 %) av utviklere for utviklere som for tiden bruker i sine egne arbeidsflyter.

Q4: CSS Prosessor Experience

Etter det siste spørsmålet ønsket jeg å finne ut mer om kunnskapsnivåer på tvers av CSS-prosesseringsverktøy med respondentene bedt om å gi sin erfaring i hver.

Her er hvordan folk reagerte da de ble spurt - Vennligst oppgi erfaring med følgende CSS-behandlingsverktøy :

Aldri hørt om Hørt om / Les om Brukt litt Føl deg komfortabel med
Sass - Standard eller SCSS syntaks 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)
Stylus 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)
bearbeide 78,43% (3,698) 20,17% (951) 0,91% (43) 0,49% (23)
Vennligst oppgi din erfaring med de følgende CSS-behandlingsverktøyene - Bar-diagram som viser resultatene

Verktøyet med de høyeste kunnskapsnivåene var Sass ganske langt, med 71,16% av respondentene som sa at de følte seg komfortable med å bruke den. Faktisk hadde bare 11,68% av folk aldri brukt det, med bare 0,57% (27 personer) hadde aldri hørt om det i det hele tatt. Når vi ser på dette sammen med resultatene fra spørsmål 3, dominerer Sass klart når det gjelder både bruks- og kunnskapsnivåer på tvers av CSS-prosesseringsverktøy.

Når man ser på de andre verktøyene, sa 35.02% av respondentene at de følte seg komfortable ved å bruke Less, etterfulgt av 14,15% som sa det samme med hensyn til PostCSS. Interessant nok har dette nummeret nesten doblet fra de 7,15% av respondentene som sa at de følte seg komfortable ved å bruke PostCSS i siste års undersøkelse, og viser en oppadgående trend i kunnskap om verktøyet.

Q5: CSS Naming Schemes

Det neste spørsmålet var et område med CSS som jeg har stor interesse for - CSS Naming Schemes. Etter å ha brukt en navngivningsordning i mitt eget arbeid i en årrekke, var jeg interessert i å se om dette var noe som andre utviklere hadde utviklet seg for.

Spørsmålet var - Bruker du et navngivningssystem når du skriver CSS, for eksempel BEM eller SUIT?

Svar Antall stemmer Prosentdel
Ja 2170 46.02%
Nei - Jeg har hørt om CSS navneordninger, men ikke bruk en 1731 36,71%
Nei - Jeg har aldri hørt om CSS navneordninger 814 17,26%
Bruker du et navngivningssystem når du skriver CSS, for eksempel BEM eller SUIT? - Pie Chart som viser resultatene

Resultatene viser en forholdsvis jevn deling, selv om bare mindre enn halvparten av respondentene (46.02%) sa at de bruker en CSS navngivningssystem i forhold til de som sa at de ikke gjorde det (53,98%).

Det er oppmuntrende at totalt 82,73% (3 901) av respondentene i det minste hadde hørt om CSS navneordninger, men 36,71% (1,731) hadde ennå ikke brukt en.

Som du kanskje forventer, da bruken av CSS navneordninger steg til 56,94% når du så på respondentene som vurderte seg å ha et avansert nivå av CSS-kunnskap eller høyere. Dette er sammenlignet med en bruk av bare 27,47% blant de som har vurdert seg som mellomliggende eller lavere.

CSS navneordninger er et verktøy som jeg tror vil fortsette å vokse i bruk, så det vil være interessant å se hvordan disse tallene endres i fremtiden.

Q6: CSS Linting

Neste opp var CSS Linting - er dette et verktøy som mange utviklere bruker i sine arbeidsflyter?

Jeg spurte Bruker du et verktøy for å lint ditt CSS?

Resultatene var som følger:

Svar Antall stemmer Prosentdel
Ja 2232 47,34%
Nei - jeg lint ikke mitt CSS 2483 52.66%
Bruker du et verktøy for å lint ditt CSS? - Pie Chart som viser resultatene

Som det forrige spørsmålet var dette en ganske jevn splittelse med 47,34% (2232) av respondentene som sa at de bruker et verktøy for å lint deres CSS, sammenlignet med 52,66% (2,483) av de som ikke gjør det.

Ikke overraskende stiger disse tallene også når vi ser på de respondentene med mer avansert kunnskap i CSS. 52,42% av respondentene som vurdert seg som å ha avansert eller høyere kunnskap om CSS, sa også at de linted deres CSS, sammenlignet med bare 38,70% av de med nybegynner til mellomkunnskap.

CSS-linting er fortsatt relativt nytt når det gjelder verktøy og bruk, spesielt i forhold til hvor mye tid JavaScript-linting har eksistert. Som bedre verktøy, for eksempel Stylelint, fortsetter å bli oppdaget av utviklere, forventer jeg at bruken skal vokse ettersom dette området for CSS-verktøyet modnes.

Q7: CSS Tool Experience

De tre neste spørsmålene i undersøkelsen dekket kunnskapsnivåene og bruken på tvers av en rekke CSS-verktøy og metodikker. For det første spørsmål 7 spurte respondenter Vennligst oppgi din erfaring med følgende CSS-verktøy .

La oss se på resultatene:

Aldri hørt om Hørt om / Les om Brukt litt Føl deg komfortabel med
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)
Vennligst oppgi din erfaring med følgende CSS-verktøy - Bar-diagram som viser resultatene

Av disse var Autoprefixer, med 48,61% (2292), CSS-verktøyet som de fleste respondenter følte seg komfortabel med, etterfulgt av Modernizr (32,47%), Stylelint (10,58%) og til slutt Susy (5,51%).

Men når man utvider dette for å inkludere de respondentene som hadde brukt verktøyet litt, kom Modernizr ut på toppen, med 70,43% sammenlignet med 64,54% av respondentene som sa at de har minst en liten erfaring med å bruke Autoprefixer.

Flertallet av respondentene sa at de aldri hadde hørt om Stylelint (54,68%), et CSS Linting-verktøy, og Susy (55.02%), et Sass-layoutverktøy.

Interessant nok, en høy prosentandel av respondentene som vurdert seg som avansert eller høyere i CSS, og dets verktøy hadde aldri hørt om disse to verktøyene - 46,53% for Stylelint og 45,52% for Susy. Jeg tror dette illustrerer hvor vanskelig det kan være for utviklere av hvilket som helst erfaringsnivå, ikke minst nybegynnere, for å følge med med verktøyene som er tilgjengelige for oss alle.

Q8: CSS metodologier og navneskjemaerfaring

Dette neste spørsmålet fulgte på fra det siste ved å spørre respondentene. Vennligst oppgi din erfaring med følgende CSS-metodologier .

Resultatene så slik ut:

Aldri hørt om Hørt om / Les om Brukt litt Føl deg komfortabel med
SMACSS 40,57% (1,913) 33,91% (1,599) 14,74% (695) 10,77% (508)
Objektorientert CSS (OOCSS) 28,27% (1,333) 41,80% (1,971) 17,77% (838) 12,15% (573)
Atomisk 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)
Vennligst oppgi din erfaring med følgende CSS metodologier - Bardiagram som viser resultatene

Av disse var BEM - en CSS navngivningssystem - den mest kjente med 33,09% av respondentene som sa at de følte seg komfortable med å bruke den. Denne tallet stiger til 51,58% av respondentene når de inkluderer de som sa at de har brukt den litt.

Overraskende (for meg i det minste) er kunnskapen om mange av de mest kjente CSS metodologiene ganske lav. Bare 29,92% av utviklerne sa at de har brukt OOCSS enten litt eller føler seg komfortabel å bruke den i sine prosjekter, med 27,81% sier det samme for CSS-moduler, 25,51% for SMACSS og 24,73% for Atomic design.

Selv blant de med avansert eller ekspertkunnskap om CSS, bryter ingen av metodene seg med 20% i forhold til antall respondenter som sa at de følte seg komfortable med å bruke dem.

Grav inn i svarene viser litt videre at mindre enn en tredjedel (29,20%) av respondentene føler seg komfortabel med å bruke minst en av de listede CSS metodologiene - så det er noen av SMACSS, OOCSS, Atomic Design, ITCSS og CSS Modules. Dette stiger til 55,02% av respondentene hvis vi vurderer de som sier at de har brukt noen av disse metodene i det minste litt.

Før vi trekker flere konklusjoner fra disse resultatene, la oss også se på spørsmål 9, som er nært beslektet.

Q9: Bruk av CSS-verktøy

Avrunding av undersøkelsens spørsmål om CSS, spurte jeg respondenter Hvilke av disse CSS-metodene eller verktøyene bruker du for tiden på prosjektene dine?

Her er resultatene:

Verktøy / metode Antall stemmer Prosentdel
SMACSS 613 13,00%
Objektorientert CSS (OOCSS) 696 14,76%
Atomisk 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%
Jeg bruker ikke noen av disse tilnærmingene eller verktøyene 1095 23,22%
Hvilke av disse CSS-metodene eller verktøyene bruker du for tiden på prosjektene dine? - Bardiagram som viser resultatene

Øverst i forhold til faktisk bruk var Autoprefixer (51,20%), etterfulgt av BEM (40,40%) og Modernizr (38,77%), som alle så gode bruksnivåer fra respondenter.

Selv om de enkelte bruksnivåene for CSS-metodologiene er beskjedne - selv blant de som oppgav avansert erfaring med CSS - da de så på bruk på tvers av alle sammen, sa 41,21% av respondentene at de brukte minst en av SMACSS, OOCSS, Atomic Design, ITCSS eller CSS Moduler på sine prosjekter.

Det er også litt overraskende, på grunn av den relative nyheten av tilnærmingen, for å se at bruken av CSS-moduler har høyere bruk enn noen av de andre CSS-metodene.

For meg antyder de relativt lave bruksnivåene - og kunnskapsnivåene som er vist fra spørsmål 8 - på tvers av CSS-metodene to ting. Mangfoldet av måter folk skriver på CSS, er svært bredt. Det finnes ingen metode som utviklere synes å ha trukket på når det kommer til å skrive sine CSS.

For det andre, fra svarene ser et stort antall utviklere fremfor seg at de har en avansert kunnskap om CSS når de ikke har kjennskap til noen av de mest kjente CSS-metodene. Å lære forskjellige tilnærminger til å skrive CSS (som SMACSS, OOCSS og ITCSS) bidrar til å gi et bedre perspektiv på hvordan du strukturerer dine egne stiler - uavhengig av om du velger å bruke dem eller ikke i din egen arbeidsflyt.

CSS kan være et enkelt språk på overflaten, men det kan være en komplisert å mestre og forstå fullt ut.

Q10: JavaScript Kunnskap

Andre halvdel av undersøkelsen fokuserte på JavaScript og det er økosystem av verktøy.

Først opp, spurte jeg respondenter Hvordan vurderer du din egen kunnskap om JavaScript og tilhørende verktøy og metodikker?

Disse var resultatene:

Kunnskap Antall stemmer Prosentdel
Nybegynner 197 4,18%
Nybegynner (mellom nybegynner og mellomledd) 553 11,73%
mellom~~POS=TRUNC 1555 32.98%
Avansert (mellom mellomliggende og ekspert) 1684 35,72%
Ekspert 726 15,40%
Hvordan vurderer du din egen kunnskap om JavaScript og tilhørende verktøy og metodikker? - Pie Chart som viser resultatene

Svarene viste en lignende fordeling på tvers av kunnskapsnivåer til de som ble sett i forhold til CSS. Det største unntaket kommer i antall respondenter som vurdert seg som å ha en avansert kunnskap om JavaScript, som er 35,72%.

Til sammenligning vurderte 51,12% av respondentene seg å ha enten en avansert ekspertnivå på JavaScript-kunnskap, sammenlignet med 62,99% av respondentene som sa det samme i forhold til deres kunnskap om CSS.

Q11: Oppgaveløpere

Oppgaveløpere har blitt en svært viktig del av mange front-end-utvikleres arbeidsflyt. Men har dette området endret seg mye de siste 12 månedene, eller har bruken vært konsekvent over verktøy og tilnærminger?

Spørsmålet som respondentene ble spurt om, var Hvilken oppgaveløper foretrekker du å bruke i den typiske arbeidsflyten din?

La oss se på resultatene - hvor det er mulig, har jeg tatt med prosentandringen fra siste års undersøkelse:

Task Runner Antall stemmer Prosentdel % Diff (til 2015)
Gulp 2060 43.69% -0,1%
NPM-skript 1223 25,94% + 22.78%
Grynte 554 11,75% -15,81%
Gjøre 54 1,15% N / A
GUI-applikasjon (dvs. kodekit) 93 1,97% N / A
Annet (spesifiser) 214 4,54% -0,34%
Jeg bruker ikke en oppgaveløper 517 10,97% -8,56%
Hvilken oppgaveløper foretrekker du å bruke i din typiske prosjektsøkeflyt? (hvis noen) - Pie Chart viser resultatene

Når vi ser på resultatene, er Gulp fortsatt den klare lederen når det gjelder front-end-løpere med 43,69% (2,060) svar.

Den største bevegelsen er i bruken NPM Scripts, som fikk en 25,94% (1,223) andel av svaret, noe som gjør det til det nest mest brukte oppgaveløperverktøyet. Det er en økning på 22,8% sammenlignet med tall i fjor. Dette antyder at flere front-end-utviklere prøver å forenkle byggeoppgaver og ta bort abstraksjonslaget som verktøy som Gulp and Grunt gir.

I mellomtiden har Grunt sett en betydelig nedgang i bruk, med bare 11,75% av respondentene sier at de foretrekker å bruke verktøyet - et fall på over 15% fra 2015.

Interessant nok har antallet respondenter som ikke bruker noen oppdragsløper, falt til bare 10,97% - ned fra 19,5% i fjor. Dette viser at det overveldende flertallet av front-end-utviklere nå bruker en oppgave som kjører verktøy på sine prosjekter.

Q12: Kunnskap om JavaScript-biblioteker og rammer

Dette var et av spørsmålene jeg så mest frem til å se svarene på. Hvordan har kunnskapsnivåer over de mest populære JavaScript-bibliotekene og rammebetingelsene endret seg i det siste året?

På tidspunktet for 2015-undersøkelsen var React en relativ nykommer som stadig vinner på Angular. Siden da har Angular-teamet utgitt versjon 2 av rammen, men har utviklere begynt å migrere over?

Her er hva resultatene viser:

Aldri hørt om Hørt om / Les om Brukt litt Føl deg komfortabel med
jQuery 0,11% (5) 0,85% (40) 12,17% (574) 86,87% (4,096)
Understrek 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)
Backbone 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)
Ember 3,75% (177) 78,41% (3,697) 11,71% (552) 6,13% (289)
Reagere 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)
Slå ut 16,14% (761) 66,62% (3,141) 11,33% (534) 5,92% (279)
Oppgi hvilke JavaScript-biblioteker og / eller rammer du har erfaring med - Bardiagram som viser resultatene

Som det var i fjor, er jQuery fortsatt biblioteket eller rammen med høyest prosent av respondentene - 86,87% (4,096) - som sa at de følte seg komfortable med å bruke den. Faktisk over 99% av respondentene sa at de hadde brukt det i det minste litt, noe som er ganske bemerkelsesverdig for ethvert verktøy.

Både Underscore (37,24%) og Lodash (37,67%) hadde også et stort antall respondenter som sa at de følte seg komfortable med å bruke dem.

Når man ser på de store trekkende JS-rammene, er veksten i kunnskap om React den mest merkbare forandringen fra i fjor. Det har ikke bare oppstått av Angular 1 (den ledende MVW-rammen i fjor), men det har klart å overgå det, med 28,91% (1,363) utviklere sier at de føler seg komfortable å bruke den i forhold til 28,70% (1,353) av de som sa det samme om Angular 1.

Det er også interessant å se at Angular 2-opptaket har vært ganske sakte så langt, med 20,19% av respondentene sier at de hadde brukt det litt, men bare 5,32% sa at de følte seg komfortable med å bruke den. Jeg antar at dette tallet vil vokse over tid, men det vil være interessant å se hvor mye og hvis det når det nivået som Angular 1 har for øyeblikket.

Ser på kunnskapsnivåer over MV * -rammene - så alt i listen unntatt jQuery, Underscore og Lodash - 62,23% av respondentene sa at de følte seg komfortable ved å bruke minst en av disse rammene. Det er litt over 12% (fra 50,2%) som sa det samme i siste års undersøkelse.

Som jeg nevnte i fjor, har kunnskap om minst ett rammeverk blitt en viktig ferdighet for mange utviklere i fremtiden.

Spørsmål 13: Hvilke JavaScript-biblioteker og / eller rammer bruker du for tiden mest på prosjekter?

Det neste spørsmålet refererte til faktisk bruk av bibliotekene og rammene som er oppført i det forrige spørsmålet.

Spørsmålet var, Hvilke JavaScript-biblioteker og / eller rammer bruker du for tiden mest på prosjekter? med respondentene invitert til å velge alt som ble brukt.

Her er resultatene:

Antall stemmer Prosentdel
jQuery 3284 69,65%
Understrek 714 15.14%
Lodash 1527 32,39%
Backbone 301 6.38%
Vinkel 1 1180 25.03%
Vinkel 2 387 8,21%
Ember 280 5,94%
Reagere 1776 37.67%
polymer 87 1,85%
Aurelia 154 3,27%
Vue.js 456 9,67%
MeteorJS 115 2,44%
Slå ut 156 3,31%
Jeg bruker ikke noen av disse tilnærmingene eller verktøyene 132 2,80%
Hvilke JavaScript-biblioteker og / eller rammer bruker du for tiden mest på prosjekter? - Bardiagram som viser resultatene

JQuery-bruken var igjen veldig sterk, med over to tredjedeler (69,65%) av respondentene sa at de brukte det ofte på sine prosjekter.

Kanskje mer interessant er at 37,67% (1 776) av respondentene sa at de ofte bruker React, selv om dette er nesten 10% mer enn tallet som sa at de følte seg komfortable ved å bruke det når de besvarte spørsmål 12. Det kan derfor konkluderes med at en anstendig antall av dem som sa at de har brukt det bare litt, bruker også det ofte på sine prosjekter.

I tråd med resultatene fra spørsmål 12 ble Angular 1 ansett å bli brukt hyppig av 25,03% (1,180) av respondentene, mens Angular 2 for tiden ligger godt under denne figuren med 8,21% (387) bruk.

Selv om kunnskapsnivåene var like mellom Lodash og Underscore i resultatene fra spørsmål 12, mottok Lodash mer enn det dobbelte av respondentene som sa at de fortsatt bruker det ofte på sine prosjekter - 32,39% (1 527) sammenlignet med bare 15,14% (714) for Underscore.

Også en bemerkelsesverdig omtale til Vue.js, som har blitt nevnt mye nylig, med 9,67% av respondentene sier at de bruker ofte på sine prosjekter.

Spørsmål 14: Hvilket JavaScript-bibliotek eller rammeverk vil du betrakte som viktig for deg på flertallet av prosjektene dine?

Spørsmål 14 så på hvilket JavaScript-bibliotek eller rammeproblemer som anses å være deres mest essensielle verktøy, med spørsmålet å være Hvilket JavaScript-bibliotek eller rammeverk vil du betrakte som viktig for deg på flertallet av prosjektene dine?

La oss se på resultatene:

Antall stemmer Prosentdel
Ingen av dem er viktig - jeg føler meg komfortabel med å bruke innfødt JavaScript på prosjektene mine 985 20,89%
jQuery 1468 31,13%
Understrek 38 0,81%
Lodash 262 5,56%
Backbone 38 0,81%
Vinkel 1 386 8,19%
Vinkel 2 129 2,74%
Ember 178 3,78%
Reagere 857 18,18%
polymer 16 0,34%
Aurelia 113 2,40%
Vue.js 148 3.14%
MeteorJS 8 0,17%
Slå ut 17 0,36%
Annet (spesifiser) 72 1,53%
Hvilket JavaScript-bibliotek eller rammeverk vil du betrakte som viktig for deg på flertallet av prosjektene dine? - Bardiagram som viser resultatene

De verktøyene som de fleste respondentene sa var avgjørende for dem var jQuery med 31,13% (1 468 svar), etterfulgt av React som mottok 18,18% (857) av stemmene.

20,89% (985) av respondentene sa at de ikke trodde at noe bibliotek eller verktøy var viktig - trolig på grunn av økt kunnskap om ES6 (også kjent som ES2015).

Disse var de eneste svarene som mottok mer enn en 10% andel av avstemningen, med Angular 1 det nest største valget med 8,19% (386) svar.

Kanskje mest interessant er at selv blant de som har vurdert seg å ha mellomnivå JS kunnskap eller høyere, er jQuery fortsatt det mest populære valget med 25,98% av svarene i denne kategorien, sammenlignet med 20.06% for det neste nærmeste verktøyet som er React.

Det er klart at jQuery fortsatt spiller en viktig rolle i mange verktøysett for utviklere.

Spørsmål: JavaScript-modulpakker

Når man ser på resultatene fra siste års undersøkelse, var JavaScript-modulbunter fortsatt et verktøy som brukes av en minoritet av utviklere i fremtiden, med bare 46,1% av respondentene som sa at de brukte en i sin egen arbeidsflyt.

Vil dette ha endret seg over 12 måneder på? Spørsmålet var: Bruker du en JavaScript-modulbunt i arbeidsflyten?

La oss se på resultatene:

Modul Bundler Antall stemmer Prosentdel % Diff (til 2015)
Jeg bruker ikke en modulbuntemaskin 1516 32,15% -21,75%
RequireJS 359 7,61% -5,85%
Browserify 510 10,82% -5,65%
Webpack 1962 41.61% + 31.11%
Rull opp 79 1,68% N / A
JSPM 108 2.29% + 0,07%
Annet (spesifiser) 181 3,84% + 0,39%
Bruker du en JavaScript-modulbunt i arbeidsflyten din? - Pie Chart som viser resultatene

I et massivt skifte fra i fjor bruker 41,61% (1,962) av respondentene nå Webpack til å håndtere modulbundting i JavaScript, noe som gjør det til en klar leder i denne kategorien.

Prosentandelen av de som nå bruker en hvilken som helst modulmodul, har økt til 67,85% (3,199 svar), en økning på over 20% sammenlignet med tallene i fjor.

Når det gjelder andre modulbundtingsverktøy, har både Browserify og RequireJS begge sett en nedgang på 5%, med 10,82% og 7,61% av respondentene sier at de bruker disse respektive verktøyene.

Samlet sett er det flott å se så mange utviklere omfavne modulbundere. Webpack har tydeligvis slått en ekte akkord med utviklere og er nå ansett som go-to-verktøyet når det gjelder å håndtere JavaScript-modulavhengigheter.

Q16: JavaScript Transpilers

Det neste spørsmålet i undersøkelsen er et emne som har blitt snakket mye om de siste 12-18 månedene.

Bruken av en JS-transpiler, som for eksempel Babel, gjør det mulig for utviklere å transpilere deres JavaScript fra ES6 (ES2015) tilbake til ES5, slik at de kan bruke de nyeste JS-funksjonene, samtidig som de gir støtte til eldre nettlesere.

Spørsmålet jeg spurte var, Bruker du et verktøy for å transpilere JavaScript fra ES6 til ES5? (dvs. Babel)

Her er resultatene:

Svar Antall stemmer Prosentdel
Ja 2942 62.40%
Nei - Jeg har hørt om disse verktøyene, men har ikke brukt en 1443 30.60%
Nei - Jeg har aldri hørt om en JavaScript-transpiler 330 7,00%
Bruker du et verktøy for å transpilere JavaScript fra ES6 til ES5? - Pie Chart som viser resultatene

Flertallet - 62,40% (2,942) - av respondentene indikerte at de nå bruker en JavaScript-transpiler. Med tanke på den korte perioden disse verktøyene har eksistert, viser dette bare hvor verdifulle utviklere ser å jobbe med ES6-funksjoner i dag.

Bare 7% (330) av respondentene hadde aldri hørt om en JavaScript-transpiller, som igjen viser den bemerkelsesverdige rekkevidden som er oppnådd på en relativt kort tid.

Når man ser på disse resultatene, er det greit å konkludere med at å ha kjennskap til et transpilasjonsverktøy, som for eksempel Babel, blir en nødvendig ferdighet for den moderne utviklingsprodusenten.

Q17: JavaScript Linting

JavaScript Linting, en gang et polariserende emne, er nå fast innebygd i mange utviklere arbeidsflyter. Men hvor mange mennesker bruker en, og er det en klar leder blant verktøy som front-end-utviklere bruker?

Spørsmålet jeg spurte var Hvilket verktøy bruker du til å linte JavaScript? (hvis noen)

Her er resultatene:

Verktøy Antall stemmer Prosentdel
Jeg bruker ikke en JavaScript-linter 1076 22.82%
JSLint 894 18.96%
JSHint 657 13,93%
ESLint 1927 40.87%
xo 24 0,51%
Annet (spesifiser) 137 2,91%
Hvilket verktøy bruker du til å linte JavaScript? - Pie Chart som viser resultatene

Flertallet av respondentene - 77,18% (3,639 personer) - indikerte at de bruker et verktøy for å lint deres JavaScript.

Sammenligning av dette med resultatene som ble sett tidligere i forhold til CSS-linting, er det et åpenbart gap mellom de som velger å lime deres JavaScript og de som gjør det samme med deres CSS - en forskjell på 29,84% faktisk som bare 47,34% av respondentene indikerte at de brukte et verktøy for å lint deres CSS.

40,87% (1,927) av respondentene sa at ESLInt var verktøyet de brukte, og gjorde det til det mest populære lintingverktøyet, etterfulgt av JSLint med 18,96% (894) og JSHint med 13,93% (657).

Det er flott å se at linting nå anses som normen når man utvikler JavaScript, spesielt med tanke på fordelene det gir til kodekvalitet og konsistens.

Q18: JavaScript-testing

Det neste emnet ga noen av de mest interessante resultatene i siste års undersøkelse.

I fjor sa flertallet av respondentene - 59,66% - at de ikke brukte et verktøy for å teste deres JavaScript. Er flere utviklere ved hjelp av JS testverktøy et år på?

Spørsmålet jeg spurte var Hvilket verktøy bruker du til å teste JavaScript? (hvis noen)

La oss se på resultatene:

Verktøy Antall stemmer Prosentdel % Diff (til 2015)
Jeg bruker ikke et verktøy for å teste min JS 2241 47.53% -12,13%
Jasmine 802 17.01% 0,64
Mocha 1061 22.50% + 7,46%
Teip 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.

Sammendrag

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.