top of page
Zdjęcie autoraKatarzyna Pilarska

Czy to koniec dla front-end developerów w tradycyjnym wydaniu?

Ofert pracy dla developerów front-end jest coraz mniej. Jeszcze niedawno specjaliści front-endowi mogli przebierać w ofertach pracy. Obecnie sytuacja się zmienia, a liczba dostępnych ofert pracy maleje. Front-end developerzy stają przed wyzwaniem dostosowania się do nowych realiów, w których popularność zyskują rozwiązania low code i no code. Dlaczego tak się dzieje i jak w obliczu tych zmian zadbać o swoją przyszłość zawodową?


IT Developer coding

Przed pojawieniem się SPA


Programiści internetowi byli uniwersalnymi specjalistami, odpowiedzialnymi za części front-end i back-end jednocześnie. Aplikacje internetowe były zazwyczaj wielostronicowe. Oznaczało to, że za każdym razem, gdy użytkownik wchodził w interakcję z aplikacją, serwer wysyłał nową stronę w całości, a przeglądarka ładowała ją ponownie. Za każdym razem, gdy użytkownik poruszał się między stronami, następowało pełne przeładowanie strony, co mogło spowalniać działanie i tworzyć mniej płynne doświadczenie użytkownika. 


Po rozwoju technologii internetowych i rosnących oczekiwaniach użytkowników pojawiły się nowe rozwiązania, które miały umożliwić pracę ze złożonym interfejsem bez konieczności przeładowania całej strony podczas interakcji z jej wybranym elementem.



Developer coding at empty office

Pierwsze rozwiązania SPA


Tak pojawiły się pierwsze rozwiązania dla SPA (Single Page Application) używające BackboneJs lub AngularJs. Pozwalały one zmniejszyć obciążenie serwera, którego zasoby były wówczas ograniczone, oraz zapewniały interaktywność przy pracy ze stroną internetową za pomocą JavaScript, ponieważ nie było potrzeby oczekiwania na nową stronę z aktualizacjami od serwera.


W ten sposób pojawił się podział na części front-end i back-end. Rola czysto front-endowych programistów stała się bardziej pożądana i zróżnicowana. Zaczęli specjalizować się w tworzeniu interfejsów użytkownika, pracy z HTML, CSS i JavaScript, a także w interakcji z API i serwerem. Z kolei programiści back-end bardziej skupiali się na przetwarzaniu danych, logice biznesowej aplikacji, pracy z bazami danych oraz tworzeniu API serwera.


I tak rozpoczęła się era React, Angular 2, Vue i innych technologii do tworzenia aplikacji internetowych. Zamiast tworzyć proste formularze i listy, mamy routingi, zarządzanie stanem, API przeglądarki, łączenie tokenów autoryzacyjnych z żądaniami, mapowanie danych itp.


UX

Problemy z SPA


W wyniku podejścia SPA pojawiło się wiele problemów:

  • Trudności w komunikacji i koordynacji danych transferowanych pomiędzy serwerem a klientem. Kontrakty API i metody komunikacji — HTTP 1.1, WebSocket, GraphQL. Parsowanie i walidacja JSON.

  • Rozbieżności w zrozumieniu i wiedzy. Można opracować aplikację front-end, która tworzy wiele zapytań i uznać to za optymalne rozwiązanie, dla back-endu jednak nie ma ono nic wspólnego z optymalizacją, ponieważ wymaga wielu dostępów do bazy danych i właściwej agregacji danych, co wpłynie na wydajność aplikacji.

  • Powielanie pracy. Większość operacji CRUD na back-endzie miała podobne zachowanie na front-endzie. 

  • Trudności w debugowaniu i testowaniu. Trzeba uwzględniać możliwe problemy integracyjne i testować je w kontekście obu stron aplikacji. 

  • Zwiększony czas i koszty rozwoju. Każda zmiana w kontrakcie API wymaga dwóch osób jednocześnie. 

  • Bezpieczeństwo: SPA: Jest bardziej podatne na ataki typu Cross-site scripting (XSS), ponieważ większość logiki aplikacji jest wykonywana po stronie klienta. SSR: Jest bezpieczniejsze, ponieważ logika aplikacji jest wykonywana po stronie serwera.

  • SEO: SPA ma gorsze SEO w porównaniu do SSR, ponieważ większość wyszukiwarek ma problemy z indeksowaniem stron renderowanych po stronie klienta. SSR zapewnia lepsze SEO, ponieważ serwer generuje HTML dla aplikacji internetowej, który może być łatwo indeksowany przez wyszukiwarki.


Frontend w tradycyjnym ujęciu przestaje mieć sens


Wystarczy odwiedzić dowolny job board, aby zobaczyć ile i jakie oferty są aktualnie dostępne. Popularność zyskują zestawy kompetencji pozwalających tworzyć aplikacje internetowe oparte na serwerze takie jak:  Python + Django, PHP + Laravel, TypeScript + Next.js / Nuxt.


backend developer

Korzyści z podejścia SSR (full stack) jest wiele:


  • Aplikacja serwerowa nie potrzebuje tak skomplikowanych kontraktów HTTP lub WS i duplikacji ich obsługi po obu stronach, może również korzystać z lepszych metod wymiany informacji z innymi usługami, takich jak gRPC.

  • Proces wprowadzania zmian jest szybszy ze względu na brak konieczności adaptacji kodu back end i front end po zmianie API. Dla jednej osoby rezultat, który widzi użytkownik, zmienia się natychmiast.

  • Testy mogą sprawdzać aplikację holistycznie, głównie dzięki prostszemu środowisku testowemu.

  • Dzięki wymianie tylko znacznika HTML, cała logika „żądanie-odpowiedź” jest ukryta dla użytkownika.

  • Po co przesyłać dużo danych w formacie JSON, aby przywrócić SPA do właściwego stanu, kiedy można przesłać gotowy szablon?


Czy front-end nie jest już potrzebny?


Developerzy front-end nadal będą potrzebni, jednak zapotrzebowanie na nich będzie raczej maleć, ze względu na rosnącą liczbę wdrożeń full stack: Next. js, Nuxt oraz rosnącemu zainteresowaniu technologiami full stack, opartymi na języku programowania Rust: Np. Leptos, Dioxus.


Programistów front-end nie będzie również potrzebnych tak wielu, ze względu na obserwowany dynamiczny rozwój rozwiązań Low-Code i No-Code, generowaniu szablonów przez AI, oraz potrzebie sprostania wymaganiom SEO.


Potwierdzają to liczby poszczególnych ofert pracy. W ostatnim czasie obserwujemy, że rośnie liczba ofert i projektów, w których potrzebni są specjaliści full stack. 


team meeting at the office

To może Fullstack? 


Czy nastanie zatem moda na programistę full-stack? Moda raczej nie, bardziej będzie to potrzeba biznesowa uzasadniona elastycznością w implementacji, z w dalszej perspektywie również utrzymaniu aplikacji.


Specjaliści front-end nadal będą potrzebni, sporo aplikacji jest już bowiem wdrożonych, tych specjalistów będzie jednak potrzebnych dużo mniej. Szacuje się, że udział poszczególnych kategorii w rynku pracy w IT wynosi odpowiednio: Frontend 5,5%, Fullstack 9,4%, Backend 19%. Na jedno ogłoszenie o pracy na poziomie Mid, pracodawcy otrzymują odpowiednio na Frontend 215 CV, na Fullstack 44 CV, na Backend 60 CV. Źródło https://nofluffjobs.com/insights/


Prognozy dla front-end developerów


Może to dobry moment, aby zastanowić się, czy pozostanie czysto front-endowym programistą to dobra ścieżka rozwoju. Jeśli tak, to najlepiej, aby był to programista 10X, o którym pisaliśmy tutaj. Przewiduje się bowiem, że obecni programiści front-end przekwalifikują się na Fullstack z podziałem 60%-front-end, i 40%-back-end.


Możemy zauważyć w ostatnim czasie wzrost zainteresowania Next.js, Nuxt i htmx. Jak podaje htmx.org, HTMX zajął 2 miejsce w kategorii "Front-end Frameworks" w konkursie JavaScript Rising Stars 2023, tuż za Reactem i 10 miejsce ogólnie. Zatem popularność takich rozwiązań rośnie, a  HTMX może być dopiero początkiem.



21 wyświetleń0 komentarzy

Comments


bottom of page