od Podstaw
6 godz. 45 min · Angular · Full-stack i Programowanie
Mateusz KuleszaSenior Software Developer, Konsultant, TrenerPierwsze dwa działy kursu są idealne dla osób które rozpoczynają swoją przygodę z Angularem i stanowią wprowadzenie do frameworka. Zaczynamy od prostych przykładów, gdzie budujemy formularz zapisu na newsletter. Jest to przykład pozornie prosty, ale dzięki łatwości z jaką Angular wprowadza dynamizm, manipulacje wyglądem a nawet animacje wcale taki nie będzie. Zobaczysz, że nawet prosty przykład możemy zamienić w interaktywny, dynamiczny interfejs, który wciągnie użytkownika!
W kolejnych sekcjach kursu nie robimy prostych ćwiczeń, ale krok po kroku budujemy prawdziwy projekt. Jeśli marzyło Ci się stworzenie i opubliklowanie eleganckiej strony WWW lub aplikacji z Twoim CV oraz listą projektów, to nie musisz marzyć dalej. Możesz podążać krok po kroku i z każdą lekcją budować własną stronę portfolio. Będziesz zaskoczony, że z podstawową znajomością JavaScript, HTML i CSS zaczniesz błyskawicznie tworzyć złożone eleganckie i interaktywne interfejsy użytkownika.
W kursie stawiam na produktywność. Koniec że żmudnym klepaniem setek lini HTML i CSS, koniec z zawiłym kodem jQuery. Wykorzystując bibliotekę Bootstrap i modyfikując gotowe elementy HTML możemy skupić się na tym co najważniejsze. Zobaczysz jak wykorzystać interpolacje i wiązania by struktura HTML i CSS zmieniała się sama po każdej akcji użytkownika. Dzięki poprawnemu użyciu mechanizmów Angulara, mozolna praca z DOM, którą znasz np. z jQuery staje się zbędna. Angular renderuje interfejs za Ciebie - prosto z danych które umieścisz w komponentach.
Już w pierwszych sekcjach kursu dowiesz się jak wykorzystać moduł formularzy w praktyce, by tworzyć automatyczne dynamicznie generowany formularze i pobierać z nich dane. Dowiesz się także jak znając wyłącznie podstawy JavaScript połączyć naszą stronę portfolio z serwerem i pobrać pliki JSON, w tym nasze projekty, opisy i zdjęcia ze zdalnego serwera!
Podczas pracy nad Twoim portfolio nie tylko poznasz podstawy pracy z angularem, ale w kilku lekcjach zagłębimy się na chwilę w samo działanie Angulara. O ile jest to wiedza zaawansowana, tak znajomość mechanizmów wykrywania zmian już na samym początku pracy z Angularem da Ci lepsze zrozumienie tego narzędzia i pozwoli pisać kod który będzie nie tylko prosty i czytelny ale też będzie działał błyskawicznie. W tym kursie nie tylko pokazuje jak czegoś użyć, ale kiedy, dlaczego oraz jak to działa od środka. Nawet jeśli Angular nie jest dla Ciebie nowością - ten kurs da Ci głębsze zrozumienie jego koncepcji.
Ten kurs przygotowałem dla osób początkujących w Angularze, ale w taki sposób by mógł on służyć także do powtórzenia, uporządkowania wiedzy czy uzupełnieniu braków dla osób które pracowały już z Angularem. Jeśli jesteś front-end developerem, ale jeszcze nie miałeś okazji zapoznać się z Angular, lub chcesz uzupełnić szczątkową wiedzę o fundamenty - to jest kurs dla Ciebie! Dodatkowo, jeśli zaczynasz przygodę z front-end ale masz już podstawy HTML i JavaScript, to kolejny ważny krok na Twojej drodze do kariery!
Angular 10+
Wiemy już jak rozwiać tekst wiemy jak
modyfikować własności atrybuty elementów HTML oraz wiemy jak obsługiwać różne
zdarzenia użytkownika które pojawiają się u nas w tym drzewie.
Dom to jest nim pójdziemy dalej chciałem
pokazać Tobie jeszcze jedną bardzo ciekawą przydatną funkcjonalnością Guerra.
Są to tzw.
Pipes czyli po polsku Rury te rury są przydatne Pipes są przydatne
kiedy mamy jakiś transformację czy operację wykonujemy w kółko na okrągło
zmieniamy jakoś ten tekst wyświetlany pod jakąś wartość za każdym modyfikuje my co
zamiast wykonywać funkcje tutaj zamiast pisać dodatkowe funkcje gdzieś tam
niepotrzebnie tutaj to możemy użyć tak zwanej rury ta rura.
Jeśli chcemy zrobić tutaj do dużej litery
to możemy oczywiście funkcje wykonać tylko przy każdym generowanie.
Ta funkcja gdzie już czas się wykonywała
zamiast tego mógł użyć tej pionowej takiej kreski rury.
I tutaj podpowiada mi widzisz różne możliwości transformacji transformację
właśnie tych Pipes i powiedzmy chciałbym prace
to mogę po prostu zastosować tutaj upper class i efekt będzie taki sam jak gdybym
użył tutaj funkcji naszej pracy z tym że tutaj nie będzie on za każdym
razem tylko powiększał tylko powiększy to raz.
I dopóki się nie zmieni nie będzie
powiększał on sobie zapamięta ostatnią powiększoną wartość i dopóki dopiero
zmieni coś innego to on każdą nową wartość też będzie odpowiednio sformował.
Co to jest w tych rurach.
Mamy apel pracy powinno być tylko
KS czyli naprzód chcemy tylko pierwszą literę s dłużej.
Czy to jest małe litery są jak
to tutaj znajduje się to z małej litery tu jest powiększone z dużej mogą wszędzie
aplikować takie transformację gdzie wyświetlane tutaj to ciekawe widzisz mogą
już nie tylko w HTML u mnie czy już nie mogę tego użyć w tym miejscu.
Musiałbym cały ten kod przenieść do HTML tutaj
w ten sposób nie użyję więc to działa jakby tylko w HTML u coś ciekawego.
Możemy też takie rury łączyć czyli mogę np.
po róży jest kolejną.
I teraz zmienna którą tu ustawiamy
będzie powiększona do kasę i wynik tego czy powiększony tekst duże
litery możemy przekazać dalej do kolejnego elementu np.
mogę przyjąć tego ten tekst i dać mu długość gdyż parametry
podać czy podług roku podaje długość od powiedzmy 5 do 10 od 5 do 10 znaków.
Czy On doda tutaj dużą liter z przodu.
Obecnie mamy tylko kod piątej czyli do dziesiątej.
Tak odtąd dotąd jedni żebyś mógł już
fragment tekstu przeciąć i wyświetlać tylko fragment tekstu.
Możemy te rury łączyć ze sobą te parametry to tu jeszcze mamy ciekawego.
Powiedzmy że nasz Pan miałby urodziny i urodziny to będzie data.
I tutaj mogę podać datę np.
w ten sposób abym mógł wpisać całkowicie ręcznie.
Powiedzmy że jak jest dość.
Już wiekowy to jest data powiedzmy systemu.
W ten sposób Zobaczymy jeśli te daty się tu po prostu w ten
sposób to ona nie będzie zbyt ciekawie wyglądała.
Czyli powiedzmy gdzieś tutaj siedzę akapit Luthera data.
Jeśli w ten sposób spróbuję to zrobić to
data się wyświetli po prostu jako zwykły tekst zobaczymy zapisze te
zapisze to i jak widzisz nie jest to zbyt fajny format.
Jeśli zapisujemy na tym transformację datę.
Zobaczmy jak to wygląda dużo lepiej.
Możemy też różne opcje podać przy czym dacie.
Tu mamy wartość format strefę czasową i
jeszcze w jaki język chcemy ułożyć w jakim języku chcemy te dane powiedzmy
dni tygodnia ustawić i teraz ja nie będę wchodził w szczegóły tego gdybyś
interesowały wszystkie papiery to formularz dokumentacji API.
Tu mamy listę wszystkich plików jeśli będziemy któreś PP np.
datę płytę możemy zobaczyć jak są dostępne
opcje czyli wartość jest zawsze tym co to jest przed pionową kreską.
Format jest to pierwszy parametr i po
dwóch grupach możemy podawać dodatkowe parametry.
Tutaj funkcja format daty formatu date i mogę np.
wybrać sobie któryś z formatów gotowych
albo całkowicie użyć tutaj symboli żeby stworzyć własny format daty.
W ten sposób czy możemy w ten sposób datę po prostu możemy podać dane medium.
Możemy podać też tylko w ten sposób
konkretne symbole które pokażą nam tylko konkrety np.
dzień godzinę rok itd.
Czyli mogę np.
zrobić tutaj short time medium chcielibyśmy powiedzmy samą datę.
Short date.
Milion lat mi zrobić jeśli podam to jako parametr Short date możemy tak to zrobić.
To też może być zmienna czyli np.
mogę powiedzieć to jest data format i teraz jeśli zmienię wartość tego
parametru teraz krypcie to on też zmieni format daty czy może np.
zmienić sobie format daty.
W ten sposób mamy krótką datę. OK.
Co też ciekawego bardzo przydatną rzeczą.
Tu najpierw troszkę tam jest tak bardzo przydatną jest jeszcze Jackson
powiedzmy chciał zobaczyć co się kryje w tym użytkowniku.
Mógł tutaj gdzieś dodać konsolę.
Jasne ale budowanie tego jest dość niewygodne.
Chciałem to podejrzeć działa skrycie.
No to mogłem zrobić coś takiego po prostu pokaż mi co się kryje w obiekcie juz.
Jeśli tak to zrobię w ten sposób to
spróbuję koncertować ten obiekt nam do string.
I mamy taki brzydki obiekt obiekt.
Co może z tym zrobić.
Mógłbym tutaj robić jakiś Jackson stringi fajne jak pamiętasz.
Nie mogę już być globalnych obiektów nie mam tutaj obiektu Window mamy tylko to co
tu już jest w specjalnej funkcji która zamienić na Jackson.
Mam tutaj specjalny pipe.
Czasem tak tymczasem możemy zobaczyć nie ma żadnych parametrów ma tylko wartość.
Kim mamy lepiej jest Jackson.
Jeśli go zobaczę w środku to im że jest ładnie sformowany.
Jak wiesz HTML usuwa jakby ignoruje Space
i wszystkie białe znaki więc tego formatu nie widzimy.
Chyba że jeszcze jeszcze w takim elemencie jak element reformator.
Jeśli to będzie w parlamencie reformator i przepuszcza to przed sąd mamy bardzo
fajny mechanizm który może używać sobie za każdym razem gdy chcesz podejrzeć co
się kryje tutaj w takim obiekcie tak uwaga tylko żeby do tego obiektu nie
zamontować czegoś co jest zbyt skomplikowane np.
ekstra dokument.
Całe to to nie zadziała za dobrze.
Aczkolwiek jest to bardzo fajny mechanizm
że mógł sobie tutaj bezpiecznie w HTML u wyświetlić obiekt zobaczyć go.
No i co najważniejsze on jest na bieżąco odświeżony czyli skażony.
Mogę zobaczyć jak się ten obiekt zmienia w środku mamy pełną datę
tu mamy datę sformowano tu mamy tekst z dużej litery itd.
Czyli przepisy pozwalają w prosty sposób
sobie przybrać transformację którą możesz w każdej chwili użyć w HTML u i nie śmieci
my nie musimy tworzyć dodatkowych jakichś pomocniczych funkcji w JavaScript czy.