od Podstaw
9 godz. 20 min · JavaScript · Full-stack i Programowanie
Piotr PalarzWeb DeveloperJavaScript to język programowania, który napędza niemal wszystkie strony internetowe. Dopełnia on technologie HTML i CSS, za pomocą których tworzymy strukturę i wygląd dokumentu. Co jednak w sytuacji, gdy chcemy po kliknięciu w wybrany przycisk wyświetlić powiększone zdjęcie lub wczytać dodatkowe dane z serwera? To właśnie w takich sytuacjach przydaje się język JavaScript i tzw. DOM API, dostępne w przeglądarce. Jak się przekonasz, możliwości nowoczesnych przeglądarek w połączeniu z tym językiem są naprawdę ogromne.
Język JavaScript może być używany nie tylko na stronach internetowych. Z tego powodu, w kursie omówimy najpierw najważniejsze konstrukcje tego języka, które są niezależne od platformy uruchomieniowej. Dzięki temu zbudujesz fundamenty niezbędne do tego, by wykorzystać ten język np. w środowisku Node.js. Krok po kroku omówimy sposoby tworzenia zmiennych, dostępne typy danych i operatory. Następnie zobaczysz jak tworzyć tablice i obiekty, z jakich instrukcji warunkowych i pętli możesz korzystać, a także jak tworzyć własne funkcje. Przekazywana wiedza uwzględniać będzie nowości, które pojawiły się w języku wraz z rewolucyjnym standardem EcmaScript 6 (ES6).
Sam język JavaScript to nie wszystko, by tchnąć ducha w strony internetowe. Z tego powodu, przeglądarki internetowe udostępniają tzw. DOM API. To interfejs, który z użyciem języka JavaScript pozwala na manipulację treścią i wyglądem strony. W kursie bardzo dokładnie omówimy czym jest Obiektowy Model Dokumentu, a także jak z nim pracować. Zobaczysz jak tworzyć nowe elementy HTML i wstawiać je na stronę, jak modyfikować ich treść, atrybuty, style czy klasy CSS. Poznasz sposoby na odczytywanie położenia elementu na stronie i jego wymiarów, które będą niezbędne w wielu sytuacjach. Dowiesz się także, jak przypisywać obsługę zdarzeń w przeglądarce, by np. wywołać własną funkcję, gdy ktoś kliknie w wybrany przez Ciebie przycisk.
JSON to popularny format wymiany danych, a Ajax to potoczna nazwa dla asynchronicznych zapytań HTTP, które wysyłać możemy z poziomu kodu JavaScript. Dziś niemal każda strona internetowa wykorzystuje te technologie. W niektórych przypadkach jako dopełnienie podstawowej funkcjonalności witryny, a w innych jako główny motor napędzający stronę. Jeśli kiedykolwiek widziałeś, jak na stronie internetowej jakaś treść "doczytuje" się np. podczas przewijania - widziałeś w praktyce Ajax. W jednym z rozdziałów kursu zobaczysz, jak pracować z tym formatem, a także jak wysyłać wspomniane zapytania do serwera.
Choć kurs który masz przed sobą, jest kursem dla początkujących, to aby zrozumieć jak działa język JavaScript i jak z nim się współcześnie pracuje, omówimy dwa ważne tematy - zarządzanie zależnościami i bundlowanie kodu. Dowiesz się czym jest npm i jak z jego pomocą pobierać paczki gotowego kodu z internetu, a także jak sprawić, by bez trudnu dołączać je do własnego kodu. W tym celu skorzystamy z narzędzia snowpack, które pozwoli nam także na optymalizację kodu przed jego wypuszczeniem w świat. Na tym etapie omówimy również jak działają moduły ESM, pozwalające dzielić kod na mniejsze części.
Kurs podzielony został na możliwie krótkie lekcje, do których w każdej chwili możesz wrócić. Jeśli zatem zapomnisz jak odczytywać wymiary elementu na stronie, szybko odnajdziesz odpowiednią lekcję. Czym jednak była by sama teoria i proste przykłady, bez pokazania, jak połączyć je w całość i wykorzystać w praktyce? Dobra wiadomość jest taka, że w kursie stworzymy aż 5 praktycznych projektów, wykorzystujących zdobytą wcześniej wiedzę. Najpierw napiszemy program losujący Dużego Lotka, następnie dynamiczny pasek postępu przeczytania artykułu, dymek pojawiający się nad elementem po najechaniu na niego myszą, wygenerujemy tabelkę w użytkownikami na podstawie danych JSON, a na koniec tworzymy prosty odtwarzacz wideo, z możliwością pauzowania i przewijania filmu.
Kurs ten jest dla wszystkich osób, które znają już podstawy HTML i CSS i chciałyby przejść poziom wyżej i dodać do swoich stron dynamiczności. Żadna wcześniejsza wiedza z zakresu JavaScript nie jest wymagana, ale zalecana jest podstawowa wiedza z zakresu samego programowania (czym są zmienne, pętle, funkcje itd.). Materiał ten będzie również świetnym odświeżeniem i usystematyzowaniem wiedzy dla osób, które już z tym językiem miały do czynienia. Po przerobieniu tego kursu będziesz gotowy, by poznawać język JavaScript dalej i zacząć korzystać z nowoczesnych frameworków.
Zanim zaczniemy poznawanie języka JavaScript, chciałbym krótko powiedzieć Ci
o tym, z jakich narzędzi ja będę korzystał w tym kursie.
Jeżeli chcesz, żeby wszystko u Ciebie przebiegało podobnie, to polecam Ci
korzystanie również z tych narzędzi. A więc jako edytor kodu
ja wykorzystuję Visual Studio Code, który znajdziesz pod takim adresem.
Tutaj wystarczy sobie kliknąć Download,
powinna być zaznaczona wersja dla Twojego systemu operacyjnego,
również można tutaj wybrać oczywiście ten system i zainstalować sobie taki edytor.
Przejdźmy sobie teraz do tego edytora.
U mnie on wygląda tak, bo już sobie
skonfigurowałem jego wygląd, więc u Ciebie może wyglądać delikatnie inaczej, ale
wszystko będzie działać dokładnie tak samo.
I teraz będziemy chcieli sobie zainstalować jeszcze jeden fajny dodatek
do tego edytora, więc możemy przejść tutaj do View i następnie do panelu Extensions
i wyszukać sobie dodatku, który nazywa się Live Server.
Ja już go zainstalowałem.
Ten dodatek wygląda tak.
W tym miejscu wystarczy, że klikniesz install.
Ja go zainstalowałem więc widzę tutaj
uninstall. I po zainstalowaniu takiego Live Serwera,
jeżeli będziemy mieli tutaj otwarty jakiś katalog, a poszczególne katalogi będziesz
znajdował w plikach źródłowych będziesz widział na czym ja
tutaj pracuje, to wystarczy, że wciśniemy sobie w tym edytorze Command shift p na Macu albo
Control shift P na Windowsie i wpiszemy Live Server: Open with Live Server.
I to sprawi, że taki serwer uruchomi się np.
na porcie 5500
jeśli będzie wolny, automatycznie otworzy Ci się przeglądarka internetowa
i będziemy tutaj mieli właśnie te katalogi.
I wystarczy, że taki katalog klikniemy i
zauważ wczyta się właśnie nasza strona internetowa, którą mamy w tym miejscu.
I jeszcze jedno narzędzie, z którego będziemy korzystać.
Jest to Chrome DevTools w przeglądarce Chrome.
Mi właśnie otworzyła się przeglądarka Chrome bo
z niej korzystam.
Jeżeli w dowolnym miejscu kliknę prawym
przyciskiem i wybiorę inspect albo w wersji polskiej zbadaj
pojawi nam się taki panel u dołu strony lub z boku,
tutaj można zmieniać jego położenie
I w tym panelu będziemy nie tylko
podglądać tutaj drzewo DOM, o którym będziemy potem mówić w kursie, ale także w konsoli
będziemy mogli wykonywać język JavaScript. A więc język JavaScript, o którym będziemy
się uczyć w tym kursie, jest możliwy do wykonywania bezpośrednio w tym miejscu,
zatem możemy tutaj sobie zrobić jakąś najprostszą operację w stylu 2+2
i zobaczyć jej wynik. Ale także kiedy w naszych skryptach będziemy korzystać z
pewnego obiektu konsoli, to tutaj będą pojawiać się te komunikaty.
Zatem przed każdą lekcją pamiętaj o tym,
aby uruchomić sobie Live Server, jeżeli jeszcze tego nie zrobiłeś.
I tutaj u dołu będziesz widział
czy ten serwer jest uruchamiany tutaj gdzie widzisz port 5 5 0 0.
Można go zatrzymać albo po prostu
wyłączając edytor, albo wciskając raz jeszcze Command shift P na Macu lub Control
shift P na Windowsie i wpisując Live Server i wybierając Stop Live Server.
Wtedy on przestanie działać.
Niemniej jednak wystarczy, że zamkniesz edytor. A więc przed każdą lekcją taki
Live Server należy sobie uruchomić i przejść tutaj do odpowiedniego katalogu,
następnie otwórz sobie również ten panel
Chrome DevTools, bo na nim w każdej lekcji będziemy pracować.
No i ostatnią rzeczą, którą chciałbym Ci pokazać to jest pewna rzecz konfiguracji VS Code,
która sprawi, że błędy w języku JavaScript będą podświetlane.
Wystarczy, że przejdziemy sobie do ustawień
znowu wciskając Command Shift P lub Control Shift P i wpisując Open settings
I tutaj tą wersję gdzie jest napisane JSON.
Jak coś takiego sobie otworzymy to wyszukasz sobie tutaj tscheck
i mamy taką linijkę jak js/ts.implicitProjectConfig.checkJs false
zaznacz to i wybierz true.
To zostanie przekopiowane tutaj do Twoich ustawień.
I to wystarczy, abyśmy w plikach
JavaScript widzieli podświetlanie błędów, które mogą się tam pojawić.
To na pewno przyda nam się, żeby szybko wyłapać błędy zanim przejdziemy do
przeglądarki i zobaczymy, że coś nie działa.
To zatem tyle jeżeli chodzi o narzędzia.
W kolejnej lekcji zobaczysz już jak
wstawić pierwszy skrypt na stronę internetową.