Home > Artykuły > Front-end czy back-end development

Front-end czy back-end development

Szkolenia IT, Szkolenie Podstawy Administracji Liferay CE 7.2

Zdecydowałeś rozpocząć karierę developera. Przeglądając strony WWW i materiały źródłowe, zastanawiasz się, od czego zacząć, która technologia jest najbardziej „sexy”, która jest modna oraz gdzie można najlepiej zarobić.

Nim podejmiesz daleko idące decyzje, przeczytaj poniższy artykuł.

Dzisiejszy świat wymaga coraz większej specjalizacji. Coraz też trudniej ogarnąć ludzkim rozumem wszystkie technologie związane z tworzeniem oprogramowania. Mamy więc developerów zajmujących się pisaniem aplikacji tradycyjnych, uruchamianych na systemach typu Linux i Windows, mamy developerów systemów wbudowanych, developerów gier, developerów aplikacji mobilnych i wreszcie developerów aplikacji webowych.

My w dalszej części artykułu skupimy się na tych ostatnich. Jak się okazuje, także branża aplikacji webowych dzieli się na kolejne specjalizacje.

Nim więc podejmiesz jakiekolwiek dalsze decyzję, zastanów się, jaki rodzaj developmentu będzie dla Ciebie tym wymarzonym. Czy zechcesz być programistą front-endowym? Programistą back-endu? A może chcesz być hybrydą: pełnowymiarowym (full-stack) programistą?

Przyjrzyjmy się bliżej każdemu z tych 3 wymienionych obszarów, tak abyś mógł wyrobić sobie opinię rodzajów, gdzie leżą twoje umiejętności i zainteresowania.

Jakie kluczowe umiejętności są potrzebne, aby być programistą front-endowym, back-endowym lub full-stack?

Front-end

Czym jest front-end aplikacji webowych, każdy z nas domyśla się intuicyjnie. Każda aplikacja ma warstwę wizualną z której użytkownicy korzystają używając przeglądarki internetowej.

W zależności od organizacji pracy w konkretnej firmie programista front-endowy ma mniejszy lub większy wpływ na wygląd i zachowanie aplikacji. Zwykle szatę graficzną dostarczają profesjonalni graficy. Analitycy biznesowi bądź funkcjonalni dostarczają opisu oczekiwanej funkcjonalności aplikacji. I to na bazie pochodzącego od nich materiału developer implementuje interfejs aplikacji.

Niezależnie od tego, jak zakreślone są ramy odpowiedzialności programisty, to front-endowiec zawsze musi posiadać pewien pierwiastek artystycznej duszy, tak aby zgrabnie i spójnie przedstawić na interfejsie aplikacji dane które chce widzieć użytkownik.

Dla przyszłego front-end developera oznacza to konieczność biegłego opanowania HTPL, CSS, niektórych preprocesorów CSS oraz JavaScript’u oraz wybranych frameworków JavaScript: REACT, Angular czy Vue.js

Dobry programista front-endu musi również posiadać podstawową wiedze na temat programowania back-endu, czyli tej części systemu która jest zwykle dostawcą danych.

Programista musi również opanować zagadnienia dotyczące bezpieczeństwa oraz optymalizacji wydajności front-endu aplikacji.

Back-end czyli zaplecze

Back-end to ta część aplikacji webowej, której „nie widać”.

Dawniej bywało tak, że całość logiki biznesowej aplikacji realizowana była w back-endzie. Obecnie jest tak również, aczkolwiek coraz częściej istotna część logiki „migruje” do front-endu. Przyczyny tego zjawiska są różne, jednak motywacją podstawową za nimi stojącą jest chęć przeniesienia kosztów obliczeniowych z serwerów na stacje (konkretnie przeglądarki) klientów.

Nienależnie od powyższego zjawiska, nadal znaczna cześć logiki znajduje się w back-endzie. Tutaj też znajdują się nasze dane. Zaś programiści backendu pracują nad implementacją tejże logiki, nad pobraniem i obróbką danych ze źródeł, tj. zwykle baz danych i nad udostepnieniem tych danych front-endowi.

Programiści back-endu muszą mieć wiedzę na temat technologii i frameworków back-endowych, architektury oprogramowania, wzorców projektowych, baz danych, usług sieciowych, interfejsów API, DevOps itp.

Jeśli chodzi o technologie, to programiści back-endu mają wybór znacznie szerszy niż specjaliści front-endu. Mogą posługiwać się kilkoma stosami (to jest rodzinami) technologicznymi, opartymi na Javie, PHP, .NET czy Pythonie. W związku ze zwiększonym zapotrzebowaniem na mikrousługi i rozwiązania bezserwerowe, deweloperzy zaplecza powinni się również i w nich specjalizować.

Nie jest łatwo powiedzieć, który ze stosów technologicznych jest „najlepszy”. Dość powiedzieć, że jeśli chodzi o aplikacje biznesowe dla przedsiębiorstw, zdecydowaną przewagę mają technologie oparte na Javie. Nie wyklucza to jednak konkurencyjnych ścieżek rozwoju. Pracy w back-endzie jest zwykle więcej, niż zdolnych do niej developerów.

Full-stack development

Programista full-stack jest osobą, która posiada kompetencje będące kombinacją zarówno umiejętności programowania front-end, jak i back-end. Bycie full-stack developerem oznacza umiejętność łączenia obu światów i wyboru najlepszych dla danego projektu rozwiązań z obu dziedzin.

Takie podejście daje programiście więcej swobody, ale też zwykle niesie za sobą większą odpowiedzialność. Dla full-stack dewelopera oznacza to nie tylko konieczność znajomości technologii front-end i back-end oraz ich prawidłowego zastosowania. Oznacza to również możliwość zaprojektowania pełnego rozwiązania – i decydowania o tym, gdzie powinna leżeć granica pomiędzy oboma światami.

Zwykle jednak developerzy full-stack są osobami, które wyrastają z jednego z biegunów, tj. front- lub back-endu i poprzez rozwój swoich kompetencji stają się full-stack’ami. Zwykle bywa też tak, ze ich umiejętności i zakres obowiązków nie rozkłada się równo, a najczęściej posiada zdecydowany przechył w jednym lub drugim kierunku.

Czy warto powyać się na zostanie full-stack developerem już na starcie swojej przygody z programowaniem?

Jedna ze szkół mówi, że słusznym jest podejście aby początkujący developer skupił się raczej na jednej z gałęzi bazowych, zaś o tym czy zostanie full-stack developerem, powinien decydować dopiero, gdy biegle opanuje wybrany zakres technologii.

Szkoła konkurencyjna nakazuje próbować obu rzeczy naraz i decydować, co nam bardziej odpowiada.

Oba podejścia mają zalety i wady. Można nawet powiedzieć, iż skorzystanie z jednego z nich uzależnione jest od osobowości danego kandydata. Nie nam o tym decydować. Niezależnie od ścieżki na którą się zdecydujecie, zachęcamy do spróbowania 🙂

……

Po więcej informacji zapraszamy na szkolenie.

Pozostałe artykuły