JavaScript. Techniki zaawansowane - ebook
JavaScript. Techniki zaawansowane - 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
Spis treści
- 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
Kategoria: | Webmaster |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8909-0 |
Rozmiar pliku: | 2,9 MB |