Wydajne Tworzenie Stron WWW
2 godz. 2 min · Full-stack i Programowanie
Piotr PalarzWeb DeveloperNiezależnie od tego jak skomplikowana jest dana strona czy aplikacja internetowa, zawsze składa się ona z przynajmniej dwóch komponentów - struktury opisanej w HTML i wyglądu nadanego w CSS. Praca z tymi językami może czasami przyprawić o ból głowy, szczególnie wtedy, gdy tracimy czas na szukanie powodu "rozjeżdżającego się" layoutu lub złej wielkości fontu i miejsca, w którym został on nadpisany. W takich sytuacjach Chrome DevTools to nieoceniona pomoc. Dzięki temu narzędziu w mgnieniu oka znajdziesz zbyt szeroki element, zmienisz jego style "na żywo" i upewnisz się, że problem został rozwiązany. W kursie poznasz wszystkie techniki pracy z HTML i CSS, których wykorzystanie znacznie przyspieszy i uprości Twoją pracę.
Przygotowywanie stron na urządzenia mobilne nie należy do najłatwiejszych zadań. Składa się na to przede wszystkim fakt, iż do czynienia mamy z bardzo wieloma rozdzielczościami telefonów czy tabletów. W kursie zobaczysz, w jaki sposób skalować swoją stronę odwzorowując różne urządzenia, wyświetlać Media Queries czy emulować sensory ruchu. Dowiesz się również jak symulować wolniejsze połączenie internetowe, z którym mamy często do czynienia w mobilnych sieciach, a także jak spowolnić procesor, aby odwzorować słabszy sprzęt, jakim bez wątpienia są urządzenia mobilne.
Współczesne strony internetowe to nie tylko HTML i CSS. To także JavaScript - a nawet... sporo JavaScriptu. Z tego powodu narzędzia deweloperskie przeglądarek oferują i na tym polu wiele możliwości. Jedną z nich jest konsola, która pozwala wykonywać kod JavaScript w obrębie aktualnie otwartej strony. To właśnie tam możemy eksperymentować, podglądać logi czy błędy. Kiedy jednak stajemy przed rozwiązaniem trudniejszego problemu, często niezbędne jest skorzystanie z tzw. debuggera. Z kursu dowiesz się jak debugować swoje aplikacje, aby proces ich tworzenia był jak najprzyjemniejszy. Poznasz sposoby wykonywnania kodu linijka po linijce, gdzie na każdym etapie uzyskasz wgląd we wszystkie dane niezbędne do znalezienia problemu lub przetestowania tworzonego rozwiązania.
Nim dowolna strona internetowa zostanie wyświetlona, musi najpierw zostać do przeglądarki przesłana z serwera w formie kodu. Początkowo to tylko kod HTML, chwilę później CSS, JavaScript, fonty, obrazki, multimedia. Wszystkie te zasoby mają wpływ na szybkość ładowania się strony, a także jej renderowania. Tworząc serwis, bardzo łatwo "przesadzić" i stracić kontrolę nad wydajnością tego procesu.Tutaj z pomocą przychodzi panel Network, który omówimy w kursie. To tam znajdziemy wszystkie zapytania wysłane do serwera, dokładne dane na temat czasu pobierania każdego zasobu, statusy odpowiedzi ciasteczka i wiele więcej.
Choć zarówno komputery osobiste jak i urządzenia mobilne z roku na rok stają się coraz wydajniejsze, to i technologie tworzenia aplikacji internetowych idą do przodu. Oznacza to tylko tyle, że coraz bardziej zaawansowane aplikacje, wymagają do płynnego działania, coraz mocniejszych urządzeń. Trend ten można jednak w pewnym stopniu zatrzymać, skupiając się na tym, czy aby na pewno tworzone przez nas rozwiązania są dobrze przemyślane i wolne od błędów, które mogą powodować nadmierne zużycie pamięci czy czasu procesora. W kursie zobaczysz jak badać wydajność naszego kodu w kontekście CPU i pamięci RAM oraz na jakie pułapki zwracać szczególną uwagę.
Kurs ten jest dla wszystkich osób tworzących strony i aplikacje internetowe. Nieważne czy dopiero rozpoczynasz swoją przygodę z Web Developmentem czy jesteś już weteranem w tej branży. Materiał ten pokaże Ci nowoczesne techniki pracy, które przyspieszą i uproszczą proces tworzenia i testowania stron WWW. Kurs został podzielony w taki sposób, aby zarówno osoby znające wyłącznie HTML i CSS, jak i te korzystające już z języka JavaScript, znalazły porady odnośnie tych tematów.
W tej lekcji chcę ci pokazać jak wygląda drzewo
DOM i czym ono z grubsza jest więc otworzymy sobie narzędzia deweloperskie wybierzemy
tutaj inspect i zauważ że nam się tutaj od razu pojawia takie drzewo
które sprawia wrażenie że jest to po prostu kod html natomiast należy odróżnić
dwie rzeczy jeżeli sobie przyjdę do zobacz źródło strony czyli tutaj view
page source to to jest źródło strony a więc to jest dokładnie kod html
a więc instrukcje dla przeglądarki jak ma wyrenderować
stronę to jest zawsze do nas przesyłane z serwera w moim przypadku z serwera
lokalnego oczywiście można również tworzyć plik index.html ale na przykład wtedy
też przeglądarka nam to wyrenderuje ale jest to tylko tekst który oczywiście my
piszemy zazwyczaj czasami ręcznie czasami jest on w jakiś sposób generowany z różnych
narzędzi ale jest to tekst i to tutaj się nie zmienia nieważne
kiedy otworzę sobie podgląd źródła strony tutaj zawsze
będziemy wiedzieć dokładnie to samo natomiast czym jest drzewo
DOM otóż przeglądarka parsuje sobie taki dokument linijka
po linijce i tworzy jego reprezentację w postaci obiektów i
w całości to wszystko nazywamy drzewem dom dlaczego drzewem otóż
dlatego że ma taką drzewiastą strukturę na przykład element body można powiedzieć że
ma wiele dzieci na przykład jednym jego dzieckiem jest header następnie
kolejnym dzieckiem tutaj w headerze jest ten element div i tak
dalej no i oczywiście tutaj może być więcej dzieci na tym poziomie tak jak widzimy jeden
div i tutaj element nav i tak dalej więc patrząc z góry na dół to jest taka
drzewiasta struktura w zasadzie będzie to taka struktura odwróconego drzewa
i dlatego nazywamy to drzewem dom natomiast to co widzisz tutaj
być może zauważyłeś że z grubsza różni się od tego co widzieliśmy przed momentem
dlatego że tutaj widzimy w zakładce elements żywą strukturę
dokumentu i co to oznacza otóż jeżeli jeszcze raz sobie przejdziemy tutaj do view page
source to w momencie jak przeglądarka wczytuje sobie cały
ten kod i tworzy drzewo don wczytuje również style a także co
bardzo istotne skrypty tutaj mamy różne skrypty javascriptowe
i to co jest ważne to skrypt javascriptowy ma możliwość
modyfikacji drzewa dom i tak też stało się na tej stronie na przykład mamy
tutaj taki slider który nam pozwala na przewijanie i on został
tutaj utworzony z użyciem języka javascript a więc można powiedzieć że
fizycznie musiał taki element czy seria elementów w drzewie dom
musiały być utworzone chociaż nie było ich tutaj można powiedzieć od
razu w takiej formie w kodzie html więc pamiętaj
że tutaj podglądając sobie to drzewo zawsze będziesz widział aktualną
reprezentacje czyli dokładnie to co można powiedzieć widzi przeglądarka
jeżeli tutaj się coś będzie zmieniać na przykład przewidujemy zauważ że tutaj jakieś
style na tym elemencie się zmieniają mimo tego że tych styli w kodzie html
nigdzie nie zapisaliśmy one są tutaj dodawane z użyciem
języka javascript zauważ jedną bardzo ważną rzecz jak sobie
tutaj najeżdżam na te elementy w drzwie dom na stronie również są one podświetlane i
może zrobię tutaj trochę miejsca albo pokażę ci fajną opcję że możemy zadokować sobie
chrome devtools na przykład do prawej strony i wtedy będziemy tutaj
mieli naszą stronę a tutaj będziemy mieli całe to narzędzie
oczywiście lepiej byłoby mieć troszkę więcej miejsca ja na co dzień pracuję na większym
monitorze więc trochę lepiej to się nam będzie wtedy mieścić nie mniej jednak mogę
najeżdżać na elementy i te elementy na stronie są podświetlane widzę również
ich rozmiary i tak dalej jeżeli chciałbym konkretny element
sobie znaleźć to albo muszę tutaj najeżdżając na te elementy sobie zidentyfikować
albo mogę to zrobić prościej otóż jeżeli kliknę na konkretny element na
przykład na tą kropkę prawym przyciskiem i wybierę inspect to dokładnie ona
w drzewie dom zostanie podświetlona od razu widzimy gdzie się znajduje w jakich elementach i
jakie są jej style do których jeszcze przyjdziemy później i masę
innych rzeczy jeszcze do tego możemy znaleźć innym sposobem jest kliknięcie tutaj na
taką ikonkę i wtedy możemy na stronie zaznaczyć to co nas interesuje przy
okazji zauważ że mamy tutaj fajny tooltip które który najważniejsze style nam
pokazuje i teraz jeżeli kliknę taki przycisk to jeżeli on był
klikalny nie został kliknięty czyli na przykład nie zostałem przeniesiony na docelową
stronę tylko tutaj w panelu element został ten element
zaznaczony więc w ten sposób możemy również konkretny element zbadać
albo prawym przyciskiem inspect albo ta strzałeczka i wybieramy konkretny
element okej to tyle takim tytułem wstępu chciałem ci po prostu pokazać
różnice między kodem html a drzewem dom które jest tutaj na
żywo wyświetlane natomiast więcej informacji na ten temat znajdziesz w lekcji
którą możesz teraz kliknąć sobie na linii czasu z kursu javascript od podstaw gdzie
dokładniej tłumaczę jeszcze czym jest obiektowy model dokumentu