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.
Wątkiem, który chciałbym poruszyć w
kontekście narzędzi wspomagających jest wykorzystanie różnego rodzaju platform
no-code, low-code i tych do tworzenia automatyzacji.
Jedną z najbardziej zaawansowanych i tych, które wykorzystuję każdego dnia jest Make.com.
Jest to platforma, z pomocą której
jesteśmy w stanie w sposób bardzo prosty łączyć się z
różnego rodzaju usługami i przesyłać pomiędzy nimi różne informacje.
I tutaj w przypadku Make całe tworzenie scenariusza to tak naprawdę jak widzisz
wyklikiwanie różnego rodzaju usług, ich akcji oraz określanie tego, w jaki sposób
informacje będą przepływać pomiędzy tymi różnymi usługami.
Ze względu na to, że nie jest to program poświęcony właśnie takim narzędziom, a
jednocześnie obsługa samego Make jest niesamowicie prosta, szczególnie jeżeli
potrafisz programować, to tak naprawdę chciałbym tu zwrócić tylko Twoją uwagę na
dwie rzeczy, które z pewnością będą Ci się tutaj przydawać.
Otóż bezapelacyjnie jedną z
najważniejszych akcji, którą możesz tutaj wybrać są Webhooki.
Chodzi o to, że za każdym razem, gdy będziesz rozwijać aplikację, możesz
utworzyć sobie tutaj taki Webhook podając jego nazwę, a następnie zaraz po chwili zostaje
wygenerowany jego adres, który możesz po prostu skopiować do schowka, a następnie
wykorzystać w swojej aplikacji bądź jakiejś zewnętrznej usłudze.
Zatem przykładowo, jeżeli włączymy sobie
ten scenariusz w tryb nasłuchiwania i prześlemy sobie tutaj jakieś informacje np.
z pomocą Query String,
no to jeżeli teraz prześlemy sobie na ten Webhook jakieś informacje np.
za pomocą Query String,
no to otrzymamy potwierdzenie, że dane zostały zaakceptowane, a jednocześnie
tutaj do naszego scenariusza zostały one w tym miejscu przekazane i dzięki temu mogę
teraz połączyć się praktycznie z dowolną inną usługą i np.
zapisać nowy rekord w Airtable, bądź też
chociażby zapisać nowy kontakt na liście Active Campaign.
Oczywiście, jak się pewnie domyślasz,
równie dobrze mógłbym połączyć się bezpośrednio z API konkretnej usługi z
poziomu mojej aplikacji i w ogóle nie wykorzystywać tutaj Make.
Ale jeżeli nagle okaże się, że musisz
połączyć wiele różnych usług i przesyłać pomiędzy nimi informacje do tego, aby np.
przekazać dane z jakiegoś formularza do różnego rodzaju systemów, no to nagle
okazuje się, że sięgnięcie po Make rzeczywiście nabiera tutaj sensu.
Oczywiście w momencie, gdy mamy jakąś
bardzo rozwiniętą aplikację z dużą liczbą użytkowników, to możliwe, że sięgnięcie po
Make nie będzie tutaj uzasadnione ze względu na to, że rozliczamy się tutaj za
wykonane operacje i tym samym może okazać się to po prostu mało efektywne.
Ale jednocześnie tak jak pokazywałem sam projektuję np.
swój dashboard, w przypadku którego po
pierwsze zależy mi na tempie realizacji takiego projektu, po drugie nie ma tutaj
mowy o jakimś dużym ruchu i dużej liczbie operacji koniecznych do wykonania
i na koniec też nie ma praktycznie żadnych innych przeciwwskazań, które mówiłby o
tym, że mógłbym nie sięgać po narzędzia takie jak Make czy chociażby Zapier.
I tutaj jeżeli już jesteśmy przy Zapierze, no to jego prawdopodobnie kojarzysz, ale
jednocześnie ja osobiście nie za bardzo już polecam korzystanie z tej platformy ze
względu na to, że chociażby Webhooki są zdecydowanie bardziej ograniczone.
Mianowicie zwróć uwagę, że jeżeli teraz
tworzę sobie kolejny krok, to tutaj w przypadku Webhooka mam dostępną akcję Webhook
Response, a to oznacza, że przesyłając dane na ten Webhook od
razu mogę zdecydować o strukturze odpowiedzi.
Naturalnie mogę tutaj też dodać jakieś customowe nagłówki lub też w ogóle
przekierować użytkownika na konkretny adres.
W rezultacie, jeżeli teraz
zapiszę sobie zmiany tego scenariusza, a następnie przełączę go już nie w tryb
nasłuchiwania, tylko po prostu w pełni aktywuje, no to będę mógł przejść na ten Webhook
i zwróć uwagę, że zamiast Accepted otrzymałem tutaj informację, którą
precyzyjnie określiłem w tej akcji Webhook response.
Analogicznie też mógłbym dodać tutaj Content-Type ustawiony na Application/json
i dodatkowo określić tutaj strukturę odpowiedzi.
W rezultacie ponownie po zapisaniu zmian i aktywowaniu tego scenariusza mogę przejść
na ten webhook i tym razem otrzymuję tutaj odpowiedź w formacie JSON.
Jak się pewnie domyślasz, uzyskanie takiej odpowiedzi po stronie aplikacji daje już
niesamowite możliwości w kontekście rozwijania takich integracji.
No i teraz drugim wątkiem, który chciałbym tutaj poruszyć jest moduł HTTP.
Jest on szczególnie istotny ze względu na
to, że jest to interfejs umożliwiający nawiązanie połączenia z dowolnym API.
Jak widzisz, możemy ustawić tutaj nagłówki
Query String, ustawić ciało zapytania, jego typ oraz oczywiście zawartość.
Mamy też możliwość ustawienia jakiś
dodatkowych informacji lub też nawet nawiązywania połączenia OAuth 2.0.
Zatem z całą pewnością obok modułu Webhooków moduł HTTP zasługuje na Twoją szczególną
uwagę, ponieważ jako full stack będziesz w stanie wykorzystać pełnię ich możliwości.
Oczywiście tutaj sytuacja się nieco
komplikuje w porównaniu do wykorzystywania natywnych modułów, ponieważ tutaj musimy
określać strukturę danych samodzielnie, ale jednocześnie zyskujemy tą
elastyczność, której nie mamy w przypadku natywnych modułów.
Jednocześnie chciałbym zwrócić uwagę jeszcze na jedną rzecz, ponieważ
większość modułów oferuje tzw.
Make an API Call.
Jest to niesamowicie przydatna funkcja ze względu na to, że jesteśmy w stanie
wykorzystać połączenie, które utworzyliśmy sobie w Maku, a jednocześnie możemy tutaj
kontaktować się bezpośrednio z API. Oczywiście z pominięciem tej kwestii
autoryzacji, ponieważ jest ona zaadresowana już w tym miejscu.
No i tutaj jeszcze w kontekście Make, ostatnią rzeczą, o której chciałbym Ci
jeszcze powiedzieć jest możliwość tworzenia własnych aplikacji.
Tutaj warto zajrzeć sobie do ich dokumentacji, która bardzo szczegółowo
opisuje to, w jaki sposób możemy projektować własne moduły i oczywiście w
momencie ich publikacji musimy przejść złożony proces weryfikacji,
ale jednocześnie tego procesu nie musimy przechodzić na własne potrzeby lub też na
potrzeby osób, którym bezpośrednio udostępnimy tą aplikację.
Mianowicie chodzi o to, że przykładowo tutaj mamy jakąś totalnie testową
aplikację i tutaj po jej opublikowaniu będzie taki przycisk Publish
jesteś w stanie udostępnić link
zapraszając innych użytkowników aplikacji Make do skorzystania z Twojego modułu.
Zatem podsumowując, jeżeli chodzi o Make,
jest to platforma, którą możesz wykorzystywać albo na swoje potrzeby do
tego, aby tworzyć bardzo szybko różnego rodzaju integracje, w tym np.
Makra Keyboard Maestro czy np.
rozszerzenia Raycast,
króre w moim przypadku również korzystają z Make.
No i naturalnie też raczej nic nie stoi na przeszkodzie, o ile otrzymasz zgodę ze
strony biznesu na to, aby wykorzystywać Make bądź podobne platformy w
produkcyjnych aplikacjach i adresować z jej pomocą np.
jakieś pojedyncze integracje z różnymi zewnętrznymi usługami.
W moim przypadku nierzadko są to maile
transakcyjne lub też właśnie obsługa formularzy.
Jeżeli jednak z jakiegoś powodu Make nie
przypadnie Ci do gustu lub też nie będziesz z różnych powodów mieć możliwości
skorzystania akurat z tej platformy, to polecam Ci również zajrzeć na stronę n8n.io
gdzie mamy do dyspozycji dość podobne narzędzie do samego Maka, ale
jednocześnie jest to projekt, który możesz uruchomić również na własnej maszynie.
Domyślam się, że dla części projektów może okazać się to szczególnie istotne,
aczkolwiek w moim przypadku raczej nie było takiej potrzeby.
No i ostatnim narzędziem, na które również
warto zwrócić szczególną uwagę jest narzędzie Retool, w przypadku którego
jesteśmy w stanie podłączyć dowolne źródło danych, łącznie z arkuszem google sheets
do tego, aby wyklikać sobie różnego rodzaju internal toole.
Czasem jest to panel administracyjny, czasem jakiś panel raportowy, bądź też
jakiś bardziej rozbudowany formularz, z pomocą którego osoby zaangażowane w rozwój
produktu mogą po prostu wchodzić z nim w interakcję.
Jeżeli chodzi również o to narzędzie, nie
będę go teraz pokazywał od środka, ponieważ nie chciałbym skupiać się na
takich rozwiązaniach w programie o JavaScripcie.
Jednocześnie po raz kolejny zaznaczam
tylko, że właśnie znajomość JavaScriptu okazuje się bardzo przydatna zarówno w
przypadku wykorzystania narzędzi takich jak Retool, n8n czy wspomniany Make.
Mam nadzieję, że po tej lekcji przynajmniej spróbujesz utworzyć swój
własny scenariusz i zobaczyć jak działają Webhooki czym moduł HTTP.
Zakładam, że w momencie, gdy to zrobisz, w Twojej głowie pojawią się różnego rodzaju
pomysły, w jaki sposób możesz wykorzystać Make w swoich projektach.
Jednocześnie naturalnie polecam Ci
zapoznać się chociażby z takimi funkcjami jak router, iterator, agregator czy też
dostępne tutaj narzędzia do tworzenia zmiennych, parsowania tekstu, czy nawet
jest tutaj moduł do pracy z obiektami JSON.
No i w ten oto sposób doszliśmy już do końca tej lekcji.
Dziękuję Ci za uwagę i zapraszam do kolejnych materiałów.