Jak działają strony i aplikacje
1 godz. 24 min · Biznes i Automatyzacje
Grzegorz RógIdea ArchitectCzy ja naprawdę muszę to wiedzieć? Czy to ważne, co dzieje się po wpisaniu adresu w przeglądarce, jak on jest skonstruowany i co zawiera? Wbrew pozorom - bardzo! Wiedza o tym, jak przeglądarka interpretuje to, co do niej wpisujemy przyda Ci się w wielu aspektach, nie tylko w programowaniu. Dzięki temu zrozumiesz jak serwer wymienia informacje z przeglądarką, jak działają UTMy w marketingowych kampaniach, czy wyszukiwarka, z której możesz przechwycić informacje w Analytics. Poznasz też kilka pojęć związanych z konsolą i parę przydatnych komend.
Porozmawiamy o tym, jak komunikować się efektywnie z serwerem, jakie są typy zapytań i jak możemy je egzekwować. Przy okazji poznasz aplikację Postman, z której będziesz mógł wygodnie wysyłać zapytania do serwera i przeglądać odpowiedzi. Jest to program, bez którego współczesny web development byłby bardzo utrudniony a komunikacja z back-endem dużo trudniejsza w implementacji.
Jak są zapisywane dane sesji, jakie dane przechowuje przeglądarka i po co? Odpowiedzi na te pytania pomogą Ci uniknąć frustracji w przypadku, gdy dane zostaną niepotrzebnie scache'owane ale także dowiedzieć się, jak zoptymalizować zasoby na stronie, które mogą być serwowane szybciej dla użytkownika. Zobaczysz, jak wygląda proces tworzenia ciasteczek, poznasz pojęcia jak Session Storage i Local Storage, to wszystko na kilku praktycznych przykładach.
W kursie przyjrzymy się szczegółowo działaniu API, poznasz podstawowe koncepcje, które stoją za najbardziej popularną metodą komunikacji z back-endem w nowoczesnych aplikacjach. Pomówimy o formacie JSON, będziemy też wysyłać zapytania do API takich aplikacji jak Twitter czy Google. W ten sposób dowiesz się, jak działają mechanizmy, które pozwolą Ci zintegrować się z najpopularniejszymi narzędziami w sieci!
Z kursem powinien zapoznać się z nim każdy, kto planuje tworzyć strony internetowe i chce rozwijać swoją karierę w ścieżkach webdevelopmentu. Jest to podstawowy materiał, który co prawda nie wchodzi w szczegóły jak sama konstrukcja API czy tworznie Rest API, ale jest uniwersalnym fundamentem wiedzy do różnych ścieżek. Przyda się też twórcom i właścicielom internetowych projektów, którym pozwoli lepiej zrozumieć mechanizmy działające pod maską webowych stron i aplikacji po to, aby je rozwijać czy korzystać z automatyzacji.
Cześć!
Witaj w kolejnej lekcji, w której wiedzę, którą masz zastosujemy trochę bardziej może w
praktyce, bo pokażę Ci jak można zacząć przynajmniej pracować nad taką
aplikacją, która będzie notyfikować nasze Webhooki.
Generalnie to jest tak, jeżeli będziesz chciał stworzyć swoją jakąś aplikację, która
korzysta z różnych danych i z różnych API np.
po to, żeby zlokalizować użytkownika i
wyświetlić go ładnie na mapce, albo wyświetlić jakieś posty czy zdjęcia z
Instagrama, możesz łatwo to zrobić korzystając z API, ale rzeczywiście musisz
teraz przystąpić do pisania własnej aplikacji.
Możesz ją napisać w technologii takiej jak JavaScript.
Pamiętaj jednak o tym, że w przypadku
tej wymiany danych z API, w momencie, kiedy w każdym request
potrzebujemy podać nasze te sekretne dane, czyli jakieś API Key itd.
robienie tego z pomocą JavaScript może się okazać dość ryzykowne, bo ktoś może te
dane przechwycić i autoryzować się Twoimi danymi do tego API.
W związku z tym najczęściej robi się to w troszeczkę inny sposób.
Nawet tym takim serwerowy JavaScript, czyli z pomocą Node.js.
I teraz proponuję, żebyśmy najpierw stworzyli sobie nasz własny endpoint,
czyli przejdziemy na pipedream i wybierzemy jeszcze raz create endpoint.
No i mam taki endpoint.
Możemy sobie zrobić prostą JavaScript aplikację, więc skopiuje kawałek kodu
JavaScript potrzebnego do tego, żeby wysłać coś pod ten endpoint, a następnie
przejdę do aplikacji i do strony, która nazywa się glitch.
I na glitch możesz wyewoluować sobie takie środowisko, nawet serwerowe,
nie musisz instalować u siebie Node.js a innych różnych rzeczy
możesz bardzo łatwo w tym edytorze glitch tworzyć sobie takie proste aplikacje.
Oprócz tego Glitch jest świetną
społecznością, gdzie masa ludzi tworzy podobne aplikacje.
Możesz pomyśleć o Glitch jako takim
AppStore, miejscu gdzie jest masa jakichś różnych aplikacji,
tyle, że te wszystkie aplikacje są darmowe i są otwarte.
To znaczy, że możesz podejrzeć ich kod,
możesz nawet ten kod skopiować, sklonować,
a następnie dostosować te aplikacje do swoich potrzeb.
Więc glitch jest świetny, polecam Ci z niego skorzystać.
Stworzę teraz sobie tutaj nowy projekt. Mogę tworzyć jakiś stateczny projekt,
albo mogę stworzyć sobie prostą aplikację w Node.js postawioną na właśnie Glitch.
I teraz ta aplikacja się dla mnie tworzy.
Zobacz, że zostały wygenerowane różne
pliki, nawet taki plik zawierający jakieś sekretne różne nasze klucze.
Gdyby ten glitch był publiczny one nie będą wtedy widoczne dla innych osób.
Gdybyśmy chcieli przekazać tutaj np.
właśnie te nasze klucze do API
to jest dobre miejsce.
My tego na razie nie potrzebujemy robić.
Zobaczmy w ogóle, jak wygląda ta nasza
aplikacja, kliknę show live i coś tutaj jest.
Ona pozwala nam coś tutaj wpisać i dopisuje różne sny do jakiejś naszej listy.
Czyli powiedzmy to jest taka prosta
aplikacja todo listy, ale my chcielibyśmy ją oczywiście sobie
trochę zmodyfikować. I jeśli chodzi o sam widok
w zasadzie może zostawię nawet tą część, czyli usunę
może tutaj sobie nasza nowa aplikacja wpiszemy,
ale zostawię sam formularz i z pomocą tego formularza
będziemy mogli, tutaj tylko domknę sekcję main,
będziemy mogli wysłać jakieś dane.
Na razie nie będziemy z niego korzystali
przejdziemy do tej sekcji client.js,
wyrzucę cały ten kod JavaScript, który tutaj jest i wstawię ten nasz, który
wysyła name Darth Vader do endpointa, do naszego endpoint, który tutaj mamy
czyli na tego naszego webhooka.
I w zasadzie glitch się zapisuje
automatycznie. W momencie gdy przejdziemy do naszego endpointa
zobacz, że coś tutaj już jest.
Czyli dostaliśmy już Darth Vadera dlatego, że po prostu ten skrypt nam się uruchomił,
wykonał i działa, czyli voilà, z naszej prostej aplikacji
umiemy już notyfikować API, wysyłać do niego poszczególne zapytania.
Super!
Możemy teraz trochę zmodyfikować to zapytanie.
Na przykład zrobić to w ten sposób, że
stworzymy sobie tutaj dodatkową funkcję, którą nazwiemy sendit, a następnie
zapakujemy to wszystko w tą funkcję
i będziemy ją wywoływać po kliknięciu w nasz przycisk.
Tutaj mamy button i możemy dodać do niego atrybut onclick,
a następnie wpisać sobie, że chcemy teraz wywołać tą funkcję sendit,
a następnie samo się zapisuje, więc wystarczy, że wejdziemy tutaj
w Show live, otworzymy sobie tą naszą aplikację i teraz możemy po prostu kliknąć Submit.
Zobacz, że na razie ok, dostaliśmy jakiegoś posta, jeszcze się jeden raz
zdarzyło to wykonać, ale teraz już nic nie dostajemy, mamy tylko dwa.
Natomiast teraz jak klikniemy submit
to jest wykonywana nasza funkcja i proszę bardzo, dostaliśmy kolejnego Darth Vadera.
Gdybyśmy chcieli
zamiast Darth Vadera wysyłać tutaj coś bardziej interesującego, możemy spróbować
to pobrać z pola input, które mamy w HTML.
Czyli w HTML jest input name dream i z tego pola możemy wyciągnąć dane.
Możemy to zmienić na
przykład na identyfikator, zaznaczyć sobie, a następnie w kodzie
JavaScript wyciągnąć te dane, zrobić sobie tutaj jakąś
stałą, może jakąś zmienną,
nazwiemy ją np.
imię,
teraz pobierzemy sobie do tego imienia, weźmiemy document, następnie getElementById,
czyli pobierzemy sobie po
identyfikatorze, ten nasz identyfikator to jest dream.
I teraz wyciągniemy z tego value czyli wartość a następnie to imię przekażemy
sobie zapytaniu zamiast name będziemy mieli imię.
I tutaj już nie w cudzysłowie,
po prostu przekażemy imię.
Okej, teraz możemy sobie to przetestować.
Czyli przechodzę do show live, otwieram naszą
apkę dobra, a następnie wpisuję moje imię Grzegorz i wybieram polecenie submit.
Następnie wracam i w poście dostaję tutaj
imię Grzegorz, więc jak widzisz udało nam się już coś tutaj fajnego wysłać.
I teraz zakładając, że np.
chciałbyś, żeby nasz formularz wysyłał
wiadomości pisane w input na Slacka, to w ten sam sposób możesz
wrócić sobie do Postman, następnie mam to zapytanie do Slacka tutaj.
Postman ma jedną fajną rzecz.
Jeżeli wejdziesz w polecenie code, ten Curl, który skopiowałem ze Slacka możesz
zamienić na dowolny inny język programowania np.
na JavaScript,
tutaj akurat z Jquery, ale chyba na Glitch to też jest,
mógłbyś to skopiować, wkleić do naszego przykładu i wtedy zamienić odpowiednie
rzeczy tak aby to co wpisujemy było wysyłane wiadomością na slacku.
Więc już widzisz jak można stworzyć prostą
aplikację, która komunikuje się z webhook np.
wysyła coś do serwisów do Slacka.
Może rzeczywiście na tej samej zasadzie w naszej aplikacji z pomocą GET odbierać dane
z różnych serwisów takich jak Twitter, Instagram.
Masz myślę, że wszystkie informacje, które są do tego potrzebne,
więc to wszystko na teraz.
Nie będę chciał dodatkowo już tego rozszerzać, bo może zacząć się robić dużo
trudniej, ale uwierz mi, że powinieneś mieć teraz dużo lepsze rozumienie tego,
jak funkcjonuje HTTP i jak funkcjonują API.
Ja już na to nie będę teraz tracił Twojego cennego czasu.
Byłoby to tylko powtarzanie i zamiana danych,
natomiast najważniejsze jest dla mnie to, że powinieneś teraz już dużo lepiej
orientować się na temat tego, jak działa sam protokół HTTP, ale jak w ogóle działa
cały internet, jak wymieniane są dane między aplikacjami tymi nowoczesnymi,
gdzie nie mamy takiego starego schematu typu klient serwer, ale po drodze mamy tą
architekturę API, która właśnie może być obsługiwana przez wiele różnych aplikacji.
Ale też wiesz jak będziemy mogli
komunikować się nawet z klientem z pomocą webhooks.
Ta cała wiedza pozwoliła nam stworzyć
prostą aplikację, która może notyfikować np.
Slacka, czyli
takie pole, w które coś wpiszesz i pojawia się jako wiadomość na Slacku,
ale możesz oczywiście to rozszerzać.
Polecam Ci poeksperymentować z kilkoma
popularnymi API, takimi jak API, Facebooka, Instagrama, YouTuba, zobaczyć
jakie dane możesz stamtąd wyciągnąć i zacząć tworzyć
nawet w Glitch jakieś swoje proste aplikacje.
Gwarantuję Ci, że to jest bardzo ciekawa i przyjemna rzecz.
Ja już w kolejnej lekcji tylko podsumowując chciałbym przypomnieć kilka
najważniejszych pojęć, których nauczyliśmy się tutaj
a więc do usłyszenia już za chwilę.