Front- czy Backend – który koniec złapiesz?

Cześć! Dziś nieco o dwóch ścieżkach tworzenia aplikacji, nie tylko tych webowych, bo zarówno front i backend znajdziemy również w programach typowo desktopowych. Wiele osób zaczynających przygodę z tworzeniem stron internetowych chwyta się wszystkiego przez co staje się przeciętny albo w najlepszym przypadku dobry w obu, zamiast świetny w jednej dziedzinie. Dlatego też przygotowałem takie zestawienie.

No to jakie są różnice?

Zacznę od przodu, czyli frontendu. Webmaster zajmujący się tą częścią tworzy to, co użytkownik końcowy widzi i z czym prowadzi interakcje. Wszelakie menu, grafiki, stopki, headery, formularze, cała warstwa prezentacji, to jest właśnie frontend. Trzonem frontendu są HTML, CSS i JavaScript wraz ze wszystkimi frameworkami i dodatkami (Bootstrap, jQuery). To takie technologie „must-learn” jeśli chcesz zająć się tym końcem kija. Warto też wspomnieć o tym, że od webmastera/webdesignera oczekuje się poczucia estetyki i zmysłu graficznego, co raczej jest oczywiste – musimy w końcu dopasować te klocki tak, żeby to ładnie wyglądało i nie odstraszało przy pierwszym spojrzeniu. Mamy tylko kilka sekund żeby zaciekawić klienta odwiedzającego stronę.

Jednak coś też dzieje się z tyłu (o ile nie jest to prościutka strona wizytówkowa).  Backend to cała logika aplikacji, która dzieje się poza wiedzą użytkownika, a cała magia dzieje się za pomocą technologii takich jak PHP, Ruby, C++, w przypadku programów desktopowych, jak i baz danych. Powiedzmy, że nasz klient wchodzi na naszą stronę, wklepuje jakieś dane i tak naprawdę nie wie co się dzieje z tymi danymi – one są mielone na serwerze w sposób znany tylko developerowi, bowiem do kodu logiki klient nie ma dostępu, dostaje on tylko odpowiednio już przygotowane dane.

Tutaj zaczyna się część wspólna – współpraca obu części, jedna bez drugiej działać zbytnio nie może. Gdy nasz user wrzuca jakieś dane, to wrzuca je za pośrednictwem frontendu, ten przekazuje to do backendu, gdzie dane są odpowiednio przerabiane, następnie przekazywane do frontendu, a to już widzi nasz klient.

Prostym przykładem może być dowolny formularz. Użytkownik wypełnia pięknie zaprojektowany formularz i wysyła. Dane są sprawdzane przez program na serwerze, jeśli są poprawne, dane zostaną umieszczone w bazie danych a użytkownik otrzyma informację zwrotną, że jest okej. Jeśli coś jest nie tak, również o tym zostanie powiadomiony jednak dane nie zostaną umieszczone w bazie danych, dając możliwość poprawienia formularza.

Czym się zająć?

Przede wszystkim zaczynając przygodę z tworzeniem aplikacji, trzeba zdecydować, który koniec kija chwytamy. Jeśli mamy zmysł graficzny i estetyczny, śmiało możemy zająć się frontendem. Na dłuższą metę to też jest programowanie, bo oprócz języka znaczników i arkuszy stylu (HTML, CSS) mamy też język skryptowy, np najpopularniejszy JavaScript z jQuery.

Jeśli jednak bardziej interesuje Cię stricte programowanie, nie masz zmysłu artystycznego albo po prostu wolisz tworzyć logikę aplikacji, wybierasz backend. Tutaj też trzeba wybrać język, którym chcesz się posługiwać. Wybór jest spory, ale zdaje się prym wieść wciąż PHP. Warto jednak zwrócić też uwagę na inne technologie takie jak Ruby on Rails (Ruby) czy django (python).

Najważniejsze jest to, żeby nie robić wszystkiego, chyba, że chcesz być tylko dobry.

A Ty czym się zajmujesz lub chcesz się zająć? Podziel się w komentarzu!