Szybkie i Nowoczesne Strony
4 godz. 29 min · ReactJS · Full-stack i Programowanie
Adam RomanskiFrontend developer & YouTube CreatorI tak i nie! Gatsby to faktycznie React wzbogacony o pewne supermoce. Na początku kursu dowiesz się, jak poprawnie ich używać. Opowiem Ci w jaki sposób zaszyto Reach Router we wnętrze Gatsbyego – zobaczysz, że to bardzo intuicyjne i wygodne rozwiązanie. Ponadto opowiem Ci, w jaki sposób tworzyć uniwersalne, globalne style i layouty dla naszej aplikacji, aby zaoszczędzić sobie pracy. W tym wszystkim pomogą nam pluginy przygotowane specjalnie dla Gatsbyego (psst! Czy wiesz, że Gatsby posiada ich ponad 1500?).
Nie masz konta na fejsie? Nie szkodzi! Facebook stworzył nie tylko popularną platformę społecznością (i Reacta 😎), ale także przełomową specyfikację dla GraphQL – języka służącego do komunikacji między klientem a serwerem. To właśnie GraphQL zasila Gatsbyego w warstwę danych. Nie ważne czy mówimy o obrazkach, plikach markdown, json, yaml czy po prostu API – aby to wszystko ze sobą pogodzić musisz znać GraphQL. A ja w tym kursie pokażę Ci, że korzystanie z niego to czysta przyjemność.
Na początku pomysł importowania obrazów przez GraphQL może Ci się wydawać przerostem formy nad treścią. Dlatego poświęciłem w tym kursie cały dział na to, aby pokazać Ci, jak potężne możliwości stoją przed developerem wyposażonym w GraphQL, Sharp Image Transformer oraz Gatsbyego. Zapomnij o skalowaniu, przerabianiu i dostosowywaniu obrazków ręcznie w programach graficznych. Sprytne rozwiązania w Gatsbym pozwolą Ci za pomocą paru linijek zoptymalizować zasoby wizualne dla twojej strony.
Zarządzanie treścią to krytyczny punkt wielu produktów cyfrowych – z jednej strony CMS (content management system) musi być użyteczny dla developera przygotowującego całą strukturę treści, ale z drugiej strony ich końcowym użytkownikiem zawsze jest edytor, który nie musi znać się na programowaniu. W tym kursie pokażę Ci, jak w dosłownie kilku krokach stworzyć wygodną w użyciu strukturę dla bloga w oparciu o pliki markdown. Z małym udziwnieniem. Będą to pliki MDX łączące prostotę plików markdown z potężnymi możliwościami Reacta.
HeadlessCMS to podejście, które może przywoływać na myśl horrory klasy B, natomiast ich działanie przyprawia o zachwyt rodem z komedii romantycznej. Gdy zobaczysz jak proste, intuicyjne i wygodne (zarówno dla developera i edytora) jest korzystanie z podejścia headless, już nigdy nie wrócisz do klasycznych CMS-ów. W tym kursie pokażę Ci to na przykładzie fenomenalnego produktu jakim jest DatoCMS, którego odkryłem podczas budowania dużej struktury informacji dla strony mojej firmy.
Deployment strony w Gatsbym zajmuje dosłownie kilka sekund, zwłaszcza jeśli użyjemy do tego odpowiednich narzędzi. W tym kursie dowiesz się, w jaki sposób Gatsby przygotowuje zasoby przed wysłaniem ich na serwer, skąd biorą się dane w Gatsbym oraz w jaki sposób wdrożyć gotową stronę za pomocą serwisu Netlify.
Ten kurs powstał z myślą o osobach, które chcą być na bieżąco ze zmieniającym się ekosystemem frontendowym. Kurs koncentruje się nie tylko na Gatsby.js, ale także na technologiach orbitujących wokół tej technologii, korespondujących z nowym trendem nazwanym JAMStack.
2.19.12+
Okej dosyć teorii przechodzimy do praktyki zaczniemy zaraz
budować nasz pierwszy projekt w gatsby i zanim jednak
przejdziemy do pisania kodu to chciałbym ci pokazać co właściwie będziemy robić myślę
że w kursie zawsze fajnie mieć jakiś cel do którego będziemy dążyć dlatego przygotowałem
stronę którą będziemy sobie wdrażać jest to strona pani architekt nazywa
się Abigail Donutdough tworzy
projekty ma swoją stronę jej firma nazywa się hatta i ma
tutaj 4 podstrony about articles galery i contact i
ma też stronę główną i myślę że to jest taki fajny początek właśnie
do tego żeby nauczyć się gatsby ponieważ pokażę to nam w jaki
sposób obsługiwać obrazki w jaki sposób tworzyć artykuły tak jak
na blogu pokażę ci też jak stworzyć formularz kontaktowy i zobaczysz na własne oczy
że gatsby to tak naprawdę taki react tylko trochę szybszy i trochę
wygodniejszy bo tworzenie tutaj tego formularza kontaktowego będzie pewnie
zawierać jakieś takie reaktywne elementy i zobaczysz że tutaj
tak naprawdę gatsby nie jest generatorem stron statycznych tak jak
definicja mówi tylko bardziej generatorem aplikacji ponieważ tam gdzie chcemy
ta reaktywność będzie obecna tam gdzie nie chcemy będziemy po prostu ładować statyczny
content więc jest to naprawdę bardzo uniwersalne narzędzie a teraz przyjdziemy sobie do
dokumentacji gatsby bardzo często będziemy się do niej tutaj odwoływać to jest naprawdę świetnie
przygotowana dokumentacja w razie zwątpienia warto wykorzystywać tutaj ten search
który zawsze będzie nam podpowiadał co i jak jeśli będą jakieś
problemy z pluginami można wejść sobie tutaj mamy całą bibliotekę pluginów do gatsby
które możemy sobie przejrzeć zobaczyć ich dokumentację osobno więc będziemy
tutaj dość często sobie zaglądać pierwsze co musimy zrobić to oczywiście stworzyć
nasz projekt w gatsby i to akurat znam na pamięć nie muszę posługiwać się dokumentacją
najpierw musimy zainstalować sobie gatsby cli które pomoże nam później w tworzeniu projektów
więc to co musimy zrobić to w npm po prostu zainstalować sobie tę
paczkę ja korzystam tutaj z node 13.1.0 to jest aktualna
wersja w momencie kiedy nagrywam ten kurs ale wydaje mi się że nawet
w przyszłości jeśli wyjdą nowe nie będzie żadnego problemu jakiś czas temu jeszcze używałem
node 10 do gatsby do tej samej wersji z której teraz korzystam więc
gatsby po prostu jest kompatybilny z tymi wersjami node nie ma się
o co martwić teraz zainstalujmy sobie gatsby cli instalujemy
tak npm install flaga g od global gatsby
cli czekamy aż się zainstaluję po zainstalowaniu
możemy wykorzystać już komendę gatsby new i tworzymy
nasz projekt możemy nazwać go jak chcemy ja akurat nazwę go hatta
website ponieważ tak nazywa się strona naszej
architektki zauważ że jestem w
folderze 02 ponieważ to jest drugi rozdział tego kursu w pierwszym rozdziale mieliśmy samą
teorię ale żeby było ci łatwiej się poruszać po tym kursie zachowałem numerację
tych folderów więc jesteśmy teraz w rozdziale drugim stąd folder 02
wewnątrz niego tworzę folder hatta website który będzie zawierał nasz projekt
teraz musimy chwilkę poczekać to zejmie parę minut aż gatsby zainstaluje wszystkie
paczki i po ukończeniu instalacji mamy informację
że możemy przejść do naszego folderu hatta website a następnie
odpalić komendę gatsby develop żeby zacząć nasz development więc teraz przejdę sobie
do hatta i
słuchając się mojego cli wpiszę gatsby develop zobaczymy co teraz się stanie
w momencie
kiedy tworzę ten kurs w gatsbypojawił się jakiś niegroźny błąd on
nic tam na szczęście nie psuje także w razie gdyby pojawił się też u ciebie nie
przejmuj się nim czekamy teraz właśnie aż ludzie od gatsby albo ktoś po
prostu kto ma więcej czasu i trochę commituje do open source naprawi
ten błąd ale jest to tylko informacja o tym że jedna z metod która jest wykorzystana w
gatsby po prostu jest deprecated czyli już jest nieużywana okej
i po wykonaniu tej komendy gatsby przeleciał się przez wszystkie operacje które musiał wykonać a
następnie dał nam dwa linki tutaj mamy localhost 8000 i localhost
8000 graphql do graphql przejdziemy sobie w dalszej części tego
kursu na razie nie będziemy się nim zajmować ale przejdźmy sobie do tego localuhost zobaczymy co
tutaj się znajduje i jak
widzisz mamy tutaj default starter czyli po prostu taki domyślny
template gatsby który posłuży nam jako szkielet naszego
projektu oczywiście będziemy go modyfikować ale to jest fajne że gatsby po
prostu przygotował dla nas taki pierwszy szkielecik gdzie możemy zobaczyć sobie kilka przykładów
tego jak na przykład wykorzystuje się obrazki w gatsby jak wykorzystuje się linki
i tego typu rzeczy ale to zrobimy już następnej lekcji