Angular - Od Zera Do Bohatera

Wprowadzenie do Angular - Szybki start. Rozpoczęcie nowego projektu opartego o Angular wymaga stworzenia odpowiedniej struktury folderów, skonfigurowania środowiska, zainstalowania ... Pokaż więcej
464 Uczniowie Zapisano się
4.8
5 opinii
  • Opis
  • Program
  • Najczęściej zadawane pytania
  • Notice
  • Recenzje
Angular-Od-Zera-Do-Bohatera

Wprowadzenie do Angular – Szybki start.

Czego się nauczysz 
  • Instalacja i konfiguracja środowiska Angular oraz TypeScript
  • Tworzenie komponentów, serwisów i dyrektyw w Angularze
  • Korzystanie z dyrektyw ngFor, ngIf, ngClass oraz innych wbudowanych mechanizmów Angulara
  • Implementacja wiązań danych: Property Binding, Event Binding, Two-Way Binding
  • Zarządzanie stanem aplikacji za pomocą serwisów i Dependency Injection (wstrzykiwanie zależności)
  • Obsługa zdarzeń, w tym emitowanie niestandardowych zdarzeń w komponentach
  • Tworzenie formularzy i ich walidacja
  • Wykorzystanie HTTP do komunikacji z serwerami REST API (GET, POST, DELETE, PATCH)
  • Praca z Promises i Observables w Angularze
  • Tworzenie i zarządzanie własnymi pipes
  • Migracja kodu do ES6 oraz TypeScript
  • Konfiguracja projektu do pracy z narzędziami deweloperskimi, w tym serwerem z automatycznym przeładowywaniem
  • Integracja Firebase z aplikacją Angular
  • Budowanie responsywnych i dobrze wyglądających interfejsów użytkownika

Wymagania

  • Podstawowa znajomość HTML, CSS i JavaScript
  • Chęć nauki Angulara i tworzenia nowoczesnych aplikacji webowych
  • Wstępna znajomość składni ES6 może być pomocna, ale nie jest wymagana
  • Nie musisz znać TypeScript – wszystko będzie wyjaśnione w trakcie kursu

Dla kogo jest ten kurs:

  • Każdy kto ma trochę chęci i trochę czasu
  • Dla początkujących programistów, którzy chcą nauczyć się Angulara od podstaw
  • Dla programistów front-end chcących pracować z frameworkiem Angular w praktycznych projektach
  • Dla każdego, kto chce tworzyć nowoczesne aplikacje webowe z wykorzystaniem Angulara

Opis

Ten kompleksowy kurs Angular przeprowadzi Cię krok po kroku przez proces budowania nowoczesnych aplikacji webowych, zaczynając od podstawowych narzędzi i technik, aż po zaawansowane rozwiązania i integracje. Nauczysz się pracować zarówno z Angular CLI, jak i bez niego, korzystać z ES6, TypeScript, oraz różnych funkcji Angulara takich jak dyrektywy, serwisy, wstrzykiwanie zależności, pipes i obsługa HTTP. Kurs składa się z 41 odcinków, z których każdy wprowadza nowe zagadnienia, rozwija projekt aplikacji i pokazuje praktyczne zastosowanie zdobytej wiedzy.

Odcinki kursu:

  1. Instalacja narzędzi i tworzenie pierwszego projektu w Angular
    Wprowadzenie do Angular CLI, instalacja narzędzi, stworzenie i konfiguracja pierwszego projektu.

  2. Tworzenie pierwszej aplikacji z wykorzystaniem Angular
    Praca z dyrektywami Angulara: ng-model, *ngFor, ng-class.

  3. Tworzenie projektu od podstaw bez Angular CLI i TypeScript
    Budowanie aplikacji Angular wyłącznie w czystym JavaScripcie, bez wsparcia narzędzi Angular CLI.

  4. Dodanie nowego komponentu do aplikacji
    Tworzenie i integracja dodatkowego komponentu w głównym komponencie aplikacji.

  5. Dodanie Service do aplikacji i przeniesienie logiki
    Tworzenie serwisów w Angularze i przenoszenie logiki biznesowej z komponentów do serwisów.

  6. Dependency Injection w Angular
    Wyjaśnienie i zastosowanie wstrzykiwania zależności (Dependency Injection) w aplikacji Angular.

  7. Implementacja wykrywania zmian w Angularze
    Automatyczna aktualizacja wyświetlanych danych w określonych odstępach czasu (np. losowy cytat).

  8. Podział kodu na moduły i ostateczne zmiany w aplikacji
    Refaktoryzacja projektu – rozdzielanie kodu na moduły.

  9. Migracja aplikacji z ES5 do ES6
    Przenoszenie aplikacji do standardu ES6.

  10. Konfiguracja projektu do pracy z ES6
    Kompilacja kodu ES6 do ES5 i konfiguracja serwera deweloperskiego.

  11. Tworzenie klas w ES6
    Definiowanie klas przy użyciu składni ES6 w Angularze.

  12. Moduły w ES6
    Omówienie modułów ES6 i ich znaczenia dla struktury aplikacji.

  13. Migracja aplikacji do ES6
    Przeniesienie pierwszej aplikacji do korzystania z ES6.

  14. Aktualizacja kodu do korzystania z typów w TypeScript
    Wprowadzenie i zastosowanie typów w kodzie aplikacji.

  15. Modyfikatory dostępu w TypeScript: prywatny i publiczny
    Omówienie różnic między prywatnymi a publicznymi modyfikatorami dostępu.

  16. Porównanie wersji aplikacji: ES5, ES6 i TypeScript
    Analiza i omówienie, która wersja aplikacji jest najlepsza.

  17. Budowa aplikacji Konwerter Walutowy
    Tworzenie kolejnej aplikacji, która będzie prostym konwerterem walut.

  18. Property Binding w Angularze
    Omówienie i implementacja wiązania właściwości w komponentach.

  19. Event Binding w Angularze
    Implementacja i omówienie wiązania zdarzeń.

  20. Two-Way Binding w Angularze
    Zastosowanie dwukierunkowego wiązania danych w aplikacji Angular.

  21. Praca z klasami CSS w Angularze
    Zastosowanie klas CSS w Angularze i nowe opcje ich użycia.

  22. Tworzenie serwisu przeliczającego waluty
    Implementacja serwisu obsługującego przeliczanie różnych walut.

  23. Aktualizacja interfejsu użytkownika
    Umożliwienie użytkownikowi wyboru waluty z listy rozwijanej.

  24. Tworzenie komponentu “CurrencySelectComponent”
    Tworzenie komponentu listy rozwijanej do wyboru walut.

  25. Emitowanie niestandardowych zdarzeń w komponentach
    Obsługa i emitowanie niestandardowych zdarzeń w Angularze.

  26. Dodanie dyrektywy strukturalnej ngIf
    Zastosowanie dyrektywy ngIf w aplikacji Angular.

  27. Praca z pipes w Angularze
    Wprowadzenie i użycie wbudowanych pipes w Angularze.

  28. Tworzenie własnych pipes w Angularze
    Definiowanie i tworzenie własnych pipes.

  29. Klient HTTP i wykonywanie pierwszego żądania GET
    Wykorzystanie klienta HTTP do wysyłania żądań GET do serwera.

  30. Obsługa Promises w Angularze
    Omówienie i implementacja Promises w operacjach asynchronicznych.

  31. Praca z Observables w Angularze
    Zastosowanie Observables do obsługi żądań HTTP i operacji asynchronicznych.

  32. Tworzenie bazy danych Firebase
    Konfiguracja darmowej bazy danych Firebase i jej integracja z aplikacją.

  33. Wykorzystanie Http.Get do pobierania danych z REST API
    Pobieranie danych z Firebase za pomocą żądania HTTP GET.

  34. Wykorzystanie Http.Post do dodawania danych
    Tworzenie nowych wpisów w Firebase za pomocą żądania HTTP POST.

  35. Wykorzystanie Http.Delete do usuwania danych
    Usuwanie danych z Firebase za pomocą żądania HTTP DELETE.

  36. Wykorzystanie Http.Patch do aktualizacji danych
    Edytowanie danych w Firebase za pomocą żądania HTTP PATCH.

  37. Optymalizacja aplikacji i poprawa wyglądu
    Poprawa wyglądu, obsługa błędów i optymalizacja działania aplikacji.

  38. Walidacja formularza rejestracyjnego
    Tworzenie formularza rejestracyjnego i jego walidacja.

  39. Zaawansowana walidacja formularza rejestracyjnego
    Rozbudowa walidacji i dostosowanie formularza do różnych przypadków.

  40. Wyświetlanie komunikatów walidacyjnych
    Implementacja komunikatów walidacyjnych w formularzu.

  41. Zakończenie pracy z formularzem rejestracyjnym
    Finalizacja formularza i podsumowanie nauki pracy z formularzami w Angularze.

Jak tworzyć komponenty w Angularze i jakie są ich główne funkcje?
Tworzenie komponentów w Angularze jest jednym z podstawowych aspektów pracy z tym frameworkiem. Komponenty są kluczowymi budulcami aplikacji Angular, umożliwiając tworzenie interaktywnych interfejsów użytkownika. Oto podstawowe kroki i funkcje komponentów w Angularze:

Tworzenie Komponentu:
Utworzenie Klasy Komponentu:

Użyj Angular CLI (Command Line Interface) do wygenerowania nowego komponentu. Można to zrobić za pomocą polecenia ng generate component nazwa-komponentu lub skrótu ng g c nazwa-komponentu.

To polecenie utworzy folder z nazwą komponentu zawierającym cztery pliki: plik klasy komponentu (.ts), plik HTML (szablon), plik CSS (style) oraz plik specyfikacji testowej.
Klasa Komponentu (.ts):

Klasa komponentu zdefiniowana jest z dekoratorem @Component, który zawiera metadane, takie jak selektor, szablon, style i inne.
W klasie tej definiuje się logikę komponentu, taką jak zmienne, funkcje i metody cyklu życia komponentu.
Szablon (.html):

Szablon komponentu definiuje strukturę HTML i sposób prezentacji danych.
Można używać interpolacji danych (np. {{ dane }}) i dyrektyw (np. *ngIf, *ngFor) do dynamicznego renderowania zawartości.
Style (.css/.scss):

Style dotyczące danego komponentu mogą być definiowane w oddzielnym pliku CSS/SCSS.

Główne Funkcje Komponentów:

Encapsulacja Danych i Logiki:
Komponenty zawierają logikę i dane dotyczące określonej części interfejsu użytkownika.
Reużywalność:

Komponenty mogą być projektowane w taki sposób, aby można je było używać w różnych częściach aplikacji.
Oddzielenie Obowiązków:

Oddzielają logikę aplikacji od logiki prezentacji, co ułatwia zarządzanie kodem i testowanie.
Interakcja z Inne Komponentami:

Komponenty mogą komunikować się ze sobą za pomocą wejść (@Input) i wyjść (@Output), co pozwala na tworzenie złożonych struktur danych i zachowań.
Integracja z Cyklem Życia Angulara:

Angular oferuje hooki cyklu życia komponentów (np. ngOnInit, ngOnDestroy), które można wykorzystać do zarządzania zachowaniem komponentu w różnych fazach jego życia.
Komponenty są zatem nie tylko sposobem na strukturalne i wizualne przedstawienie aplikacji, ale także na zarządzanie jej logiką i danymi. Dobrze zaprojektowane komponenty są kluczem do tworzenia skalowalnych i łatwych w utrzymaniu aplikacji Angular.
W jaki sposób można zarządzać stanem aplikacji w Angularze?
Zarządzanie stanem w aplikacjach Angular jest kluczowym aspektem w tworzeniu responsywnych i dobrze zorganizowanych interfejsów użytkownika. Istnieje kilka metod i wzorców, które można wykorzystać w Angularze do efektywnego zarządzania stanem:

1. Serwisy i Wstrzykiwanie Zależności:
Serwisy Angularowe: To singletony, które mogą być używane do przechowywania i zarządzania danymi aplikacji. Dzięki wstrzykiwaniu zależności, serwisy mogą być dostępne w różnych komponentach aplikacji.
Wzorzec Observable z RxJS: Angular integruje się z biblioteką RxJS, która umożliwia zarządzanie asynchronicznymi operacjami i strumieniami danych za pomocą Observables. To podejście jest szczególnie użyteczne w aplikacjach z dynamicznie zmieniającymi się danymi.

2. Zarządzanie Stanem w Komponencie:
Lokalny Stan Komponentu: Komponenty mogą zarządzać własnym stanem za pomocą lokalnych zmiennych i logiki. Jest to odpowiednie dla prostych scenariuszy, gdzie dane nie muszą być udostępniane innym komponentom.

3. Centralny Magazyn Stanu:
NgRx: Biblioteka oparta na wzorcu Redux, która pozwala na zarządzanie globalnym stanem aplikacji. W NgRx stan jest przechowywany w centralnym magazynie, z którego komponenty mogą pobierać dane oraz do którego mogą wysyłać akcje w celu zmiany stanu.
Akita: Inna biblioteka do zarządzania stanem, która oferuje nieco bardziej uproszczony i deklaratywny sposób zarządzania stanem niż NgRx.

4. Wykorzystanie BehaviorSubject:
BehaviorSubject z RxJS: Jest to specjalny rodzaj Observable, który przechowuje „aktualną wartość”. Może być używany do tworzenia usług, które udostępniają dane i informują subskrybentów o ich zmianach.

5. Zarządzanie Stanem w Routingu:
Router State: Angular pozwala na przechowywanie stanu w kontekście routingu, co jest przydatne w scenariuszach, gdzie stan aplikacji jest powiązany z bieżącym adresem URL.

6. Persystencja Danych:
LocalStorage/SessionStorage: Do przechowywania danych między sesjami lub podczas nawigacji, można używać mechanizmów przechowywania wbudowanych w przeglądarki, takich jak LocalStorage lub SessionStorage.

Najlepsze Praktyki:
Encapsulacja: Trzymaj stan tam, gdzie jest on potrzebny; unikaj nadmiernego globalnego stanu, jeśli nie jest to konieczne.
Niezmienność: Traktuj stan jako niemutowalny, aby uniknąć nieprzewidzianych skutków ubocznych.

Selektory: W przypadku użycia NgRx, używaj selektorów do efektywnego pobierania i reagowania na zmiany w stanie.

Wybór odpowiedniej metody zarządzania stanem zależy od złożoności aplikacji, wymagań dotyczących wydajności i preferencji zespołu programistów. W prostych aplikacjach często wystarczają serwisy i lokalny stan komponentu, podczas gdy w bardziej złożonych projektach zaleca się użycie dedykowanych rozwiązań takich jak NgRx czy Akita.
4.8
5 opinii
5 ⭐️
4
4 ⭐️
1
3 ⭐️
0
2 ⭐️
0
1 ⭐️
0