I slutningen af ​​2016 satte jeg ud af 2016 Front-End Tooling Survey . Svaret har været fænomenalt . Tak til jer alle, der har taget sig tid til at gøre det.

Målet var ret lige fremad; For at finde ud af mere detaljer om værktøjerne, er udviklerne i fronten i øjeblikket ved at bruge i deres egne arbejdsgange. I vores branche er det alt for nemt at tage for givet det, folk bruger, baseret på din egen viden. Denne undersøgelse har til formål at give mere et indblik i de nuværende tendenser i front-end værktøj fra et bredere perspektiv.

I år bestod undersøgelsen af ​​19 spørgsmål, der dækker en bred vifte af front-end værktøjer og metoder.

Hurtig tak

Denne undersøgelse ville have været meget sværere at sætte sammen uden støtte fra Just Eat (min arbejdsgiver) og Wes Bos, som har været venligt tilknyttet denne årsundersøgelse, hvilket har gjort det muligt for mig at bruge mere tid på at analysere resultaterne.

Wes er kendt for at skabe gode læringsmaterialer til webudviklere. Hans kurser er et godt sted at starte, hvis du søger at lære mere om emner som Reagere og ES6 .

Svarene

Denne årsundersøgelse har haft over 4.700 svar. Til sammenligning, da jeg udgav det første sæt resultater i 2015, havde undersøgelsen kun modtaget 648 svar, som derefter steg til en sidste figur på 2.028 svar, da undersøgelsen lukkede. Så det er næsten 2 og en halv gange antallet af svar i forhold til sidste års endelige tal eller en 132% stigning for folk, der kan lide procentdele.

Med hensyn til hvor svarene er kommet fra, skrev jeg undersøgelsen på Twitter, Reddit, HackerNews, DesignerNews, Echo.js, LinkedIn og Frontendfront. Den blev også præsenteret af en række nyhedsbreve som Responsive Design Weekly, Sitepoint Weekly og FrontEnd Focus, blandt andre.

Grunden til, at jeg vil fremhæve disse kilder, er at vise, at der har været en god spredning af respons på tværs af forskellige kanaler; respondenterne er ikke alle kommet fra en social kanal.

Resultaterne

Pre-amble ansvarsfraskrivelse: Disse resultater repræsenterer en prøve af front-end-udviklere, der arbejder i branchen - derfor bør de ikke tages som evangelium, blot som peger mod en hård udvikling.

Så uden videre, lad os tage et kig på resultaterne! Tag dig en kop te og kaffe og lad os tage et kig ...

Q1: General Front-end Experience

Det første spørgsmål jeg spurgte var at få en ide om oplevelsesniveauet for dem, der reagerede; noget, der ikke blev registreret i sidste års undersøgelse. Spørgsmålet var stort set, hvor længe har du arbejdet med front-end teknologier?

Her er resultaterne:

Svar Antal stemmer Procent
0-1 år 232 4,92%
1-2 år 589 12,49%
2-5 år 1.508 31.98%
5-10 år 1323 28.06%
10-15 år 673 14.27%
Over 15 år 390 8,27%
Hvor længe har du arbejdet med front-end teknologier? - Piediagram, der viser resultaterne

De fleste af de adspurgte sagde, at de har arbejdet med front-end teknologier for enten 2-5 år eller 5-10 år, hvilket sammen tegnede sig for 60,04% (2.831) af svarene.

Interessant er der en meget jævn opdeling mellem dem, der har arbejdet med front-end i op til 5 år (49,39%) sammenlignet med dem med over 5 års erfaring (50,6%). Positivt indebærer dette, at resultaterne af undersøgelsen kommer fra en forholdsvis jævn fordeling af oplevelsesniveauer.

Q2: CSS Viden

Det andet spørgsmål var et subjektivt udseende på, hvordan respondenterne vurderede deres egen viden om CSS.

Det siger sig selv, at dette spørgsmål er ret forholdsmæssigt, da det kan fortolkes forskelligt af hver enkelt respondent og på et niveau af beskedenhed når det kommer til at bedømme dit eget kvalifikationsniveau - men det er ikke desto mindre interessant at se resultaterne!

Spørgsmålet var Hvordan vurderer du din egen viden om CSS og dens tilhørende værktøjer og metoder?

Her ser svarene ud:

Niveau Antal stemmer Procent
Nybegynder 78 1,65%
Nybegynder (mellem begynder og mellemliggende) 424 8,99%
Intermediate 1.243 26.36%
Avanceret (mellem mellemliggende og ekspert) 2203 46,72%
Ekspert 767 16,27%
Hvordan vurderer du din egen viden om CSS og dens tilknyttede værktøjer og metoder? - Piediagram, der viser resultaterne

På baggrund af resultaterne vurderede 89.36% ( 4.213 ) af respondenterne at have et mellemliggende niveau af CSS viden eller højere, med de fleste - 46,72% (2.203) - siger at de er på et avanceret niveau. Kun 16,27% (767) af de adspurgte vurderede sig selv at have ekspertviden.

Når man graver lidt dybere ind i disse resultater og filtrerer ud fra svarene på spørgsmål 1, har de, der har op til 12 måneders erfaring med at arbejde med front-end teknologier, 10% bedømt som at have en avanceret viden om CSS eller højere (selvom ingen- en i denne underkategori vurderede sig som ekspert). Den procentdel steg til 22% for respondenter med op til 2 års erfaring.

Dette kan tolkes på forskellige måder, men det ser ud til en forholdsvis høj procentdel i betragtning af den korte tid, de har brugt med at arbejde med CSS. Det kan også afspejle, hvordan CSS ofte kan opfattes som enklere at lære, når man sammenligner med andre sprog som JavaScript - noget, som jeg ikke nødvendigvis er enig i, når det kommer til at lære sprogets intricacies og nuancer og metoder.

Vi vil se henvisninger til disse resultater i de følgende spørgsmål.

Q3: Brug af CSS-processor

Det næste spørgsmål var det første teknologiske specifikke spørgsmål, og spørger Hvad er dit CSS-behandlingsværktøj?

Dette spørgsmål blev stillet om sidste års undersøgelse, med Sass som valg for flertallet af udviklere tilbage i 2015. De mulige svar inkluderede alle de tilgængelige sidste år plus tilføjelsen af ​​PostCSS og Rework, to yderligere modulære CSS-processorer.

Resultaterne nedenfor viser også procentforskellen mellem årets og sidste års resultater, hvor det er relevant.

Preprocessor Antal stemmer Procent % 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
rework 3 0,06% N / A
Ingen præprocessor 643 13,64% -1,4%
Andet 73 1,55% -0,52%
Hvad er dit CSS-behandlingsværktøj? - Piediagram, der viser resultaterne

Ser man på resultaterne, er Sass stadig CSS-behandlingsværktøjet til valg for de fleste respondenter med 63,39% . Sammenlignet med sidste års resultater er Mindre brug faldet en smule til 10,14% (ned 5,05%).

PostCSS viste god vækst med 8,31% af respondenterne, der sagde, at de udelukkende brugte det. Det er sandsynligvis, at brugen vil være lidt højere i virkeligheden, da det ikke står for de respondenter, der bruger det i kombination med et andet værktøj.

Interessant nok er procentdelen af ​​respondenterne, der ikke bruger et CSS-værktøj, faldet til 13,64%, ned fra 15,04% i 2015. Dette styrker, hvordan CSS-behandling er nu en vigtig færdighed i moderne front-end-udvikling, og en som størstedelen (86,36 %) af front-end-udviklere, der i øjeblikket bruger i deres egne arbejdsgange.

Q4: CSS Processor Experience

Efter det sidste spørgsmål ønskede jeg at finde ud af mere detaljeret om vidensniveauer på tværs af CSS-værktøjer, hvor respondenterne bedt om at give deres erfaring i hver.

Her er hvordan folk reagerede, når de blev spurgt - Angiv din erfaring med følgende CSS-behandlingsværktøjer :

Aldrig Hørt om Hørt om / læs om Brugt lidt Føl dig behagelig at bruge
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)
rework 78,43% (3,698) 20,17% (951) 0,91% (43) 0,49% (23)
Angiv din erfaring med følgende CSS-behandlingsværktøjer - Stregdiagram, der viser resultaterne

Værktøjet med de højeste videnniveauer var Sass med en vis afstand, hvor 71,16% af respondenterne sagde, at de følte sig behagelige ved at bruge det. Faktisk havde kun 11,68% af befolkningen aldrig brugt det, med kun 0,57% (27 personer), der aldrig har hørt om det. Når man ser på dette sammen med resultaterne fra spørgsmål 3, dominerer Sass klart, når det gælder både brugs- og vidensniveauer på tværs af CSS-værktøjer.

Når man ser på de andre værktøjer, sagde 35,02% af de adspurgte, at de følte sig komfortable ved at bruge Less, efterfulgt af 14,15%, der sagde det samme med hensyn til PostCSS. Interessant nok er dette tal næsten fordoblet fra de 7,15% af respondenterne, der sagde, at de følte sig trygge ved at bruge PostCSS i sidste års undersøgelse, hvilket viser en opadgående tendens i viden om værktøjet.

Q5: CSS navngivningssystemer

Det næste spørgsmål var et område med CSS, som jeg har meget interesse i - CSS Naming Schemes. Efter at have brugt en navngivningsordning i mit eget arbejde i en årrække nu, var jeg interesseret i at se om dette var noget, som andre front-end-udviklere også havde vedtaget.

Spørgsmålet var - Bruger du et navngivningssystem, når du skriver CSS, som f.eks. BEM eller SUIT?

Svar Antal stemmer Procent
Ja 2170 46.02%
Nej - Jeg har hørt om CSS navneordninger, men ikke brug en 1.731 36,71%
Nej - Jeg har aldrig hørt om CSS navneordninger 814 17.26%
Bruger du et navngivningssystem, når du skriver CSS, som f.eks. BEM eller SUIT? - Piediagram, der viser resultaterne

Resultaterne viser en forholdsvis jævn deling, men kun mindre end halvdelen af ​​respondenterne (46,02%) sagde, at de bruger en CSS navneordning i sammenligning med dem, der sagde, at de ikke havde (53,98%).

Det er opmuntrende, at den samlede 82,73% (3.901) af respondenterne i det mindste havde hørt om CSS navneordninger, men 36,71% (1.731) havde endnu ikke brug for en.

Som du måske regner med, når brugen af ​​CSS navneordninger steg til 56,94%, når man ser på respondenterne, der vurderede sig som et højt niveau af CSS-viden eller højere. Dette er sammenlignet med en brug på kun 27,47% blandt dem, der vurderede sig som mellemliggende eller lavere.

CSS navneordninger er et værktøj, som jeg tror vil fortsætte med at vokse i brug, så det vil være interessant at se, hvordan disse tal ændrer sig i fremtiden.

Q6: CSS Linting

Næste op var CSS Linting - er dette et værktøj, som mange udviklere bruger i deres workflows?

Jeg spurgte Bruger du et værktøj til at lint din CSS?

Resultaterne var som følger:

Svar Antal stemmer Procent
Ja 2232 47,34%
Nej - Jeg laver ikke min CSS 2.483 52.66%
Bruger du et værktøj til at lint din CSS? - Piediagram, der viser resultaterne

Ligesom det foregående spørgsmål var dette en ret jævnt opdelt med 47,34% (2.232) af respondenterne, der sagde, at de bruger et værktøj til at lint deres CSS, sammenlignet med 52,66% (2,483) af dem, der ikke gør det.

Ikke overraskende stiger disse tal også, da vi ser på disse respondenter med mere avanceret viden i CSS. 52,42% af respondenterne, der vurderede sig at have avanceret eller højere viden om CSS, sagde også, at de lintede deres CSS sammenlignet med kun 38,70% af dem med begynder til mellemliggende viden.

CSS-linting er stadig relativt nyt med hensyn til værktøj og brug, især i forhold til den tid, JavaScript-linting har eksisteret. Da bedre værktøjer, såsom Stylelint, fortsat opdages af udviklere, forventer jeg, at brugen vokser, da dette område af CSS-værktøj modnes.

Q7: CSS Tool Experience

De tre næste spørgsmål i undersøgelsen omfattede vidensniveauet og brugen på tværs af en række CSS værktøjer og metoder. For det første spørgsmål 7 spurgte respondenterne. Angiv venligst din erfaring med følgende CSS-værktøjer .

Lad os se på resultaterne:

Aldrig Hørt om Hørt om / læs om Brugt lidt Føl dig behagelig at bruge
Autoprefixer 18,28% (862) 17,18% (810) 15,93% (751) 48,61% (2.229)
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)
Angiv din erfaring med følgende CSS-værktøjer - Stregdiagram, der viser resultaterne

Af disse var Autoprefixer, med 48,61% (2.292), CSS-værktøjet, som de fleste respondenter følte sig behageligt ved at bruge, efterfulgt af Modernizr (32,47%), Stylelint (10,58%) og endelig Susy (5,51%).

Men når man udvider dette til at omfatte de respondenter, der havde brugt værktøjet lidt, kom Modernizr ud på toppen med 70,43% sammenlignet med de 64,54% af respondenterne, der sagde, at de i det mindste havde en lille erfaring med at bruge Autoprefixer.

De fleste af respondenterne sagde, at de aldrig havde hørt om Stylelint (54,68%), et CSS Linting-værktøj og Susy (55.02%), et Sass layoutværktøj.

Interessant nok er en høj procentdel af respondenterne, der vurderede sig som avanceret eller højere i CSS, og dets værktøjer aldrig blevet hørt om disse to værktøjer - 46,53% for Stylelint og 45,52% for Susy. Jeg tror, ​​at dette illustrerer, hvor svært det kan være for udviklere af ethvert oplevelsesniveau, endsige nybegyndere, at holde styr på de værktøjer, der er tilgængelige for os alle.

Q8: CSS-metodologier og navneskemaerfaring

Dette næste spørgsmål fulgte fra det sidste ved at spørge respondenterne. Angiv venligst din erfaring med følgende CSS-metoder .

Resultaterne så så ud:

Aldrig Hørt om Hørt om / læs om Brugt lidt Føl dig behagelig at bruge
SMACSS 40,57% (1,913) 33,91% (1,599) 14,74% (695) 10,77% (508)
Objektorienteret 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)
Angiv din erfaring med følgende CSS-metoder - Stregdiagram, der viser resultaterne

Af disse var BEM - en CSS navneordning - den mest kendte med 33,09% af respondenterne, der sagde, at de følte sig behagelige ved at bruge det. Dette tal stiger til 51,58% af respondenterne, når de indregner dem, der sagde, at de har brugt det lidt.

Overraskende (for mig i det mindste) er kendskabet til mange af de mest kendte CSS-metoder nemmere. Kun 29,92% af udviklerne sagde, at de har brugt OOCSS enten lidt eller føler sig trygge ved at bruge det i deres projekter, med 27,81% siger det samme for CSS moduler, 25,51% for SMACSS og 24,73% for Atomic design.

Selv blandt dem med avanceret eller ekspertviden om CSS, bryder ingen af ​​disse metoder 20% mærket i forhold til antallet af respondenter, der sagde, at de følte sig behagelige ved at bruge dem.

Ved at grave ind i svarene viser en smule yderligere, at mindre end en tredjedel (29,20%) af respondenterne føler sig trygge ved at bruge mindst en af ​​de listede CSS-metoder - så det er en af ​​SMACSS, OOCSS, Atomic Design, ITCSS og CSS Modules. Dette stiger til 55,02% af de adspurgte, hvis vi overvejer dem, der siger, at de har brugt en af ​​disse metoder mindst en smule.

Før vi trækker flere konklusioner fra disse resultater, lad os også se på spørgsmål 9, som er tæt forbundet.

Q9: Brug af CSS-værktøj

Afrunding af undersøgelsens spørgsmål om CSS, jeg spurgte respondenter Hvilke af disse CSS-metoder eller værktøjer bruger du i øjeblikket på dine projekter?

Her er resultaterne:

Værktøj / Metode Antal stemmer Procent
SMACSS 613 13,00%
Objektorienteret 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 1.828 38.77%
Stylelint 682 14,46%
Jeg bruger ikke nogen af ​​disse tilgange eller værktøjer 1095 23.22%
Hvilke af disse CSS-metoder eller værktøjer bruger du i øjeblikket på dine projekter? - Stregdiagram, der viser resultaterne

Top i forhold til den faktiske brug var Autoprefixer (51,20%), efterfulgt af BEM (40,40%) og Modernizr (38,77%), som alle så gode brugsniveauer fra respondenterne.

Selvom individuelle brugsniveauer af CSS-metoder er beskedne - selv blandt dem, der udtalte avanceret erfaring med CSS - når man så på brugen på tværs af dem alle sammen, sagde 41,21% af de adspurgte, at de bruger mindst en af ​​SMACSS, OOCSS, Atomic Design, ITCSS eller CSS moduler på deres projekter.

Det er også lidt overraskende på grund af den relative nyhed af tilgangen at se, at brugen af ​​CSS moduler har højere brug end nogen af ​​de andre CSS-metoder.

For mig antyder de relativt lave brugsniveauer - og videnniveauer fra spørgsmål 8 - på tværs af CSS-metodologier to ting. Mangfoldigheden af ​​måder, hvorpå folk skriver deres CSS, er meget brede. Der er ikke nogen metode, som udviklere synes at være trukket på, når det kommer til at skrive deres CSS.

For det andet betragter et stort antal front-end-udviklere sig fra responserne at have en avanceret viden om CSS, når de ikke har kendskab til nogle af de mest kendte CSS-metoder. At lære forskellige metoder til at skrive CSS (som SMACSS, OOCSS og ITCSS) hjælper med at give et bedre perspektiv på hvordan du strukturerer dine egne stilarter - uanset om du vælger at bruge dem eller ej i din egen arbejdsgang.

CSS kan være et simpelt sprog på overfladen, men det kan være en kompleks en at mestre og forstå fuldt ud.

Q10: JavaScript-viden

Den anden halvdel af undersøgelsen fokuserede på JavaScript og det er økosystem af værktøjer.

For det første spurgte jeg respondenterne Hvordan vurderer du din egen viden om JavaScript og dens tilhørende værktøjer og metoder?

Disse var resultaterne:

Viden Antal stemmer Procent
Nybegynder 197 4,18%
Nybegynder (mellem begynder og mellemliggende) 553 11,73%
Intermediate 1555 32.98%
Avanceret (mellem mellemliggende og ekspert) 1684 35.72%
Ekspert 726 15,40%
Hvordan vurderer du din egen viden om JavaScript og dens tilhørende værktøjer og metoder? - Piediagram, der viser resultaterne

Svarene viste en lignende fordeling på tværs af vidensniveauer til dem, der ses i forhold til CSS. Den største undtagelse kommer i antallet af respondenter, der vurderede sig selv at have en avanceret viden om JavaScript, hvilket er 35,72%.

Til sammenligning vurderede 51,12% af respondenterne, at de enten havde en avanceret ekspertniveau af JavaScript-viden sammenlignet med 62,99% af respondenterne, der sagde det samme i forhold til deres viden om CSS.

Q11: Opgaveløberne

Opgaveløberne er blevet en meget vigtig del af mange front-end-udvikleres arbejdsgange. Men har dette område ændret sig meget i løbet af de sidste 12 måneder, eller har brugen været konsekvent på tværs af værktøjer og tilgange?

Spørgsmålet om, at respondenterne blev spurgt, var Hvilken task runner foretrækker du at bruge i din typiske projekt-arbejdsgang?

Lad os se på resultaterne - hvor det er muligt, har jeg medtaget procentændringen fra sidste års undersøgelse:

Opgave Runner Antal stemmer Procent % Diff (til 2015)
Gulp 2060 43.69% -0,1%
NPM Scripts 1223 25.94% + 22.78%
Grynte 554 11,75% -15,81%
Lave 54 1,15% N / A
GUI-applikation (dvs. kodekit) 93 1,97% N / A
Andet (angiv venligst) 214 4,54% -0,34%
Jeg bruger ikke en task runner 517 10,97% -8,56%
Hvilken task runner foretrækker du at bruge i din typiske projekt workflow? (hvis nogen) - Piediagram, der viser resultaterne

Når man ser på resultaterne, er Gulp stadig den klare leder, når det kommer til front-end task runners med 43,69% (2,060) af svar.

Den største bevægelse er i brugen NPM Scripts, som fik en 25,94% (1,223) andel af svaret, hvilket gør det til det næstmest anvendte task runner-værktøj. Det er en stigning på 22,8% i forhold til sidste års tal. Dette tyder på, at flere front-end-udviklere forsøger at forenkle deres byggeopgaver og fjerne det abstraktionslag, som værktøjer som Gulp and Grunt leverer.

I mellemtiden har Grunt set en betydelig nedgang i brug, med kun 11,75% af respondenterne, der siger, at de foretrækker at bruge værktøjet - et fald på over 15% fra 2015.

Interessant nok er antallet af respondenter, der ikke har brugt nogen task runner, faldet til kun 10,97% - ned fra 19,5% sidste år - hvilket viser, at det overvældende flertal af front-end-udviklere nu bruger en opgave, der løser værktøj på deres projekter.

Q12: Kendskab til JavaScript-biblioteker og rammer

Dette var et af de spørgsmål, jeg mest glædede mig over at se svarene på. Hvordan har videnniveauer på tværs af de mest populære JavaScript-biblioteker og rammer ændret sig i det sidste år?

På tidspunktet for 2015-undersøgelsen var React en relativ nykommer, der stadig vinder grunden på Angular. Siden da har Angular teamet udgivet version 2 af rammen, men har udviklerne begyndt at overflytte?

Her er hvad resultaterne viser:

Aldrig Hørt om Hørt om / læs om Brugt lidt Føl dig behagelig at bruge
jQuery 0,11% (5) 0,85% (40) 12,17% (574) 86,87% (4,096)
understregning 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)
Rygrad 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ød 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å ud 16,14% (761) 66,62% (3,141) 11,33% (534) 5,92% (279)
Angiv hvilke JavaScript-biblioteker og / eller rammer du har erfaring med - Bardiagram, der viser resultaterne

Som det var tilfældet sidste år, er jQuery stadig biblioteket eller rammen med den højeste procentdel af respondenterne - 86,87% (4,096) - der sagde, at de følte sig behagelige ved at bruge det. Faktisk sagde over 99% af respondenterne, at de havde brugt det i det mindste lidt, hvilket er ret bemærkelsesværdigt for ethvert værktøj.

Både Underscore (37,24%) og Lodash (37,67%) havde også et stort antal respondenter, der sagde, at de følte sig behagelige ved at bruge dem.

Når man ser på de store rammende JS-rammer, er væksten i viden om React den mest mærkbare ændring fra sidste år. Det har ikke kun ramt Angular 1 (den førende MVW-ramme sidste år), men det har formået at endda overgå det, med 28,91% (1,363) udviklere, der siger, at de føler sig trygge ved at bruge det sammenlignet med 28,70% (1.353) af dem der sagde det samme om vinkel 1.

Det er også interessant at se, at Angular 2-optagelsen har været ret langsom hidtil, hvor 20,19% af respondenterne sagde, at de havde brugt det lidt, men kun 5,32% sagde, at de følte sig behagelige ved at bruge det. Jeg formoder, at dette tal vil vokse over tid, men det vil være interessant at se ved hvor meget og hvis det når det niveau, som Angular 1 har i øjeblikket.

Kigger på vidensniveauer på tværs af MV-rammebestemmelserne - så alt i listen undtagen jQuery, Underscore og Lodash - 62,23% af respondenterne sagde, at de følte sig behagelige ved at bruge mindst en af ​​disse rammer. Det er lidt over 12% (fra 50,2%), der sagde det samme i sidste års undersøgelse.

Som jeg bemærkede sidste år, er kendskabet til mindst en ramme blevet en vigtig færdighed for mange front-end-udviklere.

Spørgsmål 13: Hvilke JavaScript-biblioteker og / eller rammer bruger du oftest på projekter?

Det næste spørgsmål henviste til den faktiske brug af de biblioteker og rammer, der er nævnt i det foregående spørgsmål.

Spørgsmålet var, Hvilke JavaScript-biblioteker og / eller rammer bruger du oftest på projekter? med respondenter inviteret til at vælge alt, hvad der blev anvendt.

Her er resultaterne:

Antal stemmer Procent
jQuery 3284 69.65%
understregning 714 15.14%
Lodash 1527 32.39%
Rygrad 301 6,38%
Vinkel 1 1180 25.03%
Vinkel 2 387 8,21%
Glød 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å ud 156 3,31%
Jeg bruger ikke nogen af ​​disse tilgange eller værktøjer 132 2,80%
Hvilke JavaScript-biblioteker og / eller rammer bruger du oftest på projekter? - Stregdiagram, der viser resultaterne

jQuery-brugen var igen meget stærk, med over to tredjedele (69,65%) af respondenterne sagde, at de ofte brugte det på deres projekter.

Formentlig mere interessant er, at 37,67% (1 776) af de adspurgte sagde, at de ofte bruger React, selvom det er næsten 10% mere end antallet, der sagde, at de følte sig behagelige ved at bruge det, når de besvarede spørgsmål 12. Det kan derfor konkluderes, at en anstændigt antal af dem, der sagde at de har brugt det bare lidt, bruger også det ofte på deres projekter.

I overensstemmelse med resultaterne fra spørgsmål 12 blev Angular 1 sig til at blive brugt hyppigt af 25,03% (1,180) af respondenterne, mens Angular 2 i øjeblikket ligger langt under dette tal med 8,21% (387) brug.

Selvom vidensniveauet var ensbetydende med Lodash og Underscore i resultaterne af spørgsmål 12, modtog Lodash mere end dobbelt så mange respondenter, som sagde, at de stadig bruger det ofte på deres projekter - 32,39% (1,527) sammenlignet med kun 15,14% (714) til Underscore.

Også en bemærkelsesværdig omtale til Vue.js, som er blevet nævnt meget for nylig, hvor 9,67% af respondenterne siger, at de ofte bruger deres projekter.

Spørgsmål 14: Hvilket JavaScript-bibliotek eller ramme vil du betragte som væsentlig for dig på størstedelen af ​​dine projekter?

Spørgsmål 14 kiggede på, hvad JavaScript-bibliotek eller ramme respondenter anses for at være deres mest afgørende værktøj, med spørgsmålet at Hvilket JavaScript-bibliotek eller ramme vil du betragte som afgørende for dig på størstedelen af ​​dine projekter?

Lad os se på resultaterne:

Antal stemmer Procent
Ingen af ​​dem er afgørende - jeg har det godt med at bruge indfødt JavaScript på mine projekter 985 20,89%
jQuery 1468 31.13%
understregning 38 0,81%
Lodash 262 5,56%
Rygrad 38 0,81%
Vinkel 1 386 8,19%
Vinkel 2 129 2,74%
Glød 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å ud 17 0,36%
Andet (angiv venligst) 72 1,53%
Hvilket JavaScript-bibliotek eller ramme vil du betragte som afgørende for dig på størstedelen af ​​dine projekter? - Stregdiagram, der viser resultaterne

De værktøjer, som de fleste respondenter sagde, var afgørende for dem, var jQuery med 31,13% (1.468 svar), efterfulgt af React, som fik 18,18% (857) af afstemningen.

20,89% (985) af de adspurgte sagde, at de ikke troede at noget bibliotek eller værktøj var afgørende - sandsynligvis på grund af øget viden om ES6 (også kendt som ES2015).

Disse var de eneste svar, der modtog mere end 10% af stemmerne, med Angular 1 det næststørste valg med 8,19% (386) af svarene.

Måske er det mest interessant, at selv blandt dem, der har bedømt sig for at have JS-viden eller højere, er jQuery stadig det mest populære valg med 25,98% af svarene i denne kategori sammenlignet med 20,06% for det næstbedste værktøj, som er React.

Det er klart, at jQuery stadig spiller en vigtig rolle i mange værktøjer i front-end-udviklere.

Q15: JavaScript modul Bundlers

I betragtning af resultaterne fra sidste års undersøgelse var JavaScript-modulbundtnere stadig et redskab, der anvendes af en minoritet af front-end-udviklere, hvor kun 46,1% af respondenterne sagde, at de brugte en i deres egen arbejdsgang.

Vil dette have ændret sig lidt over 12 måneder på? Spørgsmålet var: Bruger du en JavaScript-modulbundler i din workflow?

Lad os se på resultaterne:

Modul Bundler Antal stemmer Procent % Diff (til 2015)
Jeg bruger ikke en modulpakker 1516 32.15% -21,75%
RequireJS 359 7,61% -5,85%
Browserify 510 10,82% -5,65%
Webpack 1962 41.61% + 31,11%
Rul op 79 1,68% N / A
JSPM 108 2,29% + 0,07%
Andet (angiv venligst) 181 3,84% + 0,39%
Bruger du en JavaScript-modulpakker i din workflow? - Piediagram, der viser resultaterne

I et massivt skifte fra sidste år bruger 41,61% (1,962) af respondenterne nu Webpack til at håndtere deres modulbundtning i JavaScript, hvilket gør det til den tydelige leder i denne kategori.

Procentdelen af ​​dem, der nu bruger nogen form for modulpakker, er steget til 67,85% (3,199 svar), en stigning på over 20% i forhold til sidste års tal.

Hvad angår andre modulbundtningsværktøjer, har både Browserify og RequireJS begge set en 5% fald i brugen, hvor 10,82% og 7,61% af respondenterne siger, at de bruger disse respektive værktøjer.

Alt i alt er det dejligt at se så mange udviklere omfavner modulbundtnere. Webpack har naturligvis ramt en rigtig akkord med udviklere og betragtes nu som et go-to-værktøj, når det kommer til håndtering af JavaScript-modulafhængigheder.

Q16: JavaScript Transpilers

Det næste spørgsmål i undersøgelsen er et emne, der er blevet snakket meget om de sidste 12-18 måneder.

Brugen af ​​en JS transpiler, som f.eks. Babel, gør det muligt for udviklere at transpilere deres JavaScript fra ES6 (ES2015) tilbage til ES5, så de kan bruge de nyeste JS-funktioner, mens de stadig yder støtte til ældre browsere.

Spørgsmålet jeg spurgte var Bruger du et værktøj til at transpilere din JavaScript fra ES6 til ES5? (dvs. Babel)

Her er resultaterne:

Svar Antal stemmer Procent
Ja 2942 62,40%
Nej - Jeg har hørt om disse værktøjer, men har ikke brugt en 1443 30.60%
Nej - Jeg har aldrig hørt om en JavaScript-transpiler 330 7,00%
Bruger du et værktøj til at transpilere din JavaScript fra ES6 til ES5? - Piediagram, der viser resultaterne

Størstedelen - 62,40% (2.942) - af respondenterne angav, at de nu bruger en JavaScript-transpiller. I betragtning af den korte periode disse værktøjer har eksisteret, viser dette bare, hvor værdifulde udviklere ser, at de arbejder med ES6-funktioner i dag.

Kun 7% (330) af respondenterne havde aldrig hørt om en JavaScript-transpiler, og viste igen den bemærkelsesværdige rækkevidde, der er opnået på et relativt kort tidsrum.

Når man ser på disse resultater, er det ligefrem at konkludere, at kendskab til et transpilationsværktøj, som f.eks. Babel, bliver en nødvendig færdighed for den moderne front-end-udvikler.

Q17: JavaScript Linting

JavaScript Linting, engang et polariserende emne, er nu integreret i mange udviklere-arbejdsgange. Men hvor mange mennesker bruger en og er der en klar leder blandt værktøjer, som front-end-udviklere bruger?

Spørgsmålet jeg spurgte var Hvilket værktøj bruger du til at lint dit JavaScript? (hvis nogen)

Her er resultaterne:

Værktøj Antal stemmer Procent
Jeg bruger ikke en JavaScript-linter 1.076 22.82%
JSLint 894 18,96%
JSHint 657 13,93%
ESLint 1.927 40,87%
xo 24 0,51%
Andet (angiv venligst) 137 2,91%
Hvilket værktøj bruger du til at lint dit JavaScript? - Piediagram, der viser resultaterne

Størstedelen af ​​respondenterne - 77,18% (3.639 personer) - angav, at de bruger et værktøj til at lint deres JavaScript.

Sammenligning af dette med de resultater, der blev set tidligere i forhold til CSS-linting, er der et tydeligt kløft mellem dem, der vælger at lint deres JavaScript og dem, der gør det samme med deres CSS - en forskel på 29,84% i virkeligheden som kun 47,34% af respondenterne indikerede at de brugte et værktøj til at lint deres CSS.

40,87% (1.927) af respondenterne sagde, at ESLInt var det værktøj, de brugte, hvilket gjorde det til det mest populære lintingværktøj, efterfulgt af JSLint med 18,96% (894) og JSHint med 13,93% (657).

Det er dejligt at se, at linting nu betragtes som normen, når man udvikler JavaScript, især i betragtning af de fordele, det bringer til kodekvalitet og konsistens.

Q18: JavaScript-test

Det næste emne gav nogle af de mest interessante resultater i sidste års undersøgelse.

Sidste år sagde flertallet af respondenterne - 59,66% - at de ikke brugte et værktøj til at hjælpe med at teste deres JavaScript. Er flere udviklere ved hjælp af JS testværktøjer et år på?

Det spørgsmål, jeg spurgte, var Hvilket værktøj bruger du til at teste dit JavaScript? (hvis nogen)

Lad os se på resultaterne:

Værktøj Antal stemmer Procent % Diff (til 2015)
Jeg bruger ikke et værktøj til at teste min JS 2241 47.53% -12,13%
Jasmine 802 17.01% 0,64
mokka 1061 22.50% + 7,46%
bånd 69 1,46% -0,02%
Ava 84 1,78% N / A
QUnit 199 4,22% + 0,37%
jest 164 3,48% + 2,69%
Andet (angiv venligst) 95 2,01% + 0,33%
Hvilket værktøj bruger du til at teste dit 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.

Resumé

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.