Masz już konto? Zaloguj się
Artykuły

Czy webdev kręci się w kółko?

Opublikowany 31 sierpnia 2023

Początek roku to czas kiedy zasypują nas różnego rodzaju podsumowania tego co było i przewidywania tego co będzie.
Podczas gdy w podsumowaniu nie ma nic złego, tak o skuteczności przewidywania przyszłości najlepiej przekonać się, sięgając po "wizje" z poprzedniego roku.
Niezmienne pozostaje tylko to, że wszystko nieustannie się rozwija a my jako programiści, powinniśmy pozostawać na bieżąco.

Jednym z gorących tematów w ostatnim czasie są React Server Components, czyli jak nazwa wskazuje - komponenty działające po stronie serwera. O plusach i minusach tego rozwiązania jeszcze będzie okazja porozmawiać ale tym razem chciałem zwrócić uwagę na jedną rzecz - cofanie się lub też bardziej "zataczanie koła".

Chodzi o to że RSC umożliwiają m.in. bezpośrednią komunikację z bazą danych, nawet poprzez bezpośrednie napisanie zapytania SQL, co na pierwszy rzut oka wygląda jak kod który pisaliśmy jakieś 15 lat temu i przez ostatnie lata był to sztandarowy przykład tego jak nie programować.

Z perspektywy czasu jasno widać pewien trend: początkowo wszystko odbywało się na serwerze a klient otrzymywał tylko gotowy kod HTML strony. Później pojawił się JavaScript i ciężar stopniowo przechodził coraz bardziej na klienta, ograniczając rolę serwera do wystawienia określonego API. I teraz ponownie wracamy na serwer aby wykorzystać jego potencjał i odciążyć klienta.

Na pierwszy rzut oka, wracamy do tego co już było.

Aby jednak zrozumieć to, co dokładnie się dzieje, polecam najpierw zobaczyć świetną animację będącą jednocześnie streszczeniem książki Principles (~Ray Dalio):
https://www.youtube.com/watch?v=B9XGUpQZY38
Swoją drogą polecam przeczytać również samą książkę.

W każdym razie w trakcie tej animacji pojawia się wizualizacja rozwoju w postaci linii zataczającej pętle. Patrząc z bliska wygląda to jak zataczanie koła i stanie w miejscu. Lecz gdy spojrzymy z szerszej perspektywy, okazuje się że nieustanny wzrost faktycznie ma miejsce.

I podobnie jest w tym przypadku. Fakt że ciężar w web developmencie wraca stopniowo na serwer, nie oznacza cofania w rozwoju. Należy pamiętać o zmieniającym się kontekście, który sprawia że stare strategie możemy wykorzystać w nowy sposób. Jest to stały element procesu rozwoju i warto brać to pod uwagę nie tylko w kontekście programowania.