11.04.20227 min

Maciej OlanickiRedakcja Bulldogjob

Trendy w programowaniu w 2022 roku

Poznaj trendy, które mają szansę na popularyzację oraz dowiedz się, dlaczego integracja z chmurą, narzędzia bazujące na AI oraz bezpieczeństwo, to dobrze wybory w 2022 roku.

Trendy w programowaniu w 2022 roku

Rozpoczął się już drugi kwartał 2022 roku, a to jest okazją do zastanowienia się, jak w ciągu najbliższych miesięcy kształtować się będą trendy w tworzeniu oprogramowania. To także okazja, by porównać kolejne odsłony naszego Badania Społeczności IT i nakreślenia konkretnych tendencji, kierunku, w którym ewoluuje branża w Polsce.


Bezpieczeństwo

W ciągu ostatnich lat lawinowo rośnie liczba ataków na bezpieczeństwo aplikacji, ale nie tylko – stosowane przez napastników exploity i narzędzia są zdumiewająco zaawansowane, co przekłada się na skuteczne kampanie wymierzone w całe instytucje, korporacje czy miasta. Pojawiają się także zupełnie nowe scenariusze ataków, czego przykładem może być ewolucja ransomware w kierunku ataków typu double extortion czy zatruwanie pakietów npm.

Cała ta sytuacja musi znajdować i coraz częściej znajduje odzwierciedlenie w pracy nad oprogramowaniem, w której troska o bezpieczeństwo zyskuje coraz wyższy priorytet. Coraz częściej sięga się po „nowe”, bezpieczniejsze języki programowania, np. TypeScript zamiast JavaScript czy Rust zamiast C++. Coraz większa liczba organizacji rozbudowuje zespoły o stanowiska takie, jak DevSecOps. Trwają także prace nad zabezpieczaniem wirtualnych łańcuchów dostaw, tak aby instalowane pakiety czy aktualizacje miały gwarancję bezpieczeństwa. 

Nie ma wątpliwości, że kierunek ten, obrany poniekąd z konieczności, będzie w tym roku na fali wznoszącej.


Low-code i no-code

Narzędzia służące do tworzenia aplikacji z użyciem bez konieczności posiadania fachowej wiedzy o programowaniu zazwyczaj kojarzymy z najmniej zaawansowanym oprogramowaniem rozwijanym na bardzo ograniczone potrzeby przez osoby, które nie posiadają doświadczenia pracy bezpośrednio z prawdziwym kodem. Ot, za pomocą paru bloków można sobie zbudować programik, który w najlepszym wypadku będzie automatyzował jakiś prosty proces. 

W ciągu ostatnich miesięcy swoje platformy low-code i no-code zaczęli intensywnie rozwijać niemal wszyscy dostawcy usług iT: korzystać można już ze stabilnych wersji Azure Logic Apps i PowerApps, Amazon zaprezentował w grudniu swoje Amplify Studio, nad swoimi narzędziami intensywnie pracuje także Apple. Wszystkie te devkity są narzędziami o nieporównywalnie większych możliwościach niż te znane od lat. A to skłania coraz większą liczbę komentatorów do twierdzenia, że platformy low-code i no-code znajdą zastosowanie także dla profesjonalnych programistów, wspomagając i automatyzując ich pracę.

Dobrym przykładem jest zwłaszcza wspomniany AWS Amplify Studio – narzędzie Amazona ma służyć programistom do szybkiego budowania wyspecjalizowanych aplikacji (np. wspomagających w konkretnych procesach „właściwe” oprogramowanie) działających natywnie w chmurze. A skoro już jesteśmy przy tej kwestii…


Aplikacje cloud-native

Tempo ekspansji usług chmurowych w ostatnich latach jest gigantyczne i nic nie zapowiada, aby miało ono w najbliższym czasie maleć. Wszyscy najwięksi dostawcy, Amazon, Microsoft i Google, dynamicznie rozbudowują swoje portfolio o coraz to nowe usługi cechujące się coraz większą specjalizacją. W wersji stabilnej, jak i testowej jest trudna do przeszacowania liczba narzędzi, które pozwalają budować aplikacje, które od początku do końca zaprojektowane zostały do działania w całości w chmurze.

W tym roku można się spodziewać, że coraz większa liczba aplikacji będzie rozwijana na bazie stosu technologicznego stojącego w całości na zewnętrznych serwerach. Konteneryzacja i budowa aplikacji na bazie mikrousług przyśpiesza ten proces, choć niektóre organizacje dostrzegają już potrzeby przenoszenia części obciążeń, np. tych wymagających minimalnych opóźnień, do lokalnych serwerowni, co nazywamy edge computingiem. Problemem może się też okazać kwestia zbytniego uzależnienia całego środowiska od jednego dostawcy usług, dlatego też większe organizacje decydują się na budowanie środowisk multi-cloud. 

Wszystko to sprawia, że granice pomiędzy tym, co lokalne, a tym co w chmurze powoli się zacierają, przez co nie brakuje prognoz, że liczba aplikacji zaprojektowanych wyłącznie z myślą o działaniu w chmurze będzie się w najbliższej przyszłości systematycznie zwiększać.


Zdalne środowiska i narzędzia programistyczne

Do chmury przenoszą się zresztą nie tylko same aplikacje, ale także… programistyczne stacje robocze. Zwłaszcza po wdrożeniu na ogromną skalę pracy zdalnej lub hybrydowej nasilone zostały działania mające na celu dostarczania końcowym użytkownikom desktopów działających w chmurze.

Dobrym przykładem jest Azure Virtual Desktop, dzięki któremu uzyskujemy zdalny dostęp do pulpitu Windowsa 10, również z predefiniowanymi dla danego projektu narzędziami deweloperskimi. Osobny przykład stanowi także Visual Studio Code Online – od jakiegoś czasu z jednego z najpopularniejszych edytorów developerskich można korzystać za pomocą przeglądarki internetowej, a podobnych przykładów jest więcej.

Zapewne jeszcze długa droga przed nami, zanim stojące w biurach i domach pecety zaczną stanowić tylko rodzaj cienkiego klienta, za pomocą którego będziemy tylko łączyć się z pulpitem działającym w chmurze, jednak już dziś widać duże postępy w opracowywaniu wygodnych w zarządzaniu chmurowych stacji roboczych, które sprzętowo będą polegać na centrach danych Microsoftu czy AWS.


Automatyzacja code review i inteligentne edytory

Można się spodziewać, że w bieżącym roku kolejnych udoskonaleń wynikających z zastosowania AI doczekają się również standardowe, działające na metalu narzędzia developerskie. Dość wspomnieć o zaawansowanych rozwiązaniach autosugestii wprowadzonych w najpopularniejszych IDE (np. produkty JetBrains, Visual Studio) czy rozwijanym przez GitHub narzędziu Copilot. Ich możliwości z miesiąca na miesiąc stają się coraz potężniejsze i można liczyć na to, ze rozwój inteligentnych edytorów będzie rozkwitał zarówno w tym roku, jak i w dalszej przyszłości.

Implementacja elementów sztucznej inteligencje w narzędziach deweloperskich służyć będzie także postępującej automatyzacji. Dobrym przykładem może być automatyzacja code review – już dziś dysponujemy „skanerami”, które sprawdzają kod pod względem bezpieczeństwa, wydajności czy stylu. Należy oczywiście pamiętać, że automatyczne code review być może nie zastąpi tradycyjnego, jednak już dziś można uznać je za przydatne wsparcie w całym procesie – code review to przecież dla zespołów developerskich okazja do przedyskutowania kluczowy kwestii i ugruntowania współpracy w zespole. 


Trendy w Badaniu Społeczności IT

Dotąd zajmowaliśmy się głównie globalnymi prognozami dotyczącymi najważniejszych trendów w programowaniu. Teraz czas, aby przeanalizować pod kątem tegorocznych trendów najnowszą odsłonę naszego Badania Społeczności IT. Dzięki nim będziemy mogli prześledzić faktyczne tendencje panujące wśród polskich programistów – ich preferencje co do języków programowania czy frameworków. 


Trendy w językach programowania w 2022 r.

Pierwsze różnice pomiędzy raportami z kolejnych odsłon widać już na liście popularności języków programowania, które ankietowani wskazywali jako najpopularniejsze. Pierwsze miejsce zajął w tym roku SQL, co pokrywa się ze strukturą specjalizacji – największa część badanych deklarowała się jako Backend Developerzy (42%). SQL awansował w stosunku do zeszłorocznej odsłony Badania z trzeciego miejsca, wyprzedzając JavaScript i HTML/CSS.

Kolejną tendencją wartą odnotowania jest stopniowo topniejąca popularność języka Java – w tym roku korzysta z niego zaledwie 30% badanych, natomiast w zeszłym było 43%. Awansem z 6 na 4 miejsce może się pochwalić Python, co potwierdza globalną tendencję rosnącej popularności tego języka. 

Dużych zmian nie sposób odnotować natomiast w kwestii drugiego języka czy też drugiej technologii. W tym roku zbadaliśmy tę kwestię wnikliwiej niż przed rokiem, z uwzględnieniem pierwszego języka i trzeba przyznać, że wnioski są dość logiczne i konsekwentne. Jeśli ktoś pracuje jako Frontend Developer to w większości przypadków jego podstawowym językiem jest JavaSctipt, ale radzi sobie także świetnie z HTML-em i CSS-em. Podobnie sprawy mają się np. z Kotlinem. Jest to dziś główny język programowania aplikacji na Androida, nie należy się więc dziwić, że większość Programistów Kotlin zna także Javę. W przypadku bardziej wszechstronnych języków, jak Python i C#, najpopularniejszy jako drugi język jest SQL.


Trendy we frameworkach w 2022 r.

Osobną kategorię raportu stanowią badania nad popularnością frameworków, rzecz jasna z rozróżnieniem na konkretne języki programowania. Co ciekawe, nawet w przypadkach, gdzie trudno spodziewać się dużych zmian, np. kontekście związku C# z .NET, można wyłuskać pomniejsze trendy i tendencje.

Zacznijmy od wspomnianego C# – oczywiście w tym roku prym także wiedze .NET, jednak spore roszady zaszły na dalszych miejscach. W minionej odsłonie inne scenariusze wykorzystania C# były absolutnie niszowe (1% Unity i 1% .NET Core). W tym roku zaszła tu diametralna zmiana – aż 25% badanych korzysta z Entity Framework, 18% z Angulara, 17% z ASP.NET oraz 11% z Reacta. Niewątpliwym trendem jest więc rosnąca liczba zastosowań języka Microsoftu, który z roku na rok staje się coraz bardziej wszechstronny. 

Również w przypadku JavaScript zaszły godne odnotowania zmiany. Co prawda podobnie jak w C# niepodzielnie króluje tu React, niemniej przetasowania mamy już na podium. O ile bowiem w zeszłym roku Angular miał drugie miejsce z wynikiem 24%, tak tegoroczna odsłona pokazuje, że Vue.js zrównuje się z Angularem pod względem podatności. Bardzo duży spadek – z 4 na 9 miejsce – zaliczyło także jQuery. Wzrasta natomiast popularność Redux oraz Node.js.


Trendy w rozwiązaniach

Duże zmiany, potwierdzające zresztą wcześniejsze, globalne hipotezy, zaszły w „rozwiązaniach” – pod tą ogólną nazwą kryją po prostu środowiska, w którym uruchamiane są aplikacje. W tym aspekcie trendy widać jak na dłoni. 

W zeszłorocznej odsłonie Badania z serwerów dedykowanych korzystało aż 61% badanych, podczas gdy w tym jest to już 51%. Serwery dedykowane spadły aż na trzecie miejsc, ustępując rozwiązaniom chmurowym (lider z 63%), ale także środowiskom on-premise (55%). Zdecydowanie potwierdza się więc sygnalizowana już ekspansja usług chmurowych.

Kolejny ciekawy trend można zaobserwować także na ostatnich miejscach na liście – popularność VPS-ów spadła na tyle, że wyprzedziła je chmurowa architektura serverless pozwalająca odciążyć zespoły programistyczne, automatyzując zarządzanie infrastrukturą. Słowem – usługi chmurowe prężnie rozwijajom się kosztem popularności tradycyjnych rozwiązań serwerowych, czy to sprzętowych, czy wirtualizowanych.


Podsumowanie

Na podstawie zaproponowanych tutaj trendów można nakreślić inne, większe tendencje i kierunki, w których zmierzać może programowanie w 2022 roku i latach kolejnych. Coraz większą rolę odgrywa chmura, co oczywiście nie jest zjawiskiem świeżym, lecz nic także nie wskazuje, aby miało ono zostać w przyszłości jakkolwiek spowolnione. Ponadto można zaobserwować coraz większą integrację narzędzi programistycznych, ale też funkcji samych aplikacji z elementami sztucznej inteligencji. Oba te czynniki znajdują zresztą szerokie zastosowanie w różnych paradygmatach bezpieczeństwa, czyli zagadnieniu, które z roku na rok odgrywać będzie w rozwijaniu aplikacji coraz większą rolę.

<p>Loading...</p>