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.
Przechodzimy do kolejnego tematu czyli do wydajności aplikacji na
początek będę chciał ci pokazać fajne api które jest dostępne w przeglądarkach które
pozwoli ci mierzyć czas pomiędzy pewnymi akcjami można powiedzieć
że możesz zmienić czas pomiędzy wykonaniem się na przykład jednej a drugiej linijki
kodu i dawniej robiło się to w ten sposób że powiedzmy jeżeli chcielibyśmy zobaczyć
ile upłynęło pomiędzy kliknięciem tego przycisku a wczytaniem
się czyli pobraniem tych danych i wykonaniem się na przykład
tej linijki to zrobilibyśmy sobie tutaj na przykład w zmiennej date now
i porównywali byśmy daty ale nie jest to najbardziej dokładny sposób dlatego
pokażę ci że możemy w przeglądarkach korzystać z api która nazywa się performance api
wystarczy że w jednym miejscu wpiszemy performance
następnie mark czyli chcemy coś zaznaczyć i możemy tutaj podać
dowolny string jak chcemy to nazwać na przykład powiedzmy
że jest to clik i teraz przyjdziemy w inne miejsce czyli naprzykład tutaj wpiszemy
performance mark i powiedzmy loaded
możesz to nazwać tak jak chcesz i teraz będziemy sobie
mogli zmierzyć ile czasu upłynęło pomiędzy tym miejscem a
tym miejscem i wyświetlić sobie to w konsoli żeby to zrobić piszemy
performance i następnie measure czyli zmierz musimy
podać tutaj nazwę jaką chcemy na przykład Ajax bo jest tu to wczytanie się
się i następnie musimy podać pomiędzy jakimi punktami
chcemy to zmierzyć czy pierwszy nazwaliśmy click a więc podaje click a drugi nazwaliśmy
loaded a więc zróbimy to w ten sposób to natomiast nam nie wystarczy
bo musimy jeszcze w konsoli zrobić sobie console.log więc
zróbmy to tak żeby to wyświetlić piszemy performance i
następnie getEntries tutaj tego byłoby bardzo dużo więc
piszemy sobie getEntriesByType ważne abyś po prostu wiedział że tymi
kilkoma linijkami można to zrobić a w razie czego
odsyłam jeszcze do dokumentacji i teraz jeżeli zrobimy sobie coś takiego przejdziemy
tutaj do konsoli odświeży ten stronę żeby ten skrypt się wczytał zrobię wyślij zapytanie
to powinno nam się to wyświetlić i widzimy coś taiego jak Performance
Measure i możemy sobie dokładnie tutaj zobaczyć ile czasu to wszystko trwało
a więc pomiędzy start a end
jak widać było 3 sekundy mogli byśmy sobie jeszcze zerknąć tutaj
do xhr i zobaczyć rzeczywiście ile nam to wszystko zajęło
a więc samo pobranie jak tutaj widać to było
ponad jedną sekundę natomiast całość trwała prawie
3 sekundy możemy spróbować jeszcze raz jeżeli ten przycisk gdzieś tutaj jest dostępny okej
teraz on jest nieaktywny więc odświeżmy spróbujmy jeszcze raz
i widzimy że teraz było to dwie sekundy więc ten czas może się zmieniać oczywiście w przypadku Ajaxa
bardziej lub mniej ale w ten sposób możesz również mierzyć wydajność
swojej aplikacji kiedy wykonujesz jakieś obliczenia lub robisz jakieś inne skomplikowane
rzeczy warto po prostu wiedzieć że takie api istnieje