Narzędzia z którymi pracuję na codzień to post, który cieszył się sporą popularnością na moim starym blogu. Treść została odświeżona i zmodyfikowana tak aby wszystko było aktualne i zgodne ze stanem obecnym.

Narzędzia każdego programisty – GIT

Pisząc o narzędziach nie można w pominąć GITa. Pokuszę się o stwierdzenie, że jest to obecnie najpopularniejszy system kontroli wersji. Na jego bazie powstało wiele różnych serwisów do przechowywania repozytoriów online takich jak chociażby GitHub. Jak wielu ludzi korzysta z tych serwisów można dowiedzieć się ze statystyk za 2018 rok, które zbiera GitHub. Można je znaleźć tutaj. Nie ważne w jakim języku piszesz, jakich narzędzi używasz, z jakich bibliotek korzystasz. Zawsze w pewnym momencie kariery ( a być może nawet przed jej rozpoczęciem ) trafisz na gita i będziesz musiał nauczyć się z niego korzystać. Lepiej dla Ciebie aby było to jak najwcześniej. W internecie znajdziesz bardzo dużo dobrych kursów gita. Osobiście polecam dokumentację, która jest moim zdanie napisana dokładnie i przejrzyście.

narzędzia - git

Edytor – Visual Studio Code

Visual Studio Code to świetny, lekki edytor nie tylko do JavaScriptu. Wiele rzeczy można powiedzieć o Microsofcie ale przy Visual Studio Code odwalił kawał na prawdę dobrej roboty. Edytor jest stabilny, przemyślany i przyjemnie się z niego korzysta. Gdy „wpadł w łapy” społeczności, jego potencjał się jeszcze zwiększył. A to wszystko dzięki setkom jak nie tysiącom różnych wtyczek i motywów, które na każdym kroku ułatwiają nam życie. Na uwagę zasługuje fakt, że jest to całkowicie darmowy edytor. Wersja, którą otrzymujemy zaraz po zainstalowaniu może nie powala, ale gdy zaglądniemy do spisu pluginów to jasne staje się, że jest to kombajn o niezwykłych możliwościach, jeżeli tylko poświęcimy trochę czasu na konfigurację. Taka ciekawostka. VSC jest napisane w JavaScripcie przy wykorzystaniu frameworka ElectronJS, który jest oparty o silnik Chromium. Dlatego też, zjada tyle ramu co Google Chrome co niekoniecznie jest jego zaletą.

visual studio code

Czas na konkrety

Powyższy narzędzia należą do grupy ogólnych czyli wykorzystywanych przez programistów wielu języków i technologii. Czas przejść do tych stricte, które wykorzystuję w codziennej pracy i własnych projektach.

Babel – kompilator do JS-a

Określenie kompilator może być trochę mylące aczkolwiek jego użycie ma swoje uzasadnienie. Babel służy to „tłumaczenia” nowej składni ES6+ na taką, która będzie zrozumiała dla starszych przeglądarek. Od kilku lat standard EcmaScript rozwija się trochę szybciej niż przeglądarki. Dlatego też nie jest możliwe wykorzystywanie funkcji dostępnych w najnowszych wersjach języka na starszych przeglądarkach. Po to właśnie powstał Babel. W odpowiedni sposób przekształca kod, który wykorzystuje nowe featury na taki, który będzie mógł zostać zinterpretowany przez niekoniecznie najnowsze przeglądarki. Więcej o Babelu możesz dowiedzieć się tutaj.

Webpack – bundler

Przez pewien czas nie mogłem się przekonać do Webpacka. Przecież miałem inne narzędzia, które praktycznie robiły dla mnie to samo. No i właśnie nie do końca. Webpack zbiera pliki, które mu wskazujemy, wykonuje na nich pewne działania, jak na przykład „kompiluje” pliki js, zbiera je wszystkie do kupy i zwraca jako jeden, działający plik. Webpack ma też mnóstwo przeróżnych pluginów, które pozwalają mu wykonywać takie zadania jak optymalizacja obrazków, „kompilowanie” styli Sass lub Less, tworzenie własnego serwera testowego i wiele, wiele innych. Webpacka można poznać lepiej z jego oficjalnej dokumentacji. Zachęcam bo to ważne narzędzie w codziennej pracy.

webpack

Gulp / Grunt – task runnery

Mimo, że Webpack może za nas zrobić bardzo dużo rzeczy to jednak do tego nie służy. Z definicji jest tylko, lub aż bundlerem. Gulp i Grunt są natomiast task runnerami. Oznacza to, że wykorzystuje się je aby zaoszczędzić czas na prostych, powtarzalnych czynnościach. Wystarczy napisać task i na przykład nasłuchiwać na zmianę w pliku. Bardzo przydatne narzędzia. O tym, które z tych dwóch wybieram do projektu decyduje tak na prawdę przypadek lub na przykład inni współpracownicy. Dla mnie oba te narzędzia dają taki sam efekt przy takim samym nakładzie pracy więc nie ma znaczenia, który z nich wybiorę. 

narzędzia - gulp grunt

Sass – lepszy CSS

Lubię używać narzędzi, które sprawiają że moja praca jest łatwiejsza. Sass na pewno należy do tej kategorii. Pozwala korzystać z takich pomocy jak zmienne, mixiny czy funkcje w kodzie CSS. Jest to świetna pomoc przy tworzeniu layoutów i opisywaniu wyglądu różnych stron. Polecam nauczyć się chociaż podstaw tego narzędzia. Bardzo ułatwia i przyspiesza pracę. Oficjalna dokumentacja znajduje się tutaj.

narzędzia - sass

Linter – trzeba dbać o kod

Dla każdego programisty najważniejsze powinno być dbanie o to aby jego kod był czysty, czytelny i zrozumiały. Czasem  w natłoku różnych zadań chciałoby się coś zrobić z pozoru prościej lub szybciej, nie koniecznie zwracając uwagę na dobre praktyki. Nie jest to dobra droga. Najlepiej gdy przed takimi błędami strzeże nas coś innego niż my sami. Po to właśnie są lintery. Konfigurujemy je podając zbiór zasad, których zawsze mamy się trzymać. Na przykład w konfiguracji możemy podać, że ciągi znaków będziemy zawsze umieszczać między pojedynczymi apostrofami a nie cudzysłowami. Ja zazwyczaj korzystam z dwóch linterów. EsLint jest chyba najpopularniejszym linterem do JavaScriptu. Obecnie używa się go także do lintowania TypeScriptu.

Eslint

Narzędzia – co pominąłem?

Nie przytaczam tutaj żadnych fameworków ani bibliotek. Uznałem, że to krótkie wyliczenie podstawowych narzędzi i tak już się za bardzo rozrosło. Warto też powiedzieć, że raczej nie będziesz korzystał z wszystkich tych narzędzi od początku swojej pracy. Zacznij od gita. To najważniejsze narzędzie programisty. Później dokładaj kolejne narzędzia tak aby ciągle uczyć się czegoś nowego. To cała tajemnica. Jako programiści musimy uczyć się ciągle nowych rzeczy i stawać się coraz lepsi w tym co robimy.

Podsumowanie

Pokazałem Ci kilka narzędzi z których korzystam w codziennej pracy. Nie jest to jakaś wiedza tajemna aczkolwiek czasem zdarza się, że spotykam ludzi, którzy na przykład nie znają linterów czy nie korzystają z task runnerów. Dlatego postanowiłem, że ten post będzie kolejnym z odnowionych postów. Jeżeli chcesz zerknąć na poprzedni post z renowacji to zapraszam tutaj.

Jak zwykle na zakończenie zapraszam do dyskusji w komentarzach. Może masz jakieś narzędzia, które tutaj pominąłem a może źle opisałem, któreś z nich? Daj znać. Jak zwykle też zapraszam do zapisania się do newslettera dzięki czemu nie ominie Cię żaden post.

Autor

Napisz komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.