Jak rozpocząć naukę z tworzeniem stron
’Tworzenie stron’ to trochę obszerny temat, więc dobrze na wstępnie określić czego chcemy się konkretnie uczyć. Do wyboru mamy kilka dróg:
- web designer – czyli tworzenie layoutu
- web developer, programista, który też dzieli się na:
– front-end, czyli kodowanie warstwy widocznej, tego, co przygotował grafik. Podstawą jest znajomość HTML/CSS/JS
– back-end, czyli kodowanie całej mechaniki strony, tego, co jest pod spodem. Tutaj też możemy mieć kilka dróg, w jakich językach chcemy programować, obecnie najpopularniejszy jest chyba PHP/MySQL - web everything, czyli full stack developer, mam na myśli drogę, gdy chcesz się uczyć zarówno fron- jak i back- endu. Raczej większość osób odradzi ci tej drogi i zasugeruje specjalizację w jednej dziedzinie. Jednak nic nie stoi na przeszkodzie, póki masz czas i chęci uczyć się wszystkiego (ja tak zrobiłem).
Oczywiście to tylko nazewnictwo więc na początek ważne, żeby wiedzieć co chce się robić a nie jak się to nazywa;)
Web Designer
Masz duszę artysty? Lubisz projektować i pomysły nigdy ci się nie kończą? Potrafisz się już posługiwać Pothoshopem? Super! Mogłoby się wydawać, że to wystarczy, aby projektować stronki. Niestety ta opcja również wymaga nauki mnóstwa wiedzy teoretycznej.
Oczywiście podstawowym narzędziem będzie Photoshop. Jeśli nie chcesz inwestować to alternatywą będzie darmowy Gimp. Osobiście sam zaczynałem naukę grafiki w Gimpie i pracowałem w nim jakieś 1,5 roku. Mogę ci powiedzieć, że jeśli chodzi o web design jesteś w stanie zrobić praktycznie to samo co w Photoshpie jednak zajmie to więcej czasu, a PS zdecydowanie przyda się bardziej w przyszłości.
Jak uczyć się programów graficznych? Tworząc! Znajdź jakieś forum, tutoriale (na YT jest tego mnóstwo) i baw się – to najlepszy sposób.
Oprócz znajomości programów przyda Ci się wiedza teoretyczna, o której wcześniej pisałem. Możesz ją znaleźć na różnych forach, blogach czy książkach.
Front-end developer
W tej chwili jest to chyba najintensywniej rozwijająca się działka. Z jednej strony to dobrze, bo co chwile pojawia się nowe narzędzie ułatwiające prace, ale z drugiej strony coraz ciężej nadążyć za wszystkimi nowościami. Osobiście lubię front-end, jest to takie połączenie programowania z designem (w przypadkach, gdy strona jest bardziej interaktywna).
Droga jest prosta: HTML + CSS, następnie JS (i jego biblioteka jQuery – myślę, że jednak cały czas warto ją znać). Od razu dorzuciłbym Less albo Sass, żeby ułatwić sobie sprawę z CSS. Gdy to opanujesz to dobry początek, żeby wziąć się za frameworki;)
Back-end developer
Wspomniałem wcześniej, że istnieje kilka dróg. Możesz tworzyć strony w Pythonie, Ruby, Perl, ASP.NET, JS, PHP… Jest w czym wybierać.
PHP jest obecnie na większości stron dlatego o nim piszę. Jest łatwy w nauce, ale niestety ma burdel w nazewnictwie funkcji i trzeba się w nim sporo napisać. Od PHP ciężko uciec, ponieważ to właśnie w nim są stworzone wszystkie najpopularniejsze CMSy jak WordPress, Drupal, Joomla czy systemy sklepowe (Prestashop, Magento itd.). Nawet jeżeli wybierzesz inny język to znajomość PHP na pewno się przyda.
Oprócz PHP koniecznością jest znajomość baz danych, czyli dobrze znać chociaż podstawy składni SQL i system, które tę bazę obsłuży. Na początek najlepszy będzie MySQL. Te 2 technologie tak naprawdę wystarczą na początek. Z czasem dojdą frameworki PHP lub inne bazy.
Full stack
Jeśli chcesz poznać po trochu każdej opcji, bądź gotowy na poświecenie mnóstwa czasu. Podam ci w jakiej kolejności można się uczyć na przykładzie strony:
Na początek stwórz layout, czyli grafikę swojej strony. Następnie ją potnij i zakoduj w HTMLu oraz ostyluj w CSS. Masz już podstawę. Jeżeli są tam jakieś mechanizmy jak logowanie, wczytywanie różnych stron to zakoduj je w PHP, a jeżeli treść będzie dynamiczna to podłącz ją pod bazę danych (MySQL). Super w tej chwili masz już w pełni funkcjonalną stronę. Warto ją ożywić i dodać trochę JavaScriptu. Teraz już naprawdę koniec.
Żeby następnym razem przyśpieszyć pracę dorzuć jakiś framework, np. CakePHP (PHP), Sass/Less (CSS), jQuery (JS), Bootstrap (HTML/CSS). Dalej warto zacząć automatyzować prację i dorzucić, np. Gulpa, a to sprawi, że zaczniesz korzystać z npm, czyli menadżerem pakietów. Dla bezpieństwa warto zadbać o wersionowanie plików, czyli GIT… i tak jedno ciągnie drugie.
Jeśli jesteś na początku nauki to poprzednie zdania pewnie nic ci nie mówią, ale spokojnie, w ogóle się tym nie przejmuj – zacznij od początku, a w pewnym momencie będziesz już dobrze wiedzaił, co jest potrzebne dalej:)