Frontend i backend. Okładka i treść. Karoseria i silnik. Nieprzypadkowe pary wskazują jasno, że podczas gdy obie skupiają się na innym zadaniu, dopiero ich połączenie pozwoli na powstanie pełnego produktu. Niezależnie od jego przeznaczenia: samochód, książka czy aplikacja webowa. Ten ostatni i jego części składowe tworzą tak interesującą nas dziedzinę – programowanie. Przyjrzyjmy się im nieco bliżej!
Jak Cię widzą…
Programowanie w front-end to wszystko, co widzi użytkownik. W jego skład wchodzą trzy główne języki: HTML, CSS i JavaScript.
Surfując po Internecie, natrafiamy na różnej jakości serwisy. Gdy jedna strona zachęca przejrzystym układem, inna odstrasza dojmującym nieładem. To pierwsze wrażenie zawdzięczamy jakości HTML. Właśnie on tworzy szkielet strony, definiuje jej wszystkie części składowe, ich relacje oraz układ. Dobra znajomość tego języka przekłada się na bardziej harmonijny wygląd.
Jednak definicja przestrzeni to zaledwie połowa sukcesu. Teraz należałoby ją odpowiednio ukształtować. Nadać jej kształty, kolory, efekty wyróżnienia, czy tła. Innymi słowy stworzyć jej własny, niepowtarzalny styl. Tę część pracy wykonuje się przy pomocy CSS. Stąd też jego nazwa – kaskadowy arkusz stylu.
Ostatnie zadanie to wprawienie gotowych elementów w ruch. Dynamiczne alerty, nawigacja pomiędzy podstronami, płynne pop-upy, interaktywne menu, pokazy zdjęć, muzyka. Wszystko to zasługa JavaScript. Ten język skryptowy nie tylko uatrakcyjnia zachowanie aplikacji, ale jest także w stanie nadpisać i modyfikować istniejące już pliki HTML i CSS.
Tak Cię piszą!
Programowanie w back-end to wszystko, co wykonuje program. Przeciętny użytkownik nie jest świadom wykonywanych w tle operacji, jednak dzięki pracy programistów – wcale nie musi. W naszej ofercie znajdą Państwo ich dwie fundamentalne reprezentacje: C++ oraz Python.
Nim jednak zaczniemy swoją przygodę, warto zapoznać się z podstawową składnią stosowaną w branży. Z tego powodu proponujemy zajęcia z językiem edukacyjnym Assembly, jako wstęp do świata backendu. Składa się on z szeregu prostych instrukcji w języku polskim, co pozwala uczniom na bezstresowy i swobodny start w programowanie.
Kolejny poziom nauki to Python. Typowy język wysokopoziomowy, który imituje składnię języka angielskiego. Choć z tego powodu wymaga dodatkowych operacji tłumaczenia komend dla procesora (kompilacja), jego potencjał jest szeroko wykorzystywany w rozwoju nauczania maszynowego i sztucznej inteligencji. Analiza wzorców zachowań użytkowników, czy przewidywanie ich nadchodzących potrzeb to tylko początek jej zastosowań.
Ostatni krok to C++. Jako rozwinięcie zwykłego C pozwala na wprowadzenie pojęcia abstrakcji i zróżnicowanych wzorów programowania. Z punktu widzenia użytkownika C++ pozwala na lepsze zarządzanie dostępną na maszynie pamięcią, co przekłada się na poprawę wydajności aplikacji.
Front-end vs. Back-end – podsumowanie
Choć omawiane techniki odpowiadają za odmienne części aplikacji, nierzadko współdzielą jej specyficzne obszary. Stąd też łatwo o zmieszanie, zwłaszcza na początkowych etapach nauki. Główną różnicę można by jednak zobrazować następująco:
„Moja córka pracuje jako back-end developer.” Odpowiada za to, jak działa aplikacja. Jest swoistym architektem danych – tworzy ich modele, algorytmy obliczeń oraz struktury logiczne.
„Mój syn pracuje jako front-end developer”. Odpowiada za to jak wygląda aplikacja. Pracuje nad interfejsem użytkownika – definiuje efekty kontrolek, zasady walidacji dla wprowadzanych przez użytkowników informacji oraz właściwości elementów na stronie internetowej.