Czym różni się programowanie front-end od back-end?

Każdy z nas spotkał się z określeniem front-end i back-end na pewno więcej niż raz. Często jednak nie jest to do końca jasne, dlatego w dzisiejszym artykule krótko skupimy się na wyjaśnieniu tych dwóch zagadnień, które bardzo często pojawiają się właśnie w kontekście tworzenia i projektowania stron internetowych.

Mówiąc o działaniach na front-end bardzo często chodzi nam o elementach związanych z tym, co może zobaczyć użytkownik, czyli np. design. W przypadku działań back-end rozmawiamy o działaniach wykonanych na serverze. Bardzo często są to działania, które nie są widoczne dla oka, ale mają wpływ na szybkość działania strony lub po prostu funkcjonalność poszczególnych elementów. W większości przypadków jednak granica między front-end, a back-end jest płynna. Aby jednak lepiej zrozumieć, o co tak naprawdę chodzi, trzeba przyjrzeć się oprogramowaniu, które wykorzystywane jest podczas wyżej wymienionych działań.

front-end-vs-back-end

Czym zajmuje się front-end developer?

Front-end developer zajmuje się wszystkim tym, co jest widoczne dla oka, włączając w to takie języki programowania jak HTML i CSS. Generalizując, możemy powiedzieć, że działania na front-end to głównie działania, które związane są z designem, kolorystyką oraz tego typu elementami strony internetowej. Trzeba jednak pamiętać, że front-end developer w firmie A niekoniecznie zajmuje się dokładnie tym samym, co front-end developer w firmie B. Popularnym stanowiskiem dla związanym z front-end będzie np. web-designer, który niekoniecznie pracuje z językami programowania a bardziej tworzy szaty graficzne stron za pomocą takiego oprogramowania jak: Photoshop lub Fireworks. W większości przypadków jednak front-end developer odpowiedzialny jest również za tworzenie źródłowej wersji strony w HTML oraz jej stylizacji za pomocą CSS oraz rzadziej JavaScript.

Podsumowując front-end developer odpowiedzialny jest za wizualną część strony internetowej. Dzięki znajomości HTML i CSS jest w stanie tworzyć statyczne strony internetowe, czyli takie, które nie wymagają przechowywania żadnych danych w bazie danych servera, na którym postawiona jest strona.

Czym zajmuje się back-end developer?

W skrócie back-end to działania po stronie servera, które bezpośrednio wpływają na to, jak strona/aplikacja działa, aktualizuje i zmienia poszczególne elementy. W głównej mierze są to prace powiązane z serverem i bazami danych, czyli niewidoczne dla użytkownika. Zazwyczaj osoby pracujące na back-endzie nazywane są developerami lub programistami. To właśnie back-end developer zabezpiecza stronę przed potencjalnymi hackerami. Działania na back-end oznaczają, że mamy do czynienia z dynamiczna stroną internetową. Oznacza to, że strona stale jest aktualizowana, a jej dane zmieniają się w czasie rzeczywistym. Przykładem takiej dynamicznej strony może być na przykład blog, który stale jest aktualizowany a jego zawartość zmienia się. Komentarze, profile i tego typu rzeczy wymagają zapisu w bazie danych, a to jest właśnie back-end strony. Do w/w działań używa się między innymi takie języki programowania jak PHP, Python.

Full-Stack, czyli połączenie front-end oraz back-end developera

Full-Stack developer pracuje zarówno na front-end jak i back-end. Jest to możliwe dzięki znajomości różnych języków programowania. Full-Stack developer zna nie tylko HTML, CSS, JavaScript do prac na front-endzie strony, ale również jeden lub więcej języków związanych z back-endem. Z biegem czasu granica między front-end, a back-end zaciera się, dlatego większość developerów dązy do tego, aby być 'Full-Stack'. W zasadzie nie oznacza to, że każdy Full-Stack developer pracuje zarówno na back-end jak i front-end strony, ale jest przygotowany, aby działać na obydwu frontach w razie potrzeby.

Podsumowanie

Mam nadzieję, że dzięki temu artykułowi udało się Wam trochę lepiej zrozumieć różnice między front-end, a back-end developerem. Zdaję sobie sprawę, że jest to bardzo mylące, a obydwie granice bardzo często się zacierają. Jeśli wciąż masz wątpliwości, to główna różnica polega na tym, że front-end opiera się na działaniach widocznych dla oka, czyli działaniach w obrębie przeglądarki internetowej.