Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00360 014682 13630791 na godz. na dobę w sumie
Angular. Profesjonalne techniki programowania. Wydanie II - ebook/pdf
Angular. Profesjonalne techniki programowania. Wydanie II - ebook/pdf
Autor: Liczba stron: 736
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-4232-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> javascript - programowanie
Porównaj ceny (książka, ebook (-20%), audiobook).

Framework Angular 2 jest dziś uważany za jeden z najwydajniejszych sposobów rozwijania średnich i dużych aplikacji internetowych. Te aplikacje działają bez problemu niezależnie od platformy. Separacja kodu interfejsu od logiki aplikacji, prosta modularyzacja aplikacji, bezproblemowe przetwarzanie danych asynchronicznych, bogaty zestaw narzędzi i ogromne ułatwienia podczas projektowania interfejsu użytkownika - to tylko kilka z wielu zalet Angulara. Nawet jednak tak świetny framework wymaga od programisty wiedzy i umiejętności prawidłowego budowania kodu.

Książka rozpoczyna się od przedstawienia wzorca MVC i jego zalet. Ta wiedza następnie przydaje się do budowy własnego projektu za pomocą Angulara. Najpierw będzie to prosta, praktyczna aplikacja, a później zostaną przedstawione coraz bardziej zaawansowane funkcje. Każdy temat jasno i spójnie wyjaśniono, zamieszczając szczegóły konieczne do efektywnej pracy. Przedstawiono sposoby wykorzystywania różnych pożytecznych narzędzi, w tym frameworka Bootstrap, biblioteki Reactive Extensions czy frameworka Jasmine. Nie zabrakło objaśnień najczęściej występujących problemów oraz sposobów ich rozwiązywania.

W tej książce między innymi:

Angular 2. Profesjonalne narzędzie dla profesjonalisty.


Adam Freeman jest wyjątkowo doświadczonym programistą i architektem. Doskonale rozumie wyzwania, jakie niesie ze sobą zapewnienie bezpieczeństwa dużym systemom informatycznym. Freeman pracował w wielu firmach, takich jak Netscape czy Sun Microsystems, a ostatnio zajmował stanowisko dyrektora naczelnego w międzynarodowym banku. Obecnie jest na emeryturze. Swój czas dzieli między dwie pasje: pisanie i bieganie.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Pro Angular, 2nd Edition Tłumaczenie: Robert Górczyński ISBN: 978-83-283-4231-6 Original edition copyright © 2017 by Adam Freeman. All rights reserved. Polish edition copyright © 2018 by HELION SA. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Pliki z przykładami omawianymi w książce można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/angup2.xz Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/angup2 Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność (cid:132) (cid:132) (cid:132) Spis tre(cid:258)ci O autorze ...........................................................................................................17 O recenzencie technicznym ...............................................................................19 Cz(cid:218)(cid:258)(cid:202) I Zaczynamy .................................................................................... 21 Rozdzia(cid:239) 1. Rozpocz(cid:218)cie pracy .............................................................................................23 Co powinieneś wiedzieć? ...............................................................................................................23 Jaka jest struktura niniejszej książki? ...........................................................................................24 Część I. Zaczynamy .................................................................................................................24 Część II. Praca z Angular ........................................................................................................24 Część III. Zaawansowane funkcje Angular ..........................................................................24 Czy w książce znajdę wiele przykładów? .....................................................................................24 Gdzie znajdę przykładowe fragmenty kodu? ..............................................................................26 Jak skonfigurować środowisko programistyczne? .....................................................................26 Kontakt z autorem ..........................................................................................................................26 Podsumowanie ................................................................................................................................26 Rozdzia(cid:239) 2. Pierwsza aplikacja w Angular ...........................................................................27 Przygotowanie środowiska programistycznego .........................................................................27 Instalowanie Node.js ...............................................................................................................27 Instalowanie pakietu angular-cli ...........................................................................................28 Instalowanie narzędzia git ......................................................................................................28 Instalowanie edytora tekstu ...................................................................................................29 Instalowanie przeglądarki WWW .........................................................................................30 Utworzenie i przygotowanie projektu .........................................................................................30 Utworzenie projektu ...............................................................................................................30 Uaktualnienie pliku package.json ..........................................................................................30 Uruchamianie serwera ............................................................................................................32 Edytowanie pliku HTML ........................................................................................................33 Dodanie frameworka Angular do projektu ................................................................................35 Przygotowanie pliku HTML ..................................................................................................35 Utworzenie danych modelu ...................................................................................................36 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Utworzenie szablonu ...............................................................................................................38 Uaktualnienie komponentu ...................................................................................................39 Połączenie wszystkiego w całość ...........................................................................................41 Dodawanie funkcji do przykładowej aplikacji ...........................................................................42 Dodanie tabeli wyświetlającej listę rzeczy do zrobienia .....................................................43 Utworzenie dwukierunkowego mechanizmu dołączania danych ....................................46 Dodawanie zadań ....................................................................................................................47 Podsumowanie ................................................................................................................................49 Rozdzia(cid:239) 3. Umieszczenie frameworka Angular w kontek(cid:258)cie ..............................................51 Sytuacje, w których Angular sprawdza się doskonale ....................................................................52 Aplikacje dwukierunkowe oraz w postaci pojedynczej strony .........................................52 Wzorzec MVC .................................................................................................................................54 Model .........................................................................................................................................56 Kontroler (komponent) ..........................................................................................................58 Widok (szablon) ......................................................................................................................58 Usługi typu RESTful .......................................................................................................................59 Najczęstsze pułapki podczas stosowania wzorca MVC .................................................................61 Umieszczenie logiki w nieodpowiednim miejscu ...............................................................61 Przyjęcie formatu danych stosowanego w magazynie danych .........................................62 Wystarczająca ilość wiedzy, aby wpaść w tarapaty .............................................................62 Podsumowanie ................................................................................................................................62 Rozdzia(cid:239) 4. Krótkie wprowadzenie do HTML i CSS ..............................................................63 Utworzenie przykładowego projektu ..........................................................................................63 Język HTML ....................................................................................................................................64 Element samozamykający się .................................................................................................65 Atrybut ......................................................................................................................................66 Stosowanie atrybutu bez wartości .........................................................................................66 Cytowanie literałów w atrybucie ...........................................................................................66 Treść elementu .........................................................................................................................67 Struktura dokumentu ..............................................................................................................67 Framework Bootstrap ....................................................................................................................68 Stosowanie podstawowych klas Bootstrap ...........................................................................69 Użycie frameworka Bootstrap do nadawania stylu tabeli ..................................................72 Użycie frameworka Bootstrap do tworzenia formularzy HTML .....................................74 Użycie frameworka Bootstrap do utworzenia układu opartego na siatce .......................75 Podsumowanie ................................................................................................................................80 Rozdzia(cid:239) 5. Wprowadzenie do j(cid:218)zyków JavaScript i TypeScript — cz(cid:218)(cid:258)(cid:202) 1 ..........................81 Utworzenie przykładowego projektu ..........................................................................................82 Utworzenie plików HTML i JavaScript ................................................................................83 Konfiguracja kompilatora TypeScript ..................................................................................84 Uruchomienie przykładowego projektu ..............................................................................84 Element script ............................................................................................................................85 Użycie procedury wczytującej moduł JavaScript ................................................................85 Podstawowy sposób pracy ......................................................................................................86 6 Poleć książkęKup książkę SPIS TRE(cid:165)CI Używanie poleceń ...........................................................................................................................87 Definiowanie i używanie funkcji ..................................................................................................88 Definiowanie funkcji z parametrami ....................................................................................89 Definiowanie funkcji zwracającej wartość ...........................................................................91 Używanie funkcji jako argumentu innej funkcji .................................................................91 Używanie zmiennych i typów .......................................................................................................92 Używanie typów podstawowych ...........................................................................................94 Używanie operatorów JavaScript .................................................................................................95 Używanie konstrukcji warunkowych ...................................................................................96 Operator równości kontra operator identyczności ............................................................97 Jawna konwersja typu .............................................................................................................97 Praca z tablicą ..................................................................................................................................99 Użycie literału tablicy ............................................................................................................100 Odczyt i modyfikacja zawartości tablicy ............................................................................100 Wyświetlenie zawartości tablicy ..........................................................................................100 Używanie wbudowanych metod przeznaczonych do pracy z tablicą ............................101 Podsumowanie ..............................................................................................................................103 Rozdzia(cid:239) 6. Wprowadzenie do j(cid:218)zyków JavaScript i TypeScript — cz(cid:218)(cid:258)(cid:202) 2 ........................105 Utworzenie przykładowego projektu ........................................................................................105 Praca z obiektami ..........................................................................................................................106 Używanie literału obiektu ....................................................................................................107 Używanie funkcji jako metod ..............................................................................................107 Zdefiniowanie klasy ...............................................................................................................108 Praca z modułami JavaScript ......................................................................................................111 Utworzenie modułu ..............................................................................................................111 Import z modułu JavaScript .................................................................................................112 Użyteczne funkcje języka TypeScript ........................................................................................115 Używanie adnotacji typu ......................................................................................................115 Używanie krotki .....................................................................................................................120 Używanie typów indeksowanych ........................................................................................120 Używanie modyfikatorów dostępu .....................................................................................121 Podsumowanie ..............................................................................................................................122 Rozdzia(cid:239) 7. SportsStore — rzeczywista aplikacja ...............................................................123 Utworzenie przykładowego projektu ........................................................................................123 Utworzenie struktury katalogów .........................................................................................124 Instalowanie dodatkowych pakietów npm ........................................................................124 Utworzenie usługi sieciowej typu RESTful ........................................................................125 Utworzenie pliku HTML ......................................................................................................127 Uruchomienie przykładowej aplikacji ................................................................................128 Uruchomienie usługi sieciowej typu RESTful ...................................................................128 Przygotowanie funkcji projektu Angular ..................................................................................129 Uaktualnienie komponentu głównego ...............................................................................129 Uaktualnienie modułu głównego ........................................................................................129 Analiza pliku typu bootstrap ................................................................................................130 7 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Utworzenie danych modelu ........................................................................................................131 Utworzenie klas modelu .......................................................................................................131 Utworzenie fikcyjnego źródła danych ................................................................................132 Utworzenie repozytorium modelu ......................................................................................133 Utworzenie modułu funkcjonalnego ..................................................................................134 Rozpoczęcie pracy nad utworzeniem sklepu internetowego .................................................135 Utworzenie szablonu i komponentu sklepu internetowego ...........................................135 Utworzenie modułu funkcjonalnego dla sklepu ...............................................................136 Uaktualnienie komponentu i modułu głównego ..............................................................137 Dodawanie funkcji związanych z produktem ..........................................................................138 Wyświetlanie szczegółów produktu ....................................................................................138 Dodawanie możliwości wyboru kategorii ..........................................................................139 Dodawanie stronicowania produktów ...............................................................................141 Utworzenie własnej dyrektywy ............................................................................................143 Podsumowanie ..............................................................................................................................147 SportsStore — zamówienia i zakupy ...............................................................149 Utworzenie przykładowego projektu ........................................................................................149 Utworzenie koszyka na zakupy ..................................................................................................149 Utworzenie modelu koszyka na zakupy .............................................................................150 Utworzenie komponentów podsumowania koszyka na zakupy ....................................151 Integracja koszyka na zakupy ze sklepem internetowym ................................................153 Zaimplementowanie routingu ....................................................................................................155 Utworzenie komponentów zawartości koszyka i procesu składania zamówienia ......................................................................................156 Utworzenie i zastosowanie konfiguracji routingu ............................................................157 Nawigacja po aplikacji ..........................................................................................................158 Zabezpieczanie tras ................................................................................................................160 Ukończenie funkcji obsługi zawartości koszyka ......................................................................163 Przetwarzanie zamówienia ..........................................................................................................165 Rozbudowa modelu ...............................................................................................................165 Pobieranie szczegółów zamówienia ....................................................................................168 Używanie usługi sieciowej typu RESTful ..................................................................................171 Zastosowanie źródła danych ................................................................................................172 Podsumowanie ..............................................................................................................................173 SportsStore — administracja ..........................................................................175 Utworzenie przykładowej aplikacji ............................................................................................175 Utworzenie modułu ..............................................................................................................175 Konfigurowanie systemu routingu .....................................................................................178 Nawigacja do administracyjnego adresu URL ..................................................................179 Implementowanie uwierzytelniania ..........................................................................................179 Poznajemy system uwierzytelniania ...................................................................................180 Rozbudowa źródła danych ...................................................................................................181 Konfigurowanie usługi uwierzytelniania ...........................................................................182 Włączenie uwierzytelniania .................................................................................................183 Rozdzia(cid:239) 8. Rozdzia(cid:239) 9. 8 Poleć książkęKup książkę SPIS TRE(cid:165)CI Rozbudowa źródła danych i repozytoriów ...............................................................................185 Utworzenie struktury funkcji administracyjnych ....................................................................189 Utworzenie komponentów w postaci miejsc zarezerwowanych ....................................190 Przygotowanie wspólnej treści i modułu funkcjonalnego ...............................................190 Zaimplementowanie funkcji obsługi produktu ................................................................193 Zaimplementowanie funkcji obsługi zamówienia ............................................................196 Podsumowanie ..............................................................................................................................198 Rozdzia(cid:239) 10. SportsStore — wdro(cid:285)enie ...............................................................................199 Przygotowanie aplikacji do wdrożenia .......................................................................................199 Umieszczenie aplikacji SportsStore w kontenerze ...................................................................199 Instalowanie narzędzia Docker ...........................................................................................200 Przygotowanie aplikacji ........................................................................................................200 Utworzenie kontenera ..........................................................................................................201 Uruchamianie aplikacji .........................................................................................................202 Podsumowanie ..............................................................................................................................203 Cz(cid:218)(cid:258)(cid:202) II Praca z Angular .......................................................................... 205 Rozdzia(cid:239) 11. Utworzenie projektu Angular ..........................................................................207 Przygotowanie projektu Angular opartego na języku TypeScript ........................................208 Utworzenie struktury katalogów projektu .........................................................................208 Utworzenie i udostępnianie dokumentu HTML ..............................................................208 Przygotowanie konfiguracji projektu .................................................................................209 Dodawanie pakietów .............................................................................................................209 Uruchamianie procesu obserwatora ...................................................................................217 Rozpoczęcie programowania Angular z użyciem TypeScript ...............................................218 Utworzenie modelu ...............................................................................................................221 Utworzenie szablonu i modułu głównego .........................................................................224 Utworzenie modułu Angular ...............................................................................................225 Utworzenie pliku typu bootstrap dla aplikacji ..................................................................225 Konfigurowanie procedury wczytywania modułu JavaScript ........................................226 Uaktualnianie dokumentu HTML ......................................................................................229 Uruchamianie aplikacji .........................................................................................................231 Podsumowanie ..............................................................................................................................233 Rozdzia(cid:239) 12. Mechanizm do(cid:239)(cid:200)czania danych ........................................................................235 Utworzenie przykładowego projektu ........................................................................................236 Jednokierunkowe dołączanie danych ........................................................................................237 Cel dla operacji dołączania danych .....................................................................................239 Wyrażenie dołączania danych .............................................................................................239 Nawias kwadratowy ..............................................................................................................241 Element HTML ......................................................................................................................242 Używanie standardowego dołączania właściwości i atrybutu ...............................................242 Używanie standardowego dołączania właściwości ...........................................................242 Używanie dołączania danych w postaci interpolacji ciągu tekstowego .........................243 Używanie dołączania atrybutu ............................................................................................245 9 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Przypisywanie klas i stylów .........................................................................................................246 Używanie dołączania klasy ...................................................................................................246 Używanie dołączania stylu ...................................................................................................250 Uaktualnienie danych w aplikacji ..............................................................................................254 Podsumowanie ..............................................................................................................................256 Rozdzia(cid:239) 13. U(cid:285)ywanie wbudowanych dyrektyw ................................................................257 Utworzenie przykładowego projektu ........................................................................................258 Używanie wbudowanej dyrektywy ............................................................................................259 Używanie dyrektywy ngIf .....................................................................................................260 Używanie dyrektywy ngSwitch ............................................................................................262 Używanie dyrektywy ngFor .................................................................................................264 Używanie dyrektywy ngTemplateOutlet ...........................................................................273 Ograniczenia jednokierunkowego dołączania danych ...........................................................275 Używanie wyrażeń idempotentnych ...................................................................................275 Kontekst wyrażenia ...............................................................................................................278 Podsumowanie ..............................................................................................................................280 Rozdzia(cid:239) 14. U(cid:285)ywanie zdarze(cid:241) i formularzy .......................................................................281 Utworzenie przykładowego projektu ........................................................................................282 Dodawanie modułu obsługi formularzy ............................................................................282 Przygotowanie komponentu i szablonu .............................................................................284 Używanie dołączania zdarzenia ..................................................................................................285 Poznajemy właściwości zdefiniowane dynamicznie ........................................................287 Używanie danych zdarzenia .................................................................................................289 Używanie zmiennej odwołania w szablonie ......................................................................290 Używanie dwukierunkowego dołączania danych ....................................................................292 Używanie dyrektywy ngModel ............................................................................................294 Praca z formularzem HTML .......................................................................................................295 Dodawanie formularza do przykładowej aplikacji ...........................................................295 Dodawanie weryfikacji danych formularza .......................................................................297 Weryfikacja danych całego formularza ..............................................................................306 Używanie formularza opartego na modelu ..............................................................................312 Włączenie funkcji tworzenia formularza opartego na modelu .......................................312 Zdefiniowanie klas modelu formularza .............................................................................313 Używanie modelu do weryfikacji danych ..........................................................................316 Generowanie elementów na podstawie modelu ...............................................................319 Utworzenie własnych reguł weryfikacji formularza ................................................................320 Zastosowanie własnej reguły weryfikacji ...........................................................................321 Podsumowanie ..............................................................................................................................323 Rozdzia(cid:239) 15. Tworzenie dyrektywy atrybutu .......................................................................325 Utworzenie przykładowego projektu ........................................................................................326 Utworzenie prostej dyrektywy atrybutu ....................................................................................328 Zastosowanie własnej dyrektywy ........................................................................................329 10 Poleć książkęKup książkę SPIS TRE(cid:165)CI Uzyskanie w dyrektywie dostępu do danych aplikacji ............................................................330 Odczyt atrybutów elementu HTML ...................................................................................331 Utworzenie właściwości dołączania danych wejściowych ...............................................333 Reagowanie na zmianę właściwości danych wejściowych ...............................................335 Utworzenie własnego zdarzenia .................................................................................................337 Dołączanie do własnego zdarzenia .....................................................................................339 Utworzenie operacji dołączania danych w elemencie HTML ...............................................340 Używanie dwukierunkowego dołączania danych w elemencie HTML ................................341 Wyeksportowanie dyrektywy do użycia w zmiennej szablonu .............................................345 Podsumowanie ..............................................................................................................................347 Rozdzia(cid:239) 16. Tworzenie dyrektywy strukturalnej .................................................................349 Utworzenie przykładowego projektu ........................................................................................350 Utworzenie prostej dyrektywy strukturalnej ............................................................................350 Implementowanie klasy dyrektywy strukturalnej ............................................................352 Włączanie dyrektywy strukturalnej ....................................................................................354 Używanie zwięzłej składni dyrektywy strukturalnej ........................................................356 Utworzenie iteracyjnej dyrektywy strukturalnej ......................................................................357 Dostarczanie dodatkowych danych kontekstu ..................................................................359 Używanie zwięzłej składni dyrektywy strukturalnej ........................................................361 Zmiany danych na poziomie właściwości ..........................................................................362 Zmiany danych na poziomie kolekcji .................................................................................363 Pobieranie treści elementu HTML .............................................................................................373 Wykonywanie zapytań do wielu elementów potomnych w treści .................................376 Otrzymywanie powiadomień o zmianie zapytania ..........................................................378 Podsumowanie ..............................................................................................................................379 Rozdzia(cid:239) 17. Poznajemy komponent ....................................................................................381 Utworzenie przykładowego projektu ........................................................................................382 Strukturyzacja aplikacji z użyciem komponentów ..................................................................382 Utworzenie nowych komponentów ....................................................................................384 Definiowanie szablonu .........................................................................................................387 Zakończenie restrukturyzacji komponentu głównego .....................................................396 Używanie stylów komponentu ...................................................................................................398 Definiowanie zewnętrznych stylów komponentu ............................................................398 Używanie zaawansowanych funkcji stylów .......................................................................400 Pobieranie treści szablonu ...........................................................................................................406 Podsumowanie ..............................................................................................................................408 Rozdzia(cid:239) 18. Tworzenie i u(cid:285)ywanie potoku .........................................................................409 Utworzenie przykładowego projektu ........................................................................................410 Instalowanie biblioteki typu polyfill ...................................................................................412 Poznajemy potok ..........................................................................................................................414 Utworzenie własnego potoku .....................................................................................................415 Rejestrowanie własnego potoku ..........................................................................................416 Zastosowanie własnego potoku ...........................................................................................417 Łączenie potoków ..................................................................................................................418 Utworzenie potoku nieczystego ..........................................................................................419 11 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Używanie wbudowanych potoków ............................................................................................423 Formatowanie wartości liczbowych ....................................................................................423 Formatowanie wartości walutowych ..................................................................................425 Formatowanie wartości procentowych ..............................................................................428 Formatowanie wartości daty i godziny ...............................................................................430 Zmiana wielkości znaków ciągu tekstowego .....................................................................433 Serializowanie danych jako JSON .......................................................................................434 Podział danych tablicy ..........................................................................................................435 Podsumowanie ..............................................................................................................................436 Rozdzia(cid:239) 19. Poznajemy us(cid:239)ug(cid:218) ...........................................................................................437 Utworzenie przykładowego projektu ........................................................................................438 Poznajemy problem związany z przekazywaniem obiektów .................................................439 Prezentacja problemu ...........................................................................................................439 Wykorzystanie mechanizmu wstrzykiwania zależności do rozprowadzania obiektu jako usługi ...........................................................................444 Zadeklarowanie zależności w innych elementach konstrukcyjnych ..............................449 Problem izolacji testu ...................................................................................................................455 Izolowanie komponentów za pomocą usług i mechanizmu wstrzykiwania zależności .........................................................................455 Dokończenie zastosowania usług w aplikacji ...........................................................................458 Uaktualnienie komponentu głównego i szablonu ............................................................459 Uaktualnianie komponentów potomnych .........................................................................459 Podsumowanie ..............................................................................................................................461 Rozdzia(cid:239) 20. Poznajemy dostawc(cid:218) us(cid:239)ugi ............................................................................463 Utworzenie przykładowego projektu ........................................................................................464 Używanie dostawcy usługi ..........................................................................................................465 Używanie dostawcy klasy .....................................................................................................468 Używanie dostawcy wartości ...............................................................................................475 Używanie dostawcy fabryki ..................................................................................................477 Używanie dostawcy istniejącej usługi .................................................................................480 Używanie dostawcy lokalnego ....................................................................................................481 Ograniczenia pojedynczego obiektu usługi .......................................................................481 Utworzenie dostawcy lokalnego w dyrektywie .................................................................482 Utworzenie dostawcy lokalnego w komponencie .............................................................483 Kontrolowanie spełniania zależności .................................................................................489 Podsumowanie ..............................................................................................................................491 Rozdzia(cid:239) 21. U(cid:285)ywanie i tworzenie modu(cid:239)u .........................................................................493 Utworzenie przykładowego projektu ........................................................................................494 Moduł główny ...............................................................................................................................495 Właściwość imports ..............................................................................................................497 Właściwość declarations .......................................................................................................498 Właściwość providers ...........................................................................................................498 Właściwość bootstrap ...........................................................................................................498 12 Poleć książkęKup książkę SPIS TRE(cid:165)CI Utworzenie modułu funkcjonalnego .........................................................................................501 Utworzenie modułu modelu ................................................................................................502 Utworzenie modułu narzędziowego ...................................................................................506 Utworzenie modułu wraz z komponentami ......................................................................511 Podsumowanie ..............................................................................................................................514 Cz(cid:218)(cid:258)(cid:202) III Zaawansowane funkcje Angular ................................................ 515 Rozdzia(cid:239) 22. Utworzenie przyk(cid:239)adowego projektu ..............................................................517 Rozpoczęcie pracy nad przykładowym projektem ..................................................................517 Dodawanie i konfigurowanie pakietów .....................................................................................518 Konfigurowanie TypeScript .................................................................................................519 Konfigurowanie programistycznego serwera HTTP .......................................................519 Konfigurowanie procedury wczytującej moduł JavaScript .............................................520 Utworzenie modułu modelu .......................................................................................................520 Utworzenie typu danych produktu .....................................................................................520 Utworzenie źródła danych i repozytorium ........................................................................520 Zakończenie pracy nad modułem modelu ........................................................................522 Utworzenie modułu core .............................................................................................................522 Utworzenie współdzielonej usługi informacji o stanie ....................................................522 Utworzenie komponentu tabeli ...........................................................................................523 Utworzenie komponentu formularza .................................................................................524 Zakończenie pracy nad modułem core ..............................................................................526 Utworzenie modułu messages ....................................................................................................527 Utworzenie modelu i usługi .................................................................................................527 Utworzenie komponentu i szablonu ..................................................................................528 Zakończenie pracy nad modułem messages ......................................................................528 Zakończenie pracy nad projektem .............................................................................................529 Utworzenie pliku typu bootstrap ........................................................................................529 Utworzenie modułu Reactive Extensions ..........................................................................529 Utworzenie dokumentu HTML ..........................................................................................530 Uruchomienie przykładowego projektu ...................................................................................531 Podsumowanie ..............................................................................................................................531 Rozdzia(cid:239) 23. Poznajemy bibliotek(cid:218) Reactive Extensions ......................................................533 Utworzenie przykładowego projektu ........................................................................................534 Poznajemy problem .....................................................................................................................535 Rozwiązanie problemu za pomocą biblioteki Reactive Extensions .......................................537 Klasa Observable ....................................................................................................................538 Klasa Observer .......................................................................................................................539 Klasa Subject ...........................................................................................................................540 Używanie potoku async ...............................................................................................................542 Używanie potoku async wraz z niestandardowym potokiem .........................................543 Skalowanie w górę modułów funkcjonalnych aplikacji ..........................................................544 Wyjście poza podstawy ................................................................................................................547 Filtrowanie zdarzeń ...............................................................................................................547 Transformowanie zdarzeń ...................................................................................................548 13 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Otrzymywanie jedynie odmiennych zdarzeń ....................................................................551 Pobieranie i pomijanie zdarzeń ...........................................................................................553 Podsumowanie ..............................................................................................................................554 Rozdzia(cid:239) 24. Wykonywanie asynchronicznych (cid:285)(cid:200)da(cid:241) HTTP ..................................................555 Utworzenie przykładowego projektu ........................................................................................556 Konfigurowanie procedury wczytywania modułu JavaScript ........................................557 Konfigurowanie modułu funkcjonalności modelu ..........................................................558 Uaktualnienie komponentu formularza ............................................................................558 Uruchomienie przykładowego projektu ............................................................................559 Poznajemy usługę sieciową typu RESTful ................................................................................560 Zastąpienie statycznego źródła danych .....................................................................................561 Utworzenie usługi nowego źródła danych .........................................................................561 Konfigurowanie źródła danych ...........................................................................................564 Używanie źródła danych typu REST ..................................................................................564 Zapisywanie i usuwanie danych ..........................................................................................566 Konsolidowanie żądań HTTP .....................................................................................................569 Wykonywanie żądań między domenami ..................................................................................570 Używanie żądań JSONP ........................................................................................................571 Konfigurowanie nagłówków żądania ........................................................................................573 Obsługa błędów ............................................................................................................................575 Wygenerowanie komunikatów przeznaczonych dla użytkownika ................................576 Faktyczna obsługa błędu .......................................................................................................578 Podsumowanie ..............................................................................................................................579 Rozdzia(cid:239) 25. Routing i nawigacja — cz(cid:218)(cid:258)(cid:202) 1 .......................................................................581 Utworzenie przykładowego projektu ........................................................................................582 Wyłączenie wyświetlania zdarzenia zmiany stanu ...........................................................584 Rozpoczęcie pracy z routingiem .................................................................................................586 Utworzenie konfiguracji routingu ......................................................................................586 Utworzenie komponentu routingu .....................................................................................588 Uaktualnienie modułu głównego ........................................................................................588 Zakończenie konfiguracji .....................................................................................................589 Dodawanie łączy nawigacyjnych .........................................................................................589 Efekt zastosowania routingu ................................................................................................592 Dokończenie implementacji routingu .......................................................................................594 Obsługa zmiany trasy w komponencie ...............................................................................594 Używanie parametrów trasy ................................................................................................597 Nawigacja w kodzie ...............................................................................................................602 Otrzymywanie zdarzeń nawigacyjnych ..............................................................................604 Usunięcie dołączania zdarzeń i obsługującego je kodu ...................................................606 Podsumowanie ..............................................................................................................................608 Rozdzia(cid:239) 26. Routing i nawigacja — cz(cid:218)(cid:258)(cid:202) 2 .......................................................................609 Utworzenie przykładowego projektu ........................................................................................609 Dodawanie komponentów do projektu .............................................................................612 14 Poleć książkęKup książkę SPIS TRE(cid:165)CI Używanie znaków wieloznacznych i przekierowań ................................................................615 Używanie znaków wieloznacznych w trasie ......................................................................615 Używanie przekierowania w trasie ......................................................................................618 Nawigacja w komponencie ..........................................................................................................618 Reakcja na zmiany w routingu ............................................................................................620 Nadawanie stylu łączu aktywnej trasy ................................................................................622 Poprawienie przycisku Wszystkie .......................................................................................625 Utworzenie trasy potomnej .........................................................................................................626 Utworzenie outletu trasy potomnej ....................................................................................627 Uzyskanie dostępu do parametrów z poziomu tras potomnych ....................................629 Podsumowanie ..............................................................................................................................632 Rozdzia(cid:239) 27. Routing i nawigacja — cz(cid:218)(cid:258)(cid:202) 3 .......................................................................633 Utworzenie przykładowego projektu ........................................................................................633 Zabezpieczanie tras ......................................................................................................................634 Opóźnienie nawigacji za pomocą resolvera .......................................................................635 Uniemożliwienie nawigacji dzięki użyciu strażników .....................................................642 Dynamiczne wczytywanie modułów funkcjonalnych .............................................................654 Utworzenie prostego modułu funkcjonalnego .................................................................655 Dynamiczne wczytywanie modułu .....................................................................................656 Zabezpieczanie dynamicznie wczytywanego modułu ......................................................659 Odwołania do nazwanych outletów ...........................................................................................661 Utworzenie dodatkowych elementów router-outlet ...................................................662 Nawigacja podczas użycia wielu outletów .........................................................................664 Podsumowanie ..............................................................................................................................666 Rozdzia(cid:239) 28. Animacje .........................................................................................................667 Utworzenie przykładowego projektu ........................................................................................668 Dodanie skryptu typu polyfill zapewniającego obsługę animacji ...................................668 Wyłączenie opóźnienia HTTP .............................................................................................670 Uproszczenie szablonu tabeli i konfiguracji routingu .....................................................671 Rozpoczęcie pracy z animacjami frameworka Angular ............................................................672 Utworzenie animacji .............................................................................................................673 Zastosowanie animacji ..........................................................................................................676 Przetestowanie animacji .......................................................................................................679 Poznajemy wbudowane stany aplikacji .....................................................................................680 Poznajemy transformację elementu ..........................................................................................681 Utworzenie transformacji dla wbudowanych stanów ......................................................681 Kontrolowanie animacji transformacji ..............................................................................684 Poznajemy grupy stylów animacji ..............................................................................................689 Zdefiniowanie najczęściej używanych stylów w grupie przeznaczonej do wielokrotnego użycia ....................................................................................................................................689 Używanie transformacji elementu ......................................................................................691 Zastosowanie stylów frameworka CSS ...............................................................................692 Poznajemy zdarzenia wyzwalacza animacji ..............................................................................694 Podsumowanie ..............................................................................................................................697 15 Poleć książkęKup książkę ANGULAR. PROFESJONALNE TECHNIKI PROGRAMOWANIA Rozdzia(cid:239) 29. Testy jednostkowe w Angular .........................................................................699 Utworzenie przykładowego projektu ........................................................................................701 Dodawanie pakietów przeznaczonych do wykonywania testów ....................................701 Utworzenie prostego testu jednostkowego ........................................................................705 Uruchamianie narzędzi ........................................................................................................705 Praca z frameworkiem Jasmine ..................................................................................................706 Testowanie komponentu Angular .............................................................................................708 Praca z klasą TestBed ............................................................................................................708 Testowanie operacji dołączania danych .............................................................................712 Testowanie komponentu wraz z zewnętrznym szablonem .............................................714 Testowanie zdarzeń komponentu .......................................................................................716 Testowanie właściwości danych wyjściowych ...................................................................718 Testowanie właściwości danych wejściowych ...................................................................719 Testowanie operacji asynchronicznej .................................................................................721 Testowanie dyrektywy Angular ..................................................................................................723 Podsumowanie ..............................................................................................................................725 Skorowidz .......................................................................................................727 16 Poleć książkęKup książkę R O Z D Z I A (cid:146) 7 . (cid:132) (cid:132) (cid:132) SportsStore — rzeczywista aplikacja W rozdziale 2. utworzyliśmy niewielką i prostą aplikację Angular. Dzięki tego rodzaju przykładom mogliśmy skoncentrować się na konkretnych funkcjach Angular, choć były one pozbawione kontekstu. Teraz zbudujemy prostą, ale realistyczną aplikację typu e-commerce. Budowana tutaj aplikacja o nazwie SportsStore będzie oparta na klasycznym podejściu stosowanym podczas tworzenia sklepów internetowych. Przygotujemy katalog produktów, które klienci będą mogli przeglądać według kategorii. Aplikacja będzie obsługiwała koszyk na zakupy, do którego klienci będą mogli dodawać produkty (lub usuwać je z niego). Oczywiście aplikacja będzie zawierać stronę pozwalającą klientom na finalizację zakupu i podanie danych potrzebnych do realizacji zamówienia. Opracujemy także obszar administracyjny, aby zapewnić sobie możliwość zarządzania katalogiem produktów (przeprowadzanie operacji typu CRUD). Wspomniany obszar będzie chroniony i tylko użytkownicy zalogowani jako administratorzy będą mogli wprowadzać zmiany. Na końcu pokażę, jak przygotować aplikację do wdrożenia, a następnie ją wdrożyć. Celem przyświecającym mi w tym oraz kolejnych rozdziałach jest pokazanie na maksymalnie rzeczywistym przykładzie, jak faktycznie wygląda programowanie z wykorzystaniem Angular. Ponieważ koncentruję się na frameworku Angular, to uproszczona została integracja z zewnętrznymi systemami, takimi jak magazyn danych, a niektóre (na przykład przetwarzanie płatności) wręcz pominąłem. Przykład aplikacji SportsStore wykorzystałem w kilku moich książkach, ponieważ pokazuje on, w jaki sposób można wykorzystać różne frameworki, języki i style programowania do osiągnięcia tego samego efektu. Nie musisz czytać innych moich książek, aby zrozumieć materiał przedstawiony w tym rozdziale. Jednak ich lektura może pokazać interesujące różnice w implementacji budowanej tutaj aplikacji. Funkcje Angular wykorzystane w aplikacji SportsStore będą szczegółowo omówione w późniejszych rozdziałach książki. Zamiast powielać przedstawione treści, podam jedynie obja
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Angular. Profesjonalne techniki programowania. Wydanie II
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: