JavaScript od podstaw #2 – Ekosystem JavaScript

Zanim zaczniemy cokolwiek robić to warto przyjrzeć się całemu ekosystemowi JavaScript by mieć, choć bardzo ogólne pojęcie, z czym przyjdzie nam pracować.

Kontekst wykonania JavaScript

Zacznijmy od tego, że JavaScript może być obecnie wykonywany w dwóch środowiskach. Pierwszym i starszym z nich jest przeglądarka internetowa, gdzie JS wspomaga HTML i CSS w dostarczaniu miłych wrażeń użytkownikom internetu, drugim jest NodeJS, gdzie nie mamy żadnej grafiki i służy do wykonywania tradycyjnych programów, które do tej pory były domeną Javy, C# czy wielu innych języków.


Materiał video tej częsci cyklu dostępny jest za darmo na kursy.clockworkjava.pl


O ile sam JavaScript jako język nie różni się niczym pomiędzy tymi dwoma kontekstami, to w jednym i drugim ma dostęp do dodatkowych funkcji. Po stronie przeglądarki internetowej mamy możliwość modyfikowania wyglądu strony, czy reagowania na zdarzenia za pomocą Web API. Działając w kontekście NodeJS mamy na przykład dostęp do systemu plików, możemy czytać czy zapisywać dowolne pliki, czego z kontekstu przeglądarki nigdy nie zrobimy. Takich dodatkowych różnic jest wiele, ale to już specyfika pracy w danym środowisku.

Natomiast, ponownie, to jak działa JavaScript, jaką ma składnie i podstawowe funkcje wbudowane jest niezależne od tego, czy wykonuję się na przeglądarce, czy jako program NodeJS.

Narzędzia

Wokół JavaScript, niezależnie od kontekstu wykonania, narosło wiele narzędzi, chciałbym przedstawić je z nazwy i powiedzieć, choć zdanie o każdym by już zadomowiło Ci się w głowie.

npm jest to program, który jest instalowany wraz z NodeJS. Skrót ten rozwija się do Node Package Manager. Służy on głównie do zarządzania zależnościami naszego programu.

Czym jest zależność?

Jeśli chcemy na przykład zaszyfrować kawałek tekstu to, zamiast samemu pisać algorytm szyfrowania to znaczniej łatwiej i szybciej jest załadować kod, który ktoś już napisał do tego celu i go użyć. Ten “obcy” kod to właśnie zależność zwana też biblioteką zewnętrzną.

Visual Studio Code to edytor kodu, czyli program, w którym kod będziemy pisać. Visual Studio Code to tylko jeden z dostępnych na rynku za darmo, ale obecnie najpopularniejszy.

TypeScript jest to nakładka na język JavaScript, która bardzo ułatwia utrzymanie i rozwój średnich i dużych projektów poprzez dodanie statycznego typowania (nie przejmuj się, jeśli nie wiesz co to jest).

Lintery to rodzaj programu, który służy do wytknięcia nam często popełnianych błędów jak na przykład brakujące przecinki, używanie przestarzałych konstrukcji językowych czy złe formatowanie. Takie podstawowe typy błędów, które można łatwo wychwycić “czytając” nasz kod. Proces ten nazywa się statyczną analizą kodu.

Babel to, w dużym uproszczeniu, translator kodu, który potrafi przetłumaczyć na przykład kod z wersji 6 JavaScript na kod w wersji 5 i vice versa.

Frameworki webowe

Pracując z JavaScript po stronie front-endu nieubłaganie trafimy na jakiś z frameworków bądź bibliotek, webowych, dzięki którym pisanie aplikacji webowych będzie o wiele prostsze niż przy korzystaniu z czystego JavaScriptu.

Obecnie najpopularniejsze z nich to React, Vue i Angular.

Dev Tools to narzędzia dla dewelopera dostępne z poziomu przeglądarki internetowej, które bardzo ułatwiają na przykład szukanie błędów w kodzie czy poprawę wydajności naszej strony. Najpopularniejsze to oczywiście Chrome Dev Tools zawarte w przeglądarce Chrome (wciśnij F12, a się otworzą).

Back end

Jeśli chodzi o tworzenie rozwiązań serwerowych w JavaScript to trzeba mieć w głowię już od początku dwa pojęcia, mianowicie baza danych oraz API typu REST.

Na tym etapie jednak jedyne co należy zapamiętać to fakt, że w bazie danych trzymamy dane (kto by sie spodziewał…), tak by przetrwały kolejne uruchomienia programu. Bardzo często NodeJS idze w parze z MongoDB. Jest to prosta baza danych oparta na dokumenty w formacie JSON.

Natomiast API typu REST służy do komunikacji ze światem zewnętrznym. Mogą to być strony internetowe bądź inne programy działające na NodeJS. Biblioteką, którą bardzo często wykorzystuję się do tworzenia takiego kodu jest Express.

O czym będzie w kursie?

W kursie zajmniemy się przede wszystkim podstawową składnią JavaScript, czyli częścią wspólną dla obu przypadków użycia tego języka.

Będziemy odpalać napisane programy w NodeJS, a do ich tworzenia będziemy wykorzystywać Visual Studio Code. Dotkniemy też npma oraz skorzystamy z eslint (jeden z linterów). Jako, że JS jest, mimo wszystko , mocno powiązany ze światem przeglądarek pod koniec kursu zajrzymy i tam.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *