od Podstaw
7 godz. 6 min · Vue.js · Full-stack i Programowanie
Piotr PalarzWeb DeveloperAby zacząć korzystać z Vue, wystarczy dodać do strony jeden element <script> i zacząć rozszerzać HTML o nowe możliwości prezentacji danych, które w całości kontrolujemy z poziomu kodu JavaScript. Najlepsze jest jednak to, że gdy dane się zmienią, Vue odzwierciedli wszystkie zmiany na stronie. Koniec zatem z odwoływaniem się z poziomu kodu JavaScript do elementów z drzewa DOM i "ręczną" ich manipulacją!Czy łatwość użycia Vue oznacza, że jest to framework prosty i nienadający się do budowania ambitnych aplikacji internetowych? Absolutnie nie! Jeżeli potrafisz korzystać z workflow opartego na webpacku, znasz nową składnię ES6 i chcesz swoje projekty dzielić na wiele uporządkowanych plików - możesz w ten sposób pracować. Jeśli jednak przy innych frameworkach przytłoczyły Cię wszystkie dodatkowe narzędzia i nie potrafiłeś się skupić na najważniejszym, czyli poznawaniu frameworka, to tutaj tego problemu nie doświadczysz.
W kursie tym krok po kroku poznasz ten lekki, acz potężny framework. Zaczniemy od instalcji i obowiązkowego projektu "Hello World!". Dowiesz się czym jest "Virtual DOM" i dlaczego Vue z niego korzysta. Następnie zobaczysz jak kontrolować wybraną część strony internetowej za pomocą metod, właściwości i dynamicznych atrybutów. Aby zrozumieć reaktywność Vue, przyjrzymy się konstrukcjom języka JavaScript, które ją umożliwiają.
Aby aplikacja mogła być interaktywna, nie może być obojętna na działania użytkownika. Z tego powodu zobaczysz, jak przypisywać obsługę zdarzeń, takich jak np. kliknięcie, jak do funkcji przekazywać parametry oraz jak korzystać z natywnego obiektu Event. Nie zabraknie również informacji o tym, jak modyfikować obsługę zdarzeń tak, by np. przechwycić jednoczesne wciśnięcie wybranej kombinacji klawiszy.Jak się przekonasz, dyrektywy Vue pozwolą Ci na manipulację nie tylko zachowaniem, ale i wyglądem elementów HTML. Omówimy dokładnie jak kontrolować przypisywane klasy CSS, a także liniowe style. Wszystko to oczywiście na praktycznych przykładach! Poznasz również sposoby warunkowego wyświetlania elementów, a także iteracji. Już na tym etapie będziesz gotowy do stworzenia swojego pierwszego, praktycznego projektu. Będzie do Counter, a zatem licznik odliczający od 10 do 0. Jeśli kiedykolwiek korzystałeś z biblioteki jQuery, zobaczysz totalnie inne podejście - proste i czytelne.
W jednym z rozdziałów kursu omówimy dokładnie techniki pracy z formularzami. Zobaczysz jak przechwytywać wpisywane przez użytkownika dane, na wszystkich rodzajach pól, jakie oferuje język HTML. Abyś wszystko jak najlepiej zrozumiał, spróbujemy wspólnie zaimplementować tzw. dwukierunkowe wiązanie danych, które Vue oferuje za pomocą jednej dyrektywy.Z kursu dowiesz się także czym są oraz jak tworzyć własne filtry, jak odwoływać się do elementów z drzewa DOM, gdy jest to konieczne, a także co oferują nam własne dyrektywy.
Jedną z największych zalet frameworka Vue.js jest możliwość tworzenia komponentów. Są to własne elementy HTML, które możemy umieszczać w wybranych miejscach naszej aplikacji. Element taki to jednak nie tylko wygląd, który definiujemy za pomocą szablonu, ale także (a może i przede wszystkim) logika, kontrolowana z poziomu kodu JavaScript.Zobaczysz jak zarejestrować własny komponent lokalnie oraz globalnie, jak sprawić, aby był reużywalny, przyjmując różne dane oraz jak komunikować się pomiędzy komponentami, by aplikacja pozostawała w synchronizacji. W tym celu omówimy dwa kierunki komunikacji, najpierw rodzic-dziecko, a później dziecko-rodzic. Na tym etapie wykonamy bardzo ciekawy, praktyczny projekt. Będzie to tabela napędzana danymi. Każdy wiesz tabeli prezentował będzie dane jednej osoby, a kliknięcie ikony kosza pozwoli na jej usunięcie. Ikona edycji zaś, zamieni wiesz w pola input, za pomocą których zaktualizujemy dane. W projekcie tym wykorzystamy niemal całą wcześniej zdobytą wiedzę!
Vue.js oferuje możliwość animowania elementów, kiedy są one pokazywane lub ukrywane. I omówienia tego tematu nie mogło również zabraknąć w tym kursie. Poznasz sposoby na animowanie elementów w użyciem CSS, zobaczysz jak animować podmianę jednego komponentu na drugi, a także jak uzyskać taki efekt dla listy elementów. Mając już wiedzę z zakresu tworzenia własnych komponentów, stworzymy wspólnie element, który pozwoli na animację innych, zawartych w nim elementów. W tym celu zintegrujemy nasz komponent z biblioteką animate.css.
Przez większą część kursu pracować będziemy pisząc kod JavaScript w standardzie ES5, a więc tym najpopularniejszym. Nie będziemy również korzystać z żadnych skomplikowanych narzędzi. Wszystko to po to, abyś mógł jak najlepiej zrozumieć sedno Vue.js, a nie zastanawiać się, który zapis jest specyficzny dla tego frameworka, a który to część nowego standardu JavaScript lub syntactic sugar dodany przez narzędzie uruchamiane z poziomu terminala.Nie oznacza to jednak, że z Vue nie da się pracować w sposób nowoczesny! Oczywiście jest taka możliwość i doskonale się o tym przekonasz. W jednym z rozdziałów kursu omówimy narzędzie vue-cli, które pozwoli nam przygotować startowy projekt nowej aplikacji, a także środowisko skonfigurowane z użyciem webpack'a, które umożliwi nam wydajną pracę. Na tym etapie zobaczysz, że komponentu Vue można tworzyć w zupełnie oddzielnych plikach z rozszerzeniem .vue, gdzie umieścimy zarówno szablon jak i logikę komponentu, a także (opcjonalnie) jego style CSS.Kurs ten zwieńczymy stworzeniem nowoczesnej aplikacji, wykorzystując najnowszy zapis ES6 i workflow stworzony z użyciem vue-cli. Projektem tym będzie Slideshow, a więc galeria zdjęć. Stworzymy od podstaw kilka komponentów, dodamy własny preloader obrazów, a także możliwość pobierania listy obrazów z serwera. Do tego celu wykorzystamy popularną bibliotekę axios, która umożliwia łatwe wykonywanie zapytań HTTP. Pod koniec dodamy do naszej aplikacji również routing, aby na pasku adresu odzwierciedlać aktualnie wyświetlany obraz, a także umożliwić nawigację za pomocą przycisków "Wstecz" i "Do przodu" dostępnych w przeglądarce internetowej. To zadanie ułatwi nam bardzo popularny plugin dla Vue, który nazywa się vue-router. Zobaczysz jak go zainstalować, a także skonfigurować. Następnie omówimy dynamiczne parametry, które odczytamy w komponencie. Finalnie zaktualizujemy adres URL z poziomu kodu JavaScript.Ostatnim krokiem jaki wykonamy, będzie stworzenie builda produkcyjnego naszej aplikacji, który gotowy będzie do na stronę internetową.
Kurs ten jest dla wszystkich osób, które znają już język JavaScript i sposoby na pracę z Obiektowym Modelem Dokumentu. Aby go rozpocząć, nie jest wymagana znajomość innych frameworków, ale taka wiedza na pewno nie zaszkodzi, a pomoże lepiej zrozumieć te zagadnienia, które są dla nich wspólne. Nie jest również wymagana wiedza z zakresu EcmaScript 6 czy webpack'a, lecz na pewno będzie pomocna w ostatim rozdziale tego kursu. Nieważne zatem czy Vue.js będzie pierwszym frameworkiem, który poznasz, czy będzie to odskocznia od React'a czy Angulara - na pewno to narzędzie Cię zaskoczy!
Vue.js 2.5.x
Witaj z tej strony Piotr Palarz z serwisu eduweb.pl. Mam dla
ciebie kolejny kurs ze ścieżki Web Development, a tym razem jest to kurs framework'a
vue.js. Jeżeli tą tematyką się interesujesz, to myślę,
że jest nieprawdopodobne żebyś o tym narzędzi nie usłyszał w przeciągu kilku
ostatnich miesięcy. Jest to framework, który konkuruje dzisiaj z Angularem
czy React'em. Oczywiście jest w pewnym sensie i pewnych kwestiach
podobny do tamtych rozwiązań, ale także w wielu kwestiach jest inny
i wielu kwestiach może być lepszy. Chciałbym ci w tym kursie przedstawić ten framework
absolutnie od podstaw i będzie to kurs, w którym zakładam,
że wcale nie musisz już znać innych framework'ów. Nie będziemy porównywać Vue do
innych tego typu rozwiązań. Tak więc jest to kurs absolutnie
od podstaw dla osób które znają język JavaScript, więc jeżeli pracowałeś
z tym językiem, znasz też jego pewne ograniczenia, w zasadzie ograniczenia,
które wynikają z tego w jaki sposób pracuje się ze stronami internetowymi, czyli
z obiektowym modelem dokumentu, z użyciem tego języka. Jeżeli na przykład pracowałeś
z biblioteką jQuery, wiesz jak wiele ona dla nas problemów rozwiązywała,
ale jak wiele nowych problemów pojawia się kiedy chcemy stworzyć chociaż troszkę
bardziej zaawansowaną aplikacja. Do tego celu właśnie w ostatnich latach powstało
mnóstwo framework'ów i jednym z nich jest Vue. Natomiast to,
co mnie osobiście urzekło w tym frameworku to fakt, że jest on naprawdę prosty
w użyciu. Łatwo jest zacząć pracować z Vue i nie potrzebujesz do tego
celu znajomości całej otoczki, jak w przypadku innych frameworków, a więc
jeżeli nie chcesz albo nie potrafisz jeszcze pracować z takimi narzędziami jak webpack.
Jeżeli jeszcze nie poznałeś nowej składni EcmaScript6, ale chciałbyś tworzyć
nowoczesne aplikacje internetowe to możesz korzystać z Vue. Możesz
zacząć tworzyć z nim aplikację. Natomiast nie zrozum mnie proszę źle. To
nie jest tak, że Vue nie oferuje nam dodatkowych narzędzi czy że z Vue
nie wykorzystujemy nowego standardu EcmaScript6. Jak najbardziej
możemy to robić i o tym też przekonasz się w tym kursie. Natomiast ja przygotowałem
ten materiał od podstaw w ten sposób, aby na początku nie bombardować cię
całym natłokiem dodatkowych narzędzi strój musiałbyś korzystać, tylko będziemy
pisać prosty kod JavaScript wykorzystując właśnie ten framework. No
zatem mógłbyś mnie teraz zapytać co ten framework może ci zaoferować albo
w zasadzie co w tym kursie zostało przedstawione na temat tego narzędzia, a
więc na samym początku oczywiście omówimy sobie jakie są różne wersje Vue
i którą z nich wybrać żeby rozpocząć swoją przygodę z tym framework'iem. Następnie przejdziemy
przez wszystkie rzeczy które moglibyśmy określić abecadłem Vue,
czyli pokażę ci w jaki sposób możemy kontrolować wybraną
część strony internetowej i ta część będzie kontrolowana
przez Vue i przez naszą aplikacje, którą z użyciem tego framework'a stworzymy. Zobaczysz
jak można manipulować szablonem html i w jaki sposób zmieniać
dane i że te dane będą odzwierciedlone właśnie w wcześniej przygotowanym szablonie. W
trakcie tego kursu poznasz oczywiście wszystkie najważniejsze koncepcje. Zobaczysz
w jaki sposób warunkowo wyświetlać różne elementy. Jak pracować z eventami,
takimi jak na przykład kliknięcie czy dowolny inny event,
zdarzenie wewnątrz przeglądarki internetowej. Natomiast pokażę ci
również bardziej zaawansowane koncepcje, takie jak komponenty z użyciem Vue
i jak możemy się pomiędzy tymi komponentami komunikować. Powiemy
sobie również o animacjach. Jest to świetna rzecz dostępna w tym framework'u. Zobaczysz
jak łatwo można tworzyć płynne wydajne animacje CSS. Oczywiście
w tym kursie nie zabraknie praktycznych przykładów. Na początek kiedy
będziesz miał już wiedzą jaką podstawową z zakresu Vue, to stworzymy sobie counter,
czyli będzie to taki moduł odliczenia od 10 do zera. Wydawałoby
się, że proste rozwiązanie i rzeczywiście takie będzie, ale ono pokażę ci
jak Vue zupełnie inaczej podchodzi do tematu aktualizowania danych na
stronie niż robiliśmy to do tej pory w klasycznym podejściu. W jednym
z projektów stworzymy sobie tabelę użytkowników, z której będzie można takiego użytkownika
usunąć lub na przykład klikając na przycisk włączyć jego edycję
wtedy cały wiersz zamieni się takie pole edycyjne będzie można dane
z aktualizować i zapisać. To wszystko oczywiście będzie odzwierciedlone
w jednym miejscu gdzie trzymane są dane i dzięki temu propagowane również
później do naszego szablonu. Po kilku godzinach tego kursu, kiedy będziesz
miał już solidną wiedzę z zakresu Vue będziesz wiedział jak ten framework działa
będziemy mogli przejść do trochę bardziej zaawansowanych tematów gdzie włączymy
już te wszystkie narzędzia, które na początku mogą odstraszać. Pokażę
ci jak korzystać z Vue CLI i za pomocą tego narzędzia oficjalnego od Vue
będziemy mogli utworzyć sobie taki projekt startowy i od razu skonfigurować webpack'a
żeby mieć serwer taki deweloperski hot reloading, czyli
przeładowywanie modułów danych w przeglądarce automatycznie i wiele
innych ciekawych rzeczy i na tej podstawie pokażę ci jak można komponenty,
które stworzyliśmy w kursie do tej pory przełożyć na taki nowy
zapis gdzie każdy komponent będzie w osobnym pliku z rozszerzeniem vue. Później
wykonamy sobie finalny, moim zdaniem bardzo ciekawy projekt aplikacji
z użyciem Vue i właśnie tego nowoczesnego podejścia z webpack'iem
i z EcmaScript6, a będzie to projekt slideshow gdzie będzie
mogli załadować obrazy. No i oczywiście przewijać w prawo czy w
lewo wczytując kolejne obrazki. Dodamy sobie takie rozwiązanie jak na przykład preloader
obrazów, aby obrazek pokazywał się na stronie dopiero wtedy, kiedy w całości
został załadowany. Oczywiście do momentu aż się nie załaduje będziemy wyświetli
spinner, aby użytkownikowi o tym dać znać. Na
tym etapie wykorzystamy również popularną bibliotekę axios, która służy
do wysyłania zapytań AJAX. Pobierzemy sobie listę zdjęć
dla naszego slideshow właśnie z serwera. Później
do tej aplikacji dodamy jeszcze z użyciem Vue Router możliwość wyświetlania
aktualnego slajdu jako parametru w adresie URL dzięki
czemu będziemy mogli również korzystać z przycisku wstecz i do przodu w przeglądarce
i to będzie nam aktualizowało zdjęcia wyświetlane na stronie. Ten
projekt naprawdę zbierze całą wiedzę zdobytą do tej pory w kursie i dzięki
temu będziesz mógł zobaczyć jak wszystkie te kawałki połączyć w jedną całość, a
na koniec tego projektu wykonamy jeszcze produkcyjnego build'a. Powiem ci na co zwrócić
uwagę, żeby przygotować aplikację już do produkcji. Ten kurs
to prawie 7 godzin wiedzy z zakresu vue. Od absolutnych podstaw,
a więc nieważne czy korzystałeś wcześniej z innych framework'ów czy nie. Myślę,
że w tym kursie bez problemu się odnajdziesz. Starałem się od początku nie przytłoczyć
się takimi dodatkowymi narzędziami, które często są towarzyszami
różnych frameworków i mogą właśnie być onieśmielające na samym początku.
Ja starałem się skupić wyłącznie na esencji pracy z Vue,
żebyś doskonale poznał ten framework, a wtedy dowolny workflow, który
już masz będziesz mógł zaaplikować do pracy z tym framework'iem. Natomiast
jak wspominałem nie zabrakło również informacji na temat tego nowoczesnego workflow,
w którym całą dosyć sporą aplikacje w tym kursie przygotowujemy. Tak
więc ja myślę, że warto poznać Vue. Jeżeli znasz podstawy języka JavaScript.
Tworzyłeś już w nim jakieś rozwiązania to warto dać Vue szansę. No
i na koniec warto również skupić się na tym, że Vue jest dzisiaj wymieniany
jako coraz bardziej pożądana przez pracodawców umiejętność, bo ten framework naprawdę
w ostatnich miesiącach zyskał gigantyczną popularność i zapewniam cię, że
nie bez powodu. Zatem mam nadzieję, że chociaż trochę zachęciłem cię do
tego żebyś rzucił okiem na Vue. Myślę, że warto temu framework'owi dać
szansę i dzięki temu wzbogacić swoje umiejętności i pracować
z kodem JavaScript i z nowoczesnymi aplikacjami w sposób bardziej wydajny. Zatem
nie pozostaje mi nic innego jak zaprosić cię do pierwszych lekcji tego kursu. Zatem
do usłyszenia.