Frontend w 2020 roku – w jaką stronę się kierować?

Jak każdego roku, pierwsze jego miesiące obfitują w plany, postanowienia, ale również spekulacje na temat tego, co może się w nim zmienić. Na przykład w Pensylwanii od wielu lat nadejście wiosny przewiduje… świstak Phil. Teoria mówi, że gdy po wyjściu ze schronienia ujrzy swój cień, to do wiosny jeszcze trochę zostało.


W tym artykule jednak nie mam zamiaru skupiać się na legendach, bajkach i lokalnych wierzeniach. W końcu informatyka to nauka ścisła, trzymajmy się więc faktów.


Frontend w 2020 roku: Atomic Design

To ciekawe podejście zostało zaproponowane przez Brada Frosta, wydał nawet na ten temat książkę o takiej samej nazwie. Na czym to polega? Przede wszystkim na podzieleniu pracy nad aplikacją podobnie, jak wygląda nasz wszechświat. Jaką znasz najmniejszą jego składową? Atom. Takim atomem w naszej aplikacji będzie przycisk, input, radio button i każdy inny „malutki” element. To od nich powinniśmy zgodnie z tą teorią zaczynać pracę.


Następnie, z posiadanych atomów, możemy konstruować molekuły, które są ich połączeniem. Na przykład search input z przyciskiem do wyszukiwania. Idźmy dalej – tego typu twory umieszczamy w czymś, co nazywamy organizmami, a nie są one niczym innym niż reużywalnymi komponentami w naszej aplikacji.


Zarabiaj jako Frontend Developer.

Sprawdź, czego nauczysz się na naszym kursie. Zamów miejsce na bootcampie.

Ok, ale co w tym niby nowego, odmiennego? Chodzi właśnie o kolejność. Zwykle tworzyliśmy widok, później się okazało, że potrzebujemy inputa, więc go dodawaliśmy. Równocześnie, tę samą pracę mógł wykonać kolega lub koleżanka obok, w dodatku nieco inaczej, co powodowało konflikty (w kodzie oczywiście :)).


Atomic design sprawdzi się fantastycznie w połączeniu ze Storybookiem, czyli swoistą biblioteką naszych atomów i molekuł.


Frontend w 2020 roku: React dalej wiedzie prym

Sporo osób boi się zacząć naukę programowania, będąc straszonym opowieściami o tym, jak to nad czym pracowali miesiącami, idzie na marne.


Oczywiście w każdej historii jest ziarnko prawdy, ale na pewno dużo z nich jest  przesadzonych. Nadal można trafić na projekty, które działają na archaicznych rozwiązaniach jak Backbone, jQuery, a ci, którzy byli zbyt leniwi żeby nauczyć się nowych, na upartego znajdą pracę.React za to jest nie tylko świeżą, ale także intensywnie wspieraną, rozwijaną przez autorów i społeczność biblioteką. Nic nie wskazuje na to, by w najbliższym czasie, miał ustąpić miejsca konkurencji i zdecydowanie będzie można znaleźć w nim pracę przez kolejne lata.


Przyszłość należy do frameworków i bibliotek?

Mimo że we wcześniejszym akapicie wspominam o tym, że React nie wybiera się na emeryturę i jeszcze długo nie da o sobie zapomnieć, to stopniowo w łaski programistów wkradają się WebComponents.


To nic innego niż znane nam z używanych już narzędzi komponenty, ale bez potrzeby korzystania z czegoś, co nie jest naturalną częścią Java Script. Pozwalają na tworzenie enkapsulowanych, własnych tagów HTML. Wykorzystuje się do tego wbudowaną klasę HTMLElement, importuje plik z przygotowanym w taki sposób komponentem i używając jego nazwy, zdefiniowanej wcześniej w pliku .JS wstawiamy do pliku HTML. Jest to dokładnie tak proste jak brzmi! Coś na co czekaliśmy już od dawna i zmierzało do nas wielkimi krokami, staje się standardem, który oczywiście nie wyprze rozwiązań takich jak React, Angular, Vue, ale zastąpi część ich funkcjonalności. W prostszych rozwiązaniach będzie można z nich w pełni zrezygnować, na rzecz
czystego Java Script.


Dalej o komponentach…

Bardzo ciekawym, a nadal mało znanym rozwiązaniem jest Bit. To narzędzie do wiersza poleceń, które umożliwia nam wygodne tworzenie reużywalnych, odizolowanych od reszty projektu komponentów. Mogą być później dystrybuowane jako niezależne paczki NPM.


Kolejną korzyścią jest możliwość podzielenia zespołów wg. odpowiedzialności za pojedynczy element frontu, testowanie go bez integracji z całym systemem, potwierdzanie jego „niezależności”. Oczywiście paczki Bit działają w pełni sprawnie z React, Vue, Angular, Mocha i innymi popularnymi narzędziami.


Frontend w 2020 roku. Czy warto się w to bawić?

Niektórzy kursanci pytają mnie „czy w tych czasach, gdy na jedno stanowisko juniorskie jest tyle CV, warto w ogóle iść we front?”. Trochę martwi mnie ten brak wiary na samym początku, ale nie jest on z drugiej strony bezpodstawny. Mamy przed sobą wizję wielu miesięcy ciężkiej pracy, nie chcemy robić tego na marne. Jak w rzeczywistości wyglądają historie dwustu CV na jedno „krzesło”?


W praktyce, olbrzymia ilość tych aplikacji nadaje się z automatu do niszczarki. Nim gdziekolwiek wyślemy CV, warto zweryfikować swoje rzeczywiste umiejętności, zamiast zakładać, że miesiąc nauki przyniesie nam od razu olbrzymie zarobki. Każdy powinien zapoznać się z efektem Dunninga-Krugera, który udowodnił, że osoby z małym stażem zawodowym, są bardzo mocno narażone na przecenianie swoich umiejętności, co może skutkować irytacją i zniechęceniem po paru odmowach.


Rozwiązanie jest jedno – schowaj dumę do kieszeni, ucz się i chodź na rozmowy kwalifikacyjne.
Nikt nie powie Ci ile to potrwa, ale wysłanie dziesięciu CV, to zdecydowanie za mało. Na wytrwałych i pracowitych na pewno czekają pracodawcy, którzy docenią ich zaangażowanie.


Autor tekstu:

Radosław Madecki

Radosław_Madecki

Lead Mentor kursu Frontend Developer w Fututre Collars. Senior Frontend Developer w Clearcode. Działa także w Node, uczy się Pythona. Współpracował z KDSolutions, tworząc aplikację social media oraz system zarządzania danymi w firmie projektowej.  Zainteresowanie informatyką towarzyszy mu od dzieciństwa. Ciekawi go to, co sprawia, że aplikacja lub strona są przyjemne w użytkowaniu.