Przegląd i Konfiguracje narzędzi
3 godz. 49 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykAktualnie trudno wyobrazić sobie pracę w ekosystemie JavaScriptu bez terminala. W pierwszym rozdziale kursu nie tylko dowiesz się o dostępnych na rynku narzędziach oraz rozszerzeniach ale także o sposobach ich konfiguracji, uwzględniających przykłady z codziennej pracy, w tym wykorzystanie GPT-3 do łatwiejszej obsługi terminala.
Dla osób, które programują, IDE (Integrated Development Environment) niemal zawsze stanowi najważniejsze narzędzie pracy. Pomimo tego, że na rynku dostępny jest bardzo dobry Visual Studio Code, w tym kursie poznasz bliżej płatne narzędzia firmy JetBrains, które w wielu przypadkach sprawdzą się nieporównywalnie lepiej. Dobrze skonfigurowane IDE potrafi "zrozumieć" Twój kod na tyle, aby skutecznie Ci pomagać w pisaniu kodu, pracy zespołowej czy debugowaniu aplikacji.
Poza narzędziami bezpośrednio związanymi z programowaniem, istnieje szereg aplikacji które pomagają w codziennej pracy. Mowa o pracy koncepcyjnej, sandboxach, organizacji wiedzy, zadań, kalendarza, poczty czy nawet sięganie po narzędzia no-code / low-code. W tym kursie znajdziesz przegląd tych, które mają duży sens z punktu widzenia full-stack'a, aczkolwiek pamiętaj że każde z nich posiada też różne alternatywy, które mogą bardziej przypaść Ci do gustu.
Kolejnym niezbędnym elementem w programowaniu, są różnego rodzaju zależności projektu oraz narzędzia instalowane na komputerze czy serwerach, w celu ułatwienia pracy lub wręcz jej umożliwienia. Poza tym poruszymy też temat własnych skryptów a nawet tworzenia CLI w Node.js na własne potrzeby.
Tworzenie aplikacji w JS charakteryzuje konieczność wykorzystywania różnego rodzaju narzędzi, umożliwiających m.in. transpilowanie oraz optymalizację kodu. Obecnie jednym z najlepszych wyborów jest Vite i to na nim skupimy się najbardziej, łącząc go nie tylko z samym JavaScriptem ale także frameworkami CSS (konkretnie Tailwind CSS).
Ten kurs powstał z myślą o osobach pracujących w ekosystemie JavaScriptu. Jest to szybkie przegląd dostępnych na rynku narzędzi oraz przykładów ich praktycznego wykorzystania w codziennej pracy. Jeżeli szukasz inspiracji, nowych narzędzi lub sposobów usprawnienia codziennych zadań — w tym kursie je znajdziesz.
Przez lata narzędzia takie
jak Bootstrap, Foundation czy potem Bulma,
pomagały nam w pisaniu kodu CSS w oparciu o komponenty.
Potem pojawił się Tailwind CSS, który
początkowo zderzał się z dużą falą krytyki
ze względu na to, że reprezentował coś, co przypominało w dużym stopniu
pisanie inline'owego kodu CSS
a dodatkowo wydawało się, że Tailwind też powoduje znaczący przyrost objętości kodu
HTML i też trudność w jego późniejszym zarządzaniu i też
zarządzaniu z danymi stylami ze względu na
to, że jeżeli chcemy coś zmodyfikować to musimy modyfikować również kod
HTML. W praktyce jednak jest już troszkę
inaczej, ponieważ aktualnie Tailwind CSS jest niekwestionowanym liderem
jeżeli chodzi o narzędzia do
pisania kodu CSS oraz generalnie tworzenia interfejsów.
Jego ekosystem i tak samo community niesamowicie rozwinęło się
na przestrzeni dwóch ostatnich lat i z tego
powodu w moim przypadku jest jedynym
narzędziem, które wykorzystuję do budowy
interfejsów i też gorąco go polecam. Pomimo tego, że
sam Tailwind CSS jest bezpłatny, tak jednocześnie
mamy tutaj do dyspozycji jego płatną wersję o nazwie Tailwind UI
w przypadku której mamy do
dyspozycji szereg gotowych komponentów,
które możemy po prostu skopiować i wkleić do swojego projektu.
Co więcej, ich konfiguracja w zasadzie
tak jak powiedziałem, sprowadza się do tego, aby po prostu je wkleić
i ewentualnie je wkleić w naszym projekcie.
Oczywiście w niektórych
sytuacjach konieczne jest np. doinstalowanie
jakiegoś dodatkowego pluginu i coś takiego
dzieje się chociażby w przypadku formularzy, gdzie rzeczywiście w momencie
gdy wyświetlamy tutaj kod tego komponentu, to okazuje się, że musimy
tutaj doinstalować sobie dodatkowy plugin.
Jednocześnie też w niektórych
sytuacjach konieczne jest dopisanie
kawałka kodu JavaScript,
który zajmie się obsługą samej logiki, tak
jak w tym przypadku komponentu typu SELECT.
Myślę, że jest to jak najbardziej
oczywiste i zrozumiałe, tym
bardziej, że mamy tutaj przykładowy kod dla
Vue, React i
też od siebie mogę dodać, że praktycznie nie ma żadnego
problemu aby wykorzystać te komponenty również
w Svelte.js. Z jednej strony
prawdopodobnie korzystasz już
z Tailwind CSS, ale jeżeli nie
to chciałbym tylko przeprowadzić się krótko przez proces
instalacyjny
również w połączeniu z Vite.
Mianowicie tutaj dokumentacja jest
wręcz genialna, ponieważ jak widzisz chodzi tutaj przede
wszystkim o zainicjalizowanie projektu i tylko nadamy mu tutaj nazwę my-vite. Następnie
wybierzemy sobie Vue.js
i tym razem i nie będziemy korzystać
z TypeScriptu aczkolwiek myślę, że do
samego TypeScriptu będziemy sobie jeszcze tutaj wracać.
W każdym razie instaluję teraz zależności
i w zasadzie mogę wrócić
do dokumentacji.
Tutaj kolejne elementy, które musimy zainstalować to oczywiście sam TailwindCSS,
PostCSS, ponieważ Tailwind wykorzystuję go do
transformacji CSS, no i tak samo autoprefixer,
który zasadniczo również dba
o to, aby nasz wygenerowany CSS był jak najbardziej poprawny. No to instalujemy te
zależności i możemy tutaj wrócić po to, aby skopiować
polecenie, które zainicjalizuje nam Tailwind CSS.
Wtedy w naszym projekcie tak jak widać zostały
utworzone dwa pliki, pierwszy z nich to
plik konfiguracyjny Tailwind
a drugi PostCSS.
Jeżeli je teraz sobie podajemy to zobaczymy w nich kilka
interesujących rzeczy.
W przypadku konfiguracji Tailwinda
możemy tutaj dostosować
sobie jego zachowanie, dostępne klasy i ich
wartości oraz również doinstalować pluginy.
Jeżeli chodzi o same pluginy, to tak jak powiedziałem
odgrywają one dość istotną rolę np.
w przypadku Tailwind UI
gdzie musimy po prostu tak jak tutaj
doinstalować sobie plugin wspierający formularze.
No i tutaj swoją drogą ponownie zobaczysz, że IntelliJ domyśla się, że możemy chcieć
doinstalować tutaj Node.js czy też bardziej posiadać
wsparcie dla Node.js w tym pliku konfiguracyjnym
no i w
tym momencie możemy też doinstalować paczkę tailwindcss/forms
Już teraz ten plugin jest dostępny,
aczkolwiek sam Tailwind, jeszcze nie jest dostępny w naszym projekcie.
Tymczasem chciałbym jeszcze
tutaj zwrócić uwagę na typy, czyli konkretnie
w tej sytuacji mamy
komentarz, który pozwala nam się lepiej
odnaleźć w pliku konfiguracyjnym i np.
ustalić sobie Dark Mode bądź inne dodatkowe ustawienia.
No to teraz idźmy dalej w konfiguracji i w tym momencie jesteśmy
proszeni o to, aby określić pliki szablonów
naszej aplikacji.
Zatem mamy tutaj tablicę, w której zapisujemy ścieżki, które
w tym przypadku uwzględniają zarówno plik index.html,
który mamy tutaj, czyli plik
wejściowy oraz jednocześnie praktycznie wszystkie możliwe pliki, które mogą
znaleźć się w katalogu SRC i będą zawierać ewentualne klasy Tailwind.
Następnie interesuje nas
również to, aby w pliku index.css
dodać klasy Tailwind.
Zatem konkretnie mamy tutaj plik style.css
natomiast nas interesuje
utworzenie jeszcze dodatkowego pliku index.css
wewnątrz którego zapiszemy
sobie dokładnie te wspomniane dyrektywę.
Tutaj tylko dodam, że w przypadku IntelliJ bądź np.
WebStorma konieczne będzie doinstalowanie pluginu
Tailwind CSS, który daje wsparcie m.in. dla
tych dyrektyw
oraz dodatkowe elementy ułatwiające wykorzystanie Tailwind.
No i teraz w momencie gdy już mamy ten plik,
tutaj jeszcze musimy go zaimportować
w związku z tym zapiszemy sobie import app.css
no i teraz teoretycznie jesteśmy w stanie
uruchomić naszą aplikację
przy czym oczywiście nie mamy tutaj pliku
app.css tylko index.css
no i jeżeli uruchomimy sobie serwer
to rzeczywiście nasza aplikacja działa.
Mało tego, jeżeli przejdziemy sobie do głównego komponentu
naszej aplikacji, a następnie tutaj np.
zapiszemy sobie inny kolor tła
no to jak widzisz, natychmiast
mamy nasz rezultat. No i teraz
jeszcze chciałbym tylko zwrócić uwagę na
kilka elementów
które dzieją się tutaj pod maską, a które być może zwracają Twoją uwagę
tym bardziej, jeżeli pierwsze wersje Tailwindsą Ci znane.
Mianowicie na pewnym etapie pojawił się tutaj specjalny tryb, w
jakim działał Tailwind, który był znacząco szybszy od tego
standardowego
natomiast w tym momencie
nie ma już potrzeby włączać tej opcji, ponieważ jest włączona natywnie
i drugą opcją była właściwość purge, w
przypadku której mogliśmy podać ścieżki do plików, wewnątrz których pojawiały
się klasy Tailwind i na podstawie analizy
zawartości tych plików było określane to,
które klasy trafią do końcowego pliku wyjściowego naszej aplikacji, a które
zostaną pominięte.
W tym momencie ponownie nie ma takiej potrzeby, aby to definiować, tylko to
wszystko zostało przeniesione do właściwości content.
Zatem w tym momencie mamy tutaj aplikację Vue ze wsparciem Tailwind oraz
również możliwością podłączenia
Tailwind UI i wykorzystania tych
niesamowitych komponentów, a nawet całych templates.
Gorąco zachęcam Cię do tego, aby
przynajmniej przejrzeć sobie możliwości jakie oferuje Tailwind UI
tym bardziej, że rozwinięcie Twojej
znajomości Tailwind oraz modyfikowania tych gotowych template
daje niesamowitą przewagę w kontekście
kodowania interfejsów i też znacząco
skraca cały proces.
Oczywiście wiedzę z tego filmu możesz
połączyć z wiedzą z poprzednich lekcji, gdzie configurowaliśmy
pozostałe elementy naszej aplikacji, takie jak np.
ESLint czy Prettier .
Oczywiście pozostaje tutaj jeszcze wsparcie dla TypeScriptu
ale o tym będziemy sobie rozmawiać w kolejnych lekcjach.
Tymczasem dzięki za uwagę i zapraszam do kolejnych materiałów.