Co to znaczy być programistą front-end w 2020 roku (i później)

Opublikowany: 2023-04-21

Czy kiedykolwiek zastanawiałeś się, co tak naprawdę oznacza część frontendowa front-end developera ? Zapytałem kiedyś Erica Meyera (który tworzy strony internetowe prawie tak długo, jak istnieją strony internetowe), czy wiedział, co oznaczał ten termin w bardzo wczesnych dniach, a on powiedział, że tak. Tak więc nie jest to zupełnie nowy tytuł ani pozycja, ale z pewnością zmienił się zakres na przestrzeni lat.

„Front-end” zasadniczo oznacza przeglądarkę internetową. Uważam się za programistę front-end i szczerze mówiąc, nie miałbym nic przeciwko, gdybyś nazwał mnie programistą przeglądarek internetowych. Ale to prawdopodobnie się nie przyjmie (i wygląda na to, że budujesz przeglądarki internetowe). Jako programista front-end bardzo ściśle współpracujesz z przeglądarkami internetowymi i piszesz kod, który w nich działa, w szczególności HTML, CSS, JavaScript i kilka innych języków, którymi posługują się przeglądarki internetowe (na przykład formaty multimedialne, takie jak SVG). Lub, być może nawet częściej wyjaśniany, kod, który ostatecznie jest przetwarzany na języki zrozumiałe dla przeglądarek. To twoje terytorium jako programisty front-end!

Przeglądarki nie istnieją same, działają na szerokiej gamie urządzeń. Przekonaliśmy się o tym w erze projektowania responsywnego. I co najważniejsze: użytkownicy korzystają z tych przeglądarek na tych urządzeniach. Nikt nie jest bliżej użytkownika niż programiści front-end. Dlatego programiści front-end piszą kod dla osób korzystających z przeglądarek działających na wielu różnych urządzeniach.

Obraz 7 rąk trzymających różne urządzenia mobilne, takie jak telefony, laptopy i tablety.
Zdjęcie z Shuttershock

Samo radzenie sobie z tym ogromnym krajobrazem użytkowników, urządzeń i przeglądarek to zadanie samo w sobie! Myślę, że nie codziennie myślisz filozoficznie o swoim stanowisku i to jest w porządku; my tylko trochę się tu zastanawiamy z twoim starym dziadkiem Chrisem.

Jeśli właśnie ukończyłeś szkolenie z kodowania, a twoje doświadczenie w budowaniu stron internetowych jest nieco wąskie i nowe, możesz wybaczyć, jeśli pomyślisz o tworzeniu front-endu jako o „rzeczach związanych z Reactem”, a programowaniu zaplecza jako o „węzłach” stuff” lub „the Python stuff”, podobnie jak najgorętsze smaki w dzisiejszych czasach. Ty też się nie mylisz. React jest ogólnie używany jako framework front-end (to dosłownie JavaScript, który działa w przeglądarkach). Node i Python to przykłady języków, które tak naprawdę nie działają w przeglądarkach internetowych; są zbudowane do działania na serwerach sieciowych (uhh, komputerach).

Pozostań w tej dziedzinie przez jakiś czas, a zobaczysz, że te biblioteki, języki, procesy kompilacji i do cholery, nawet całe filozofie dotyczące tego, jak najlepiej budować strony internetowe, przychodzą i odchodzą jak powolna fala.

Możesz być świadkiem, jak jakiś staruszek wymachuje od czasu do czasu pięścią, krzycząc, że powinniśmy uczyć się na błędach przeszłości. Możesz także być świadkiem, jak niektórzy szczególnie hałaśliwi młodzieńcy wymachują równie wysoko pięściami, uznając przeszłość za nieistotny kontekst i już nie przydatny temat do rozmowy.

Obraz jednego dziecka jest głupie, a drugie wygląda na bardzo wściekłego i potrząsa pięścią.
Zdjęcie z Shuttershock

Prawdopodobnie obaj mają rację. Dopóki nikt nie jest złośliwy, wszystko jest częścią przepływu.

Rzeczy się zmieniają. Uważam, że to prawda, że ​​wiele dzisiejszych stron internetowych jest bardziej złożonych niż strony internetowe z przeszłości. Szczególnie te duże. Sieci społecznościowe i odtwarzacze multimedialne. Strony rezerwacji podróży. Witryny sklepów eCommerce. Narzędzia inżynierskie. Te witryny zaczęły się od dużych i tylko się rozrosły. Są oszczędni, a wspierają ich ogromne zespoły. Ta złożoność jest przyczyną zmian w technologii internetowej i przyczyną tarć między nową i starą szkołą (jeśli możemy to tak prosto namalować).

Wiele osób pracujących w branży technicznej pracuje zasadniczo dla dużej witryny internetowej. I tak najczęściej słyszymy od tych osób. Ci ludzie budują narzędzia. Piszą posty na blogach, prowadzą podcasty, wygłaszają prelekcje. Pomagają zmieniać samą technologię, dopasowując ją do swoich potrzeb.

Przez cały czas „front-end” to wciąż tylko przeglądarka. Języki przeglądarek, HTML, CSS i JavaScript są nadal głównymi technologiami w grze. Te języki ewoluują, podobnie jak same przeglądarki, ale wolniej. Robią coś zupełnie przeciwnego do ulubionego sloganu Doliny Krzemowej: poruszają się szybko i psują rzeczy . Poruszają się powoli i bardzo rzadko coś psują.

​​Bycie programistą front-end to nadal troska o użytkowników, którzy korzystają z tych przeglądarek na tych urządzeniach. Ich doświadczenie jest naszą pracą. Oprzyrządowanie po prostu pomaga nam to zrobić, miejmy nadzieję.

Więc co robisz jako programista front-end?

  • Wykonujesz projekt w taki sposób, aby wyglądał dobrze na każdym ekranie
  • Stosujesz semantykę do treści
  • Tworzysz abstrakcyjny interfejs użytkownika, dzięki czemu możesz wydajnie ponownie wykorzystywać części i style
  • Rozważasz dostępność tego, co renderuje się w przeglądarce
  • Martwisz się o wydajność witryny, co oznacza, że ​​masz do czynienia z tym, jak duże i jak wiele zasobów jest używanych przez przeglądarkę.

Te rzeczy zawsze były prawdziwe i zawsze będą, ponieważ dotyczą zasadniczo poziomu przeglądarki i tym właśnie jest front-end.

Zmienia się to, że przeglądarka jest zdolna do coraz większej pracy. Istnieje wiele powodów, takich jak interfejsy API przeglądarki, które stają się coraz bardziej wydajne, biblioteki stają się coraz bardziej wyszukane i komputery stają się ogólnie lepsze. Przenoszenie pracy z serwera do przeglądarki nabrało z biegiem lat coraz większego sensu (aplikacje jednostronicowe!). Chociaż interesujące jest obserwowanie, jak wahadło się cofa (wstępnie renderowane strony!)

W dzisiejszych czasach rozwój front-endu może również obejmować:

  • ​​Architektura całej witryny od najmniejszego komponentu do całych stron, aż do poziomu adresu URL
  • ​​Pobieranie własnych danych z interfejsów API i manipulowanie danymi w razie potrzeby do wyświetlenia
  • Samodzielne radzenie sobie ze stanem witryny
  • ​​Mutowanie/zmiana danych poprzez interakcję użytkownika oraz wprowadzanie i utrzymywanie tych danych w stanie iz powrotem na serwerach za pośrednictwem interfejsów API

To wszystko, co można teraz zrobić w przeglądarce, ku rozszerzeniu oczu tego starego programisty. To kupa odpowiedzialności, jeśli weźmiesz pod uwagę, że jest to dodatek do wszystkich rzeczy, które już musisz zrobić.

Obraz przedstawiający kilka różnych osób patrzących w duży stóg siana.
Zdjęcie z Shuttershock

Podczas gdy ta sterta siana zwykle rośnie z biegiem lat, światło przewodnie, które mamy jako programiści front-end, nie zmieniło się aż tak bardzo. Naszym głównym obowiązkiem jest nadal dbanie o użytkowników korzystających z przeglądarek internetowych na urządzeniach. Musimy więc pobrać trochę danych. To świetnie, robimy to w celu zbudowania szybkiej, semantycznej, dostępnej strony, która będzie służyć potrzebom naszych użytkowników. Musimy więc zbudować system projektowania. To fajnie, robimy to, aby zbudować zrozumiały interfejs dla naszych użytkowników, który może ewoluować bez tworzenia niespójnego bałaganu. Musimy więc nauczyć się jakiejś nowej, nieznanej nam technologii. Cóż, naszym zadaniem jest uważne obserwowanie i upewnianie się, że ostatecznie pojawi się coś nowego, aby ulepszyć naszą witrynę dla użytkowników.

Powodzenia!