E-book details

JavaScript. Techniki zaawansowane

JavaScript. Techniki zaawansowane

Tomasz Sochacki

Ebook

Narzędzie dla web developera

JavaScript rozwija się wraz z internetem. Początkowo był używany do pisania kodu prostych interakcji na stronach WWW, dziś pozwala budować pełnoprawne programy umożliwiające dynamiczną wymianę danych z serwerami, obsługę urządzeń peryferyjnych komputera, jak kamera, mikrofon, różnego rodzaju czujniki itp. Ponadto język ten może być stosowany do tworzenia wydajnych aplikacji serwerowych, a także do programowania urządzeń takich jak mikroroboty czy silniki elektryczne.

Jeśli znasz podstawy tego języka, jeśli zdarzyło Ci się już coś w nim napisać, ten podręcznik jest właśnie dla Ciebie. Pozwoli Ci uzyskać wiedzę i umiejętności, dzięki którym dołączysz do grona programistów tworzących w JavaScript oprogramowanie dostępne praktycznie na każdą platformę - od części serwerowej, przez przeglądarki internetowe i aplikacje natywne dla smartfonów, po takie urządzenia jak smartwatch, smart TV i wiele innych.

Skoro potrafisz tworzyć proste aplikacje, swobodnie poruszasz się w składni języka JavaScript i wśród typów zmiennych, rozumiesz i umiesz korzystać z asynchroniczności, to czas najwyższy na:

  • upraszczanie kodu aplikacji i korzystanie z wbudowanych mechanizmów języka
  • przyjrzenie się iteratorom i generatorom
  • wykorzystanie możliwości, jakie w JavaScript daje asynchroniczność
  • pracę wielowątkową
  • wyjście poza proste zbiory danych
  • programowanie reaktywne
  • Wstęp
    • Dla kogo przeznaczona jest książka?
    • Narzędzia do pracy z książką
    • Tematy omawiane w książce
  • Rozdział 1. Obiekty Map i Set
    • Wady standardowych obiektów
    • Podstawowe informacje o strukturach typu Map
    • Różne sposoby tworzenia struktur Map
    • Modyfikowanie elementów struktury Map
    • Sprawdzanie, czy struktura Map zawiera szukany klucz
    • Wyszukiwanie elementów w strukturze Map
    • Struktury WeakMap
    • Zbiory unikatowych elementów Set i WeakSet
    • Tworzymy własne rozszerzenia struktury Set
    • Podsumowanie
  • Rozdział 2. Iteratory i generatory
    • Czym są iteratory w JavaScripcie?
    • Interfejs iteratora
    • Domyślna implementacja metody next
    • Iteratory dostępne w pętlach for/for-of
    • Wykorzystanie iteratorów z operatorem destrukturyzacji
    • Niestandardowa implementacja metody next
    • Metody return oraz throw interfejsu Iterator
    • Podstawowe informacje o generatorach
    • Podstawowe informacje o wyrażeniu yield w generatorach
    • Zaawansowane użycie słowa yield (yield delegation)
    • Przerywanie pracy generatorów
    • Jak utworzyć generator za pomocą zwykłej funkcji?
    • Przykłady zastosowania generatorów
  • Rozdział 3. Asynchroniczny JavaScript
    • Kolejki zdarzeń w języku JavaScript
    • Iteratory asynchroniczne
    • Konstrukcja async/await
    • Asynchroniczna pętla for-await-of
    • Składnia async/await i praca z wieloma obietnicami
    • Obsługa błędów w składni async/await
    • Czy zawsze trzeba używać await?
    • Generatory asynchroniczne
  • Rozdział 4. Wielowątkowy JavaScript
    • Wielowątkowość i asynchroniczność
    • Kiedy warto używać dodatkowych wątków?
    • Podstawowe informacje o wątkach w JavaScripcie
    • Co udostępnia nam Worker Global Scope?
    • Komunikacja wątku głównego i dodatkowego
    • Obsługa błędów i przerywanie pracy wątku
    • Złożona komunikacja między wątkami
    • Aplikacja PWA jako alternatywa dla aplikacji natywnych
    • Aplikacja PWA i ServiceWorker
    • Kontrola pobieranych zasobów w ServiceWorker
    • Wykorzystanie ServiceWorker do obsługi błędów w komunikacji client-server
    • Aktualizacja ServiceWorker i świadome czyszczenie zapisanych zasobów
    • Okresowa oraz ręczna synchronizacja danych
    • Plik manifestu dla aplikacji PWA
  • Rozdział 5. Zaawansowane operacje na obiektach
    • Gettery i settery
    • Deskryptory właściwości
    • Ograniczenie możliwości dodawania nowych pól w istniejącym obiekcie
    • Inne ograniczenia modyfikowalności obiektów
    • Zaawansowana destrukturyzacja obiektów
    • Destrukturyzacja tablic
    • Płytkie kopie tablic i obiektów
    • Głębokie kopie tablic i obiektów
    • Zaawansowane głębokie kopiowanie obiektów i tablic
  • Rozdział 6. Programowanie reaktywne
    • Tworzenie strumienia danych i subskrypcja konsumenta
    • Tworzenie strumieni danych Observable
    • Kontrolowanie czasu wysyłania strumieni danych
    • Tworzenie Observable na podstawie żądania HTTP
    • Czym są i jak wykorzystać operatory
    • Operatory filtrujące strumień danych
    • Operatory modyfikujące strumień danych
    • Inne przydatne operatory i metody obiektu Observable
    • Podstawowe rodzaje Observable
  • Rozdział 7. Praca z elementem canvas
    • Zaczynamy pracę z canvas
    • Rysowanie na canvas
    • Tworzenie tekstów
    • Dodatkowe możliwości nadawania stylów rysowanym elementom
  • Title: JavaScript. Techniki zaawansowane
  • Author: Tomasz Sochacki
  • ISBN: 978-83-283-8909-0, 9788328389090
  • Date of issue: 2021-11-10
  • Format: Ebook
  • Item ID: zaazaj
  • Publisher: Helion