od Podstaw
3 godz. 55 min · HTML i CSS · Full-stack i Programowanie
Daniel NoworytaFull stack DeveloperW tej sekcji zapoznasz się z frameworkiem TailwindCSS i poznasz podstawowe pojęcia związane z systemem klas. Dowiesz się, czym jest TailwindCSS, jakie problemy rozwiązuje i jakie zalety posiada. Będziesz miał okazję zobaczyć, jak wyglądają gotowe klasy CSS, które oferuje TailwindCSS i jak można je wykorzystać w projektach.
Ta sekcja zawiera praktyczne zadanie polegające na zbudowaniu strony internetowej projektu The Eduweb Times na urządzenia mobilne. Będziesz mieć okazję zastosować swoje nowo zdobyte umiejętności w praktyce, tworząc atrakcyjną i funkcjonalną stronę internetową.
Ta sekcja skupia się na stylowaniu strony internetowej projektu The Eduweb Times w sposób responsywny, czyli tak, aby strona dobrze wyglądała na różnych urządzeniach. Zaczniemy od stylowania na Tablety. Nauczysz się, jak tworzyć style, które dostosowują się do rozmiaru ekranu, na którym jest wyświetlana strona.
Ta sekcja skupia się na stylowaniu strony internetowej projektu The Eduweb Times w sposób dedykowany dla wyświetlania na dużych ekranach, takich jak monitory desktopowe. Nauczysz się, jak wykorzystać różne techniki stylowania, aby stworzyć atrakcyjny i funkcjonalny wygląd strony na większych ekranach.
Ten kurs wprowadzający do frameworka TailwindCSS jest przeznaczony dla programistów i web developerów, którzy mają już podstawową wiedzę i umiejętności z zakresu HTMLa i CSSa, ale chcą nauczyć się używać jednego z najnowocześniejszych narzędzi do stylowania stron internetowych.
Jak już wiesz ze wstępu, Tailwind CSS to
framework wydany po raz pierwszy w maju 2019 roku, obecnie w wersji 3,6.
Od czasu premiery uzyskał sporą rzeszę
fanów na całym świecie i według twórców jest to narzędzie, które nie skupia się na
funkcjonalności stylu danego elementu, ale na samym sposobie jego wyświetlenia.
I to jest właśnie cała esencja podejścia utility first do stylowania.
Tailwind dostarcza nam zestaw
gotowych do użycia klas, które znacznie przyspieszają naszą pracę.
Dlaczego tak się dzieje?
Otóż Adam Wathan i Steve Schoger tworząc to narzędzie dla siebie
przechodzili przez różne problemy związane z pisaniem właśnie styli.
Wielokrotnie powtarzane selektory z tą
samą logiką zamieniali po drodze na zestawy tzw.
utility classes, które mogli potem sobie re-używać. I zauważyli, że to znacznie
przyspiesza ich pracę, bo nie muszą pisać kolejny raz logiki, którą już wcześniej
używali w innym elemencie interfejsu użytkownika.
Tailwind CSS daje nam zestaw klas, które i
tak kiedyś musielibyśmy sami zaimplementować w arkuszach styli CSS.
To co wyróżnia ten framework od innych tego typu rozwiązań to to, że Ty jako
developer masz pełną dowolność jeżeli chodzi o stylizację elementu na stronie.
Tailwind nie narzuca na Ciebie żadnego konkretnego motywu.
Poniżej masz przykład jednego z popularnych rozwiązań do stylowania,
mianowicie biblioteki Bootstrap stworzonej przez twórców Twittera.
Zauważ, że czerwony przycisk Bootstrapa
uzyskasz po prostu dodając klasy btn, btn danger.
Żeby ten sam efekt uzyskać przy pomocy
Tailwinda, będziemy musieli napisać coś takiego.
I jeżeli chcesz mi teraz zostawić przerażony tym dlaczego ten sam efekt
uzyskamy pisząc 6 razy więcej znaków, to proszę Cię zostań jeszcze chwilkę.
Pokażę Ci zalety i wady takiego podejścia.
Pierwszym zarzutem, który pewnie rzucił Ci się w oczy jest liniowe dodawanie styli w
aplikacji, w plikach i aplikacjach w HTML u.
Sprawia to, że cały plik jest mało czytelny.
Jest to zarzut jak najbardziej uzasadniony.
Na poprzednim przykładzie z bootstrapowym buttonem widzieliśmy to dobitnie.
Pokażę Ci w tym kursie jak możesz poradzić sobie z problemem czytelności Twojego kodu
za pomocą różnych dostępnych narzędzi i wtyczek do edytorów kodu.
I kolejną niewątpliwą wadą są słabe
możliwości porzucenia tego podejścia w projekcie.
Otóż jeżeli zaczniesz używać Tailwinda,
bardzo ciężko będzie Ci przejść na coś innego w obrębie jednego projektu.
Nie mówimy tutaj o całkowicie nowym projekcie, gdzie jesteś na początku
i tak naprawdę swobodnie dobierasz swoje rozwiązania do stylowania.
Dodatkowo jeżeli chodzi o wady, żeby używać Tailwind CSS musisz się go nauczyć.
To sprawia, że sama znajomość CSS'a już nie wystarcza.
Instalowanie tego rozwiązania w swoim
projekcie też wymaga podjęcia kilku kroków.
Niestety, ale jest to kolejna abstrakcja, z której trzeba nauczyć się korzystać.
Ale może to i dobrze, bo mamy dzięki temu okazję odbyć tę podróż dzisiaj razem.
Dobrze, dosyć tych wad. Teraz porozmawiajmy o zaletach, a tych
jest wiele i niektóre z nich wyrównują wady, o których wcześniej wspomniałem.
Niewątpliwą zaletą Tailwinda jest łatwość jego nauki
i łatwe zrozumienie nawet dla początkujących.
Jasna i przejrzysta dokumentacja ułatwia nam codzienną pracę i szczególnie
na początku Twojej drogi radzę Ci, żebyś miał/miała ją otwartą gdzieś na boku.
Tailwind CSS zabiera z naszych barków problem
odpowiedniego nazewnictwa klas, a wbrew pozorom nazywanie rzeczy zajmuje bardzo
dużo czasu i blokuje nasze zasoby intelektualne, które moglibyśmy tak
naprawdę przeznaczyć na coś bardziej produktywnego, prawda?
Szczególnie w sytuacji, kiedy trzeba uważać na kaskadowość CSS'owych styli.
Jeżeli miałeś/miałaś okazję pisać jakiś większy projekt za pomocą tradycyjnego
podejścia do stylowania, wiesz zapewne jak trudne może okazać się
utrzymanie rozrastających się plików ze stylami.
I za tą poprzednią zaletą idą jeszcze dwie inne.
Twój kod CSS nie rozrasta się wraz z
rozrastaniem się Twojego projektu dzięki mechanizmowi czyszczenia styli.
Na koniec wszystko co nie zostanie przez
Ciebie użyte w projekcie nie wyląduje w wersji produkcyjnej.
I ostatnia zaleta jaka mi przychodzi do głowy to łatwość refaktoringu styli CSS.
Masz praktycznie dwa pliki, które są dla Ciebie źródłem prawdy.
Global CSS i Tailwind config JS, dzięki
czemu łatwo wprowadzać jakieś globalne zmiany w Twoich stylach, w Twoim projekcie.
No dobrze, teraz kiedy już znasz wady i
zalety tego frameworka, czas zacząć zanurzać się bardziej w tym świecie.
Zobaczymy jak w praktyce wygląda pisanie styli przy pomocy Tailwind CSS.