JavaScript – dla jednych to przekleństwo, które fatalnie i nieodwracalnie wpłynęło na rozwój oprogramowania, dla innych codzienność i narzędzie, dzięki któremu powstają rzeczy niezwykłe. Chcemy tego czy nie, JavaScript wciąż jest najpopularniejszym językiem programowania i w pewnym sensie stanowi papierek lakmusowy dla całej branży. Dziś ostatni dzień roku, a to dobra okazja by spojrzeć na ostatnie dwanaście miesięcy właśnie przez javascriptowy pryzmat.
StateOfJs – jaki był JavaScript w mijający roku?
Niezwykle pomocne będą w tym wyniki badań StateOfJS, jakie w ostatnim czasie opublikował zespół pod kierownictwem Nwose Lotanny. Tegoroczna odsłona to trzecie z kolei badanie opinii, które skupia się wyłącznie na frameworkach, bazach danych, środowiskach, narzędziach diagnostycznych i innych narzędziach programistycznych stosowanych przez programistów JavaScript. Oczywiście podobnych badań jest więcej, lecz niewiele z nich skupia się tylko na jednym języku programowania. Dzięki tej specjalizacji Lotanna co roku dzieli się ze światem najważniejszymi trendami panującymi wśród deweloperów najpopularniejszego języka programowania.
Demografia – kim jesteś, programisto JavaScript?
W badaniu wzięło udział ponad 20 258 programistów z 153 państw. Najwięcej z nich (24,34%) pochodziło ze Stanów Zjednoczonych, niemniej relatywnie dużą reprezentację miały także państwa zachodnioeuropejskie, Rosja i Australia – bilansowały amerykańską dominację sumując swoje kilkuprocentowe wyniki. Pewnym demograficznym mankamentem jest fakt, że w badaniu wzięło udział zaledwie 75 chińskich programistów. Powodów jest wiele, niemniej większa reprezentacja 1,4-miliardowego kraju, gdzie produkuje się mnóstwo oprogramowania mogłaby zapewne zauważalnie wpłynąć na wyniki tegorocznego StateOfJs. Polskich javascriptowców reprezentowało 487 osób, co stanowi niezłe 2,4% wszystkich badanych.
94% badanych stanowili mężczyźni. Największą grupę wśród badanych stanowiły osoby z doświadczeniem 5-10 lat (28), minimalnie mniej osoby ze stażem wynoszącym od 2 do 5 lat (27,8). Duża grupę stanowili deweloperzy z ponad 10-letnim stażem, zaś juniorzy (do 2 lat doświadczenia) mieli w badaniach reprezentację niewiele przewyższającą 10%. Nie zabrakło także pytań o zarobki – 29,6% zarabia od 50 do 100 tys. dolarów rocznie. W tej kwestii znacznie ciekawszych informacji dostarcza jednak podział na kraje, gdyż dysproporcje są tu ogromne. Średnią zdecydowanie zawyżają Amerykanie i Australijczycy (kolejno 116,7 i 109 tys. dolarów rocznie), na przeciwległym końcu mamy Rosjan czy programistów z Ameryki Południowej (średnio do 30 tys. dolarów rocznie). Niestety, w końcu stawki znajduje się także Polska – u nas programista JavaScript zarabia w ciągu roku średnio 36,9 tys. dolarów.
Nie tylko JavaScript (TypeScript, głupcze!)
Czasy się zmieniają, a JavaScript wciąż jest najpopularniejszym językiem programowania. Nie znaczy to jednak, że wszyscy posługują się „czystym” JS, wręcz przeciwnie. Z roku na rok rośnie popularność różnych odmian tego języka. To w tym przypadku mamy do czynienia z jednym z najciekawszych wniosków badań, popartych największym skokiem popularności z roku na rok. Jeszcze rok temu liczba ankietowanych, która entuzjastycznie wyrażała się o TypeScripcie (deklaracja „używałem i chętnie użyję w przyszłości”) wynosiła nieco ponad 20%. Minęło raptem 12 miesięcy i zdeklarowanych użytkowników TypeScripta mamy już… 46,7%! W niektórych państwach liczba użytkowników TypeScripta przekroczyła nawet 50%.
Mimo że ogromny wzrost popularności TypeScripta to być może najważniejszy wniosek z tegorocznych badań, to wciąż ES6 budzi najwięcej pozytywnych deklaracji (ponad 86%). Na drugim miejscu plasuje się wspomniany TypeScript, dalej uplasował się Flow, z którego chętnie skorzysta w przyszłości 10,2% ankietowanych. Jednocyfrową popularnością cieszą się Reason (5,6%), Elm (4,3%) i ClojureScript (2,3%). Co ciekawe, we wszystkich odmianach utrzymuje się duży odsetek deklaracji „słyszałem o tym, chciałbym się nauczyć” – jest to od 16,1% w przypadku Cj do 34,5% dla Flow. Tutaj także w czołówce jest TypeScript – chęć zapoznania się z nim deklaruje aż 33,7% badanych, co wskazuje tylko na jedno – TypeScript będzie wkrótce jeszcze bardziej popularniejszy.
Najpopularniejsze frameworki
Jeśli chodzi o wykorzystywane frameworki, to odpowiedzi zostały rozsądnie podzielone na front-end, back-end oraz przetwarzanie danych. W pierwszej kategorii nie sposób być zaskoczonym. Niepodzielnie rządzi rozwijany przez Facebooka i gwarantujący imponujące możliwości adaptowania layoutu React. Używa go i deklaruje użycie w przyszłości 64,8% badanych. O ile w przypadku odmian JS mieliśmy do czynienia z dość wyważonym stopniowaniem, tak w przypadku front-endowych frameworków mamy prawdziwą przepaść – tylko 28,8% badanych jest zadowolonych z Vue.js.
Fatalnie wypadł Angular – aż 33,8% stwierdziło, że używało tego frameworku, ale po tym doświadczeniu nie ma zamiaru robić tego więcej w przyszłości. Może to być jednak powodowane myleniem Angular z nierozwijanym już AngularJS. Równie jaskrawe podziały istnieją na back-endzie: tam niepodzielnie króluje Express z wynikiem 64,7%. Zaledwie 8,6% korzystało i zamierza korzystać z Next.js, o procent mniej interesuje się Koa. Wyniki poniżej 5% odnotowały frameworki Meteor, Sails i FeathersJS. Trochę bardziej wyważona sytuacja ma miejsce w przetwarzaniu danych – 47,2% głosów pozytywnych zdobył Redux, 20,4% GraphQL, 11,1% Apollo.
Summa summarum
Ważnym elementem badania były także pytania o kierunek rozwoju JavaScript. Zestawiając wypowiedzi z roku 2018 z opiniami sprzed roku i dwóch lat można dojść do optymistycznych wniosków. W ciągu dwóch lat z 39,6% do 51% wzrosło wśród programistów przekonanie, że JavaScript zmierza w dobrym kierunku. Z 29,4 do 22 zmalało przekonanie, że tworzenie aplikacji javascriptowych jest zbyt skomplikowane. Z bardziej jaskrawych zmian należy także wymienić znaczny (z 33,6 do 25%) spadek popularności opinii, że ekosystem JavaScript zmienia się zbyt szybko.
Na podstawie naszych porównań tegorocznego StateOfJs z poprzednimi odsłonami można dojść do wniosku, że tak naprawdę nie zmieniło się wiele, a JavaScript wciąż prze naprzód i nic nie zapowiada, by wkrótce miało się to zmienić. Jeżeli mielibyśmy wybrać najbardziej jaskrawe trendy, które stanowić miałyby odpowiedź na pytanie „pod jakim znakiem upłynął 2018 w świecie JavaScript?”, to z całą pewnością byłby to TypeScript. Rozwijana przez Microsoft odmiana JavaScriptu podbija serca coraz większej liczby programistów, ma świetną recepcję ze względu na swoją przejrzystość i prostotę. Ponadto pozytywne opinie programistów wskazują, że zainteresowanie TypeScriptem w kolejnych miesiącach będzie wyłącznie rosło.