StackOverflow Developer Survey to największa programistyczna ankieta w branży. Kilka dni temu zostały opublikowane wyniki tegorocznej edycji i dlatego w dzisiejszym przeglądzie przeanalizujemy jej wyniki z perspektywy Frontend Developera.
StackOverflow Developer Survey 2022
Jeśli śledzicie nasze przeglądy od jakiegoś czasu to pewnie wiecie jak bardzo lubujemy się we wszelakich statystykach i ankietch. W minionym tygdoniu dostaliśmy prawdziwy crem de la creme, bo opublikowane zostały wyniki kolejnej edycji StackOverflow Developer Survey. W tym roku ankietę wypełniło ponad siedemdziesiąt tysięcy deweloperów. Dla porównania największą frontendową ankietę, czyli State of JS, w zeszłym roku wypełniło szesnaście tysięcy deweloperów.
Dzisiaj skupimy się na frontendowej części ankiety, ale jeśli jesteście cielawi ogólnobranżowego sporzejnia, to zachęcam Was do zerknięcia do naszego sobotniego przeglądu. Jeśli po przczytaniu obu przeglądów nadal będziecie mieli ochotę na więcej, to w poniedziałek pojawi się kolejny odcinekj Vived Digest poświęcony właśnie Stackoverflow Developer Survey. Tak, my na prawdę uwielbiamy statystyki.
1. TypeScript jest najlepszy na świecie
TypeScript jest 3 najpopularniejszym językiem programowania (HTML i SQL nie traktuję tutaj do końca poważnie). Co ciekawe, duża popularność nie wpłynęła negatywnie na liczbę osób niechętnie nastawionych do języka. Biorąc pod uwagę proporcję kochających względem nienawidzących danej technologii, TypeScript zajął wysokie 4 miejsce z wynikiem 73/27. Bez wątpienia możemy powiedzieć, że TypeScript podbił serca deweloperów. Czy TypeScript jest znacząco lepszym językiem od Pythona, C# czy Javy? Moim zdaniem nie, ale i tak ma specjalne miejsce w sercach deweloperów ze względu na to jak nisko poprzeczkę zawiesił JavaScript. Jeśli całe życie jeździsz maluchem, to przesiadka do Fiata Punto będzie jak przejażdżka limuzyną.
2. Dziś każdy jest człowiekiem orkiestrą
Większość deweloperów definiuje swoją rolę w zespole jako Fullstack. Nie jestem pewien, czy w ostatnich latach rola ta nie zmieniła swojej definicji. Obecnie Fullstack to już nie tylko osoby rozwijające zarówno backend jak i frontend, ale też na osoby tworzące frontend i utrzymujące swoją chmurę, albo osoby utrzymujące prosty backend-for-frontend. Biorąc pod uwagę taką definicję, wyniki ankiety przestają mnie zaskakiwać. Skończyły się czasy wąskich specjalizacji i nadeszły czasy wszechstronnych deweloperów.
3. Chcesz dobrze zarabiać? Pora zmienić specjalizację…
Niestety spora popularność JavaScript i TypeScript nie przekłada się na wysokie zarobki. Średnia pensja wśród osób wykorzystujący te języki w pracy wynosi odpowienio 65k$ i 70k$ rocznie. Wciąż warto uczyć się TypeScript’a, ale jeśli chcecie optymalizować zarobki to lepszym wyborem będzie jeden z funkcyjnych języków takich jak F#(106k$), Clojure(103k$) czy Scala(92k$). Jeśli mówimy już o zarobkach, to warto wspomnieć, że najgorszy stosunek średniego doświadczenia do średnich zarobków ma stary dobry PHP. Pytanie tylko, czy wysokość zarobków jest związana nie tyle z wykorzystywanym językiem, co z rodzajem tworzonego oprogramownia. Proste webowe landingi na pewno są łatwiejsze w implementacji niż współbieżne, szybkie systemy oparte o model aktora.
4. Aplikacje desktopowe istnieją i jest ich więcj niż myślisz
W ostatnich latach, a nawet miesiącach frameworki do tworzenia desktopowych aplikacji rosną jak grzyby po deszczu. Za każdym razem, kiedy w swoich przeglądach poruszam ten temat kwestionuję, czy w dzisiejszych czasach tworzy się jeszcze aplikacje okienkowe. Okazuje się, że tak i to całkiem sporo. Ponad 15% deweloperów zadeklarowało, że w pracy rozwija głównie takie aplikacjie. Co ciekawe na aplikacjach mobilnych skupia się tylko 13% deweloperów. Ja wiem, że zapewne duża część z tych aplikacji to wewnętrzne korporacyjne aplikacje, ale na mnie liczby te i tak robią wrażenie.
5. Svelte frameworkiem roku
Svelte podobnie jak TypeScript pomimo upływu lat nie traci na zadowoleniu deweloperów. Tutaj mamy co prawda zdecydowanie mniej dynamizny wzrost, ale ja nie ironicznie trzymam za Svelte kciuki. Im więcej konkurencji na naszym małym frontendowym poletku tym lepiej dla nas deweloperów. Szkoda tylko, że StackOverflow nie umieściło w ankiecie Solid.js, bo ja jestem ciekawy czy tym razem również przebiłby on Svelte (taka sytuacja miała miejsce w State of JS 2021)
Źródła:
https://survey.stackoverflow.com/2022/
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Fresh 1.0
Istnieje teoria, że za sukcesem każdego języka programowania stoi nie tyle sam język, co najpopularniejszy powiązany z nim framework lub biblioteka. Czy Java byłaby tak popularna, gdyby nie Spring? Albo czy C# byłby tak lubiany gdyby nie .NET? Ciężko stwierdzić, co odgrywa tutaj kluczową rolę, ale uważam, że w teorii tej jest ziarenko prawdy.
Co prawda Deno to środowisko uruchomieniowe, ale wydaje mi się, że teorię z poprzedniego akapitu spokojnie możemy zaaplikować również do niego. Frameworkiem, który ma szanse przynieść “lepszemu Nodeowi” wspomniany sukces ma być wydany w minionym tygodniu Fresh.
Na pierwszy rzut oka Fresh nie wygląda nadzwyczajniei. Jest to po prostu kolejny framework do renderowania po stronie serwera, tym razem opary o Preacta i skupiający się na zwracaniu statycznych treści. Jest to jednak pierwszy framework przygotowany od początku z myślą o Deno. Oznacz to między innymi, że na serwer wgrywamy pliki .ts i oszczędzamy czas na budowaniu aplikacji oraz domyślnie otrzymujemy dużo wyższe bezpiepieczeństwo.
Oczywiście dobra integracja z Deno to nie wszystko co oferuje Fresh. Największą Innowacją jest “architektura wysp”, polegająca na wydzieleniu w aplikacji części statycznych i dynamicznych. W Fresh komponenty dynamiczne umieszczone muszą być w specjalnym katalogu `/islands` i tylko one podlegać będą hydracji po stronie klienta. Skąd nazwa? Części dynamiczne to małe wyspy pośrodku morza statycznych treści.
Na koniec warto jeszcze dodaż, że Fresh integruje się z świetnie z Chmurą oferowaną przez Deno. I na myśli mam tutaj nie tylko Deno Deploy, ale też Netlify Edge Function i Supabase Edge Functions. Biorąc pod uwagę szbkie odpowiedzi z Edge Functions i nastawienie frameworka na optymalizację czasów odpowiedzi, widzę tutaj całkiem dobrą synergię. Zobaczymy tylko, czy wystarczająco dobrą, żeby konkurować z analogicznymi funkcjonalnościami Next.js
PS. Jeśli lubicie krótkie formy wideo, to Fireship ponownie nie zawodzi i poniżej znajdziecie wytłumaczenie Fresh w 100s!