Przejdź do głównej zawartości

17 darmowych kursów JavaScript

Jak nauczyć się JavaScriptu? Poznasz zaraz kilka fajnych opcji na zrobienie tego całkowicie za darmo!


Javascript, ECMAScript, 5, 6... WTF?

Zanim jednak zacznijmy trochę informacji o JavaScripcie. Dla laika sprawa wydaje się prosta. Jest jeden JavaScript i wszyscy w nim programują od 1995 roku, gdy Brendan Eich wymyślił go i napisał w tydzień. Nic bardziej mylnego! JavaScript rozwija się od tego czasu bardzo dynamicznie, a tylko dzięki wstecznej zgodności nie słyszymy o tym, że coś działało, a teraz nie działa.

Kolejne wersje są adoptowane przez producentów przeglądarek. Od niedawna wersje są numerowane rokiem, w którym powstały. A sam standard języka jest nazwany ECMAScript. Dlatego jeśli ktoś mówi o ECMAscripcie mówi o Javascripcie i vice versa.

Dla przykładu wersja 5 jest obsługiwana przez szeroki zakres przeglądarek od tych starych do najnowszych. No oprócz IE 9, który nie obsługuje use strict.

Wersja 6 (2015) jest obsługiwana szeroko przez wszystkie nowoczesne przeglądarki od 2017 roku. (Nowoczesne = Wszystkie oprócz IE). Wsparcie zaczęło się pojawiać w niektórych przeglądarkach od 2016 roku.

Z kolei wersja 2016 jest już też w miarę dobrze obsługiwana w nowych przeglądarkach. Dokładne informacje znajdziecie tutaj.

Więc w której wersji programować? Jak żyć? Otóż jeśli chcesz mieć szerokie wsparcie w przeglądarkach to piszesz w wersji 5 (z 2009 roku!, IE wrrr)....

A czy można pisać w nowszych wersjach zapewniając szerokie wsparcie przeglądarek? Nawet takich bardzo starych jak sprzed 4 lat? Owszem. Tutaj z pomocą przychodzą transpilery, shimy. Czyli narzędzia, które tłumaczą kod napisany w wersji np. 6 do wersji 5 dla przeglądarek, które nie są na czasie. Z kolei shimy to "zaślepki" w kodzie JS (5), które uzupełniają niejako lukę, która powstaje przez brak odpowiednich funkcji w wersji 5.

Jak widać są możliwości. Ale najważniejsze to pamiętać, że jak piszesz coś co idzie bezpośrednio w przeglądarce, to piszesz w wersji, która jest wspierana przez przeglądarki, które są dla Ciebie ważne, a jeśli używasz transpilerów itd. to możesz pisać w 6, 2016, 2017 itd.

Co dają nowe wersje? Za przykład weźmy wersję 6. Niektórzy programiści chwalą sobie wprowadzenie let i const, wartości domyślnych parametrów, więcej funkcji na tablicach jak array.find czy array.findIndex() . Przydatne jest na przykład sprawdzenie czy zmienna jest liczbą "isInteger" albo isFinite. Jednak najważniejsza potęga wersji 6 JavaScriptu to: a) funkcje strzałkowe. Zobacz ten zapis:

// ES5 var x = function(x, y) {
   return x * y;
}

// ES6 const x = (x, y) => x * y;

Nie znajdziesz jednego programisty, który nie powie, że to nie jest piękne.

b) Proxy i refleksja. Bardzo proste w użyciu nowości, które jednak dają dużo większą swobodę programowania. Coś, co jest znane z innych języków (np. prawie wszystkich oprócz Pascala). Żadna fizyka nuklearna to nie jest. Ale...

Pożytki z 6 są i naprawdę jest to coś. Przy czym, ważna sprawa jest taka. Możesz spokojnie nauczyć się JavaScriptu "normalnego" tj. ES 5, po czym douczyć się o paru funkcjach i doczytać trochę bardziej o arrow functions, refleksji i proxy. To są bardzo mocne ficzery, ale to nie jest coś, co wymaga więcej niż kilka stron objaśnienia. Nie wywraca to tego co się nauczysz wcześniej do góry nogami.

Jeśli chodzi o rynek pracy to pracodawcy szukają zarówno zwykłych JSowców jak i specjalistów w danej wersji. Czasem można zobaczyć w ogłoszeniu, że "szukamy ES 6". Wtedy na rozmowie kwalifikacyjnej będą Cię pytać co to jest let, const i arrow function, proxy, refleksja. Wydaje się skomplikowane, to to taka prościzna, że naprawdę nie wymaga dużo czasu na zrozumienie i używanie. Z jakichś powodów to jest kluczowe w rozmowach czasem, dlatego o tym wspominam. Niektórzy rekruterzy wręcz uważają, że jak nie znasz np. ES 6 to koniec. A to dosyć śmieszne, bo to żadna przeszkoda. Jak znasz już ES 5, to nauka ES6 to pestka. I analogicznie dla następnych wersji.

Darmowe kursy Javascript po angielsku

Dobra, ale już się rozwiodłem nad tymi wersjami, a przyszedłeś tu, by dowiedzieć się, skąd nauczyć się tego Java...ECMA...Ecma...Scriptu. No więc podaję zasoby:

Tutoriale tekstowe JavaScriptu:
  1. W3Schools 
JavaScript is the programming language of HTML and the Web.
JavaScript is easy to learn.
This tutorial will teach you JavaScript from basic to advanced.
  1. Javascript.info 
How it's done now. From the basics to advanced topics with simple, but detailed explanations.
  1. Tutorials Point 
JavaScript is a lightweight, interpreted programming language. It is designed for creating network-centric applications. It is complimentary to and integrated with Java. JavaScript is very easy to implement because it is integrated with HTML. It is open and cross-platform.
  1. JavaTPoint 
Our JavaScript Tutorial is designed for beginners and professionals both. JavaScript is used to create client-side dynamic pages. 
  1. HTML Dog - Javascript
While, generally speaking, HTML is for content and CSS is for presentation, JavaScript is for interactivity.
  1. Mozilla Javascript 
The JavaScript Guide shows you how to use JavaScript and gives an overview of the language. If you need exhaustive information about a language feature, have a look at the JavaScript reference.
  1. Echo echo 
JavaScript is a scripting language that will allow you to add real programming to your webpages.
  1. Crockford 
This is a work in progress. The goal of this project is to produce a complete encyclopedia for the current language and any future versions that might appear. The encyclopedia will be developed in Cyc, a simple language that was inspired by Brian Reid's Scribe. Cyc is described in the preface.
  1. JavaScript is sexy
This study guide, which I also refer to as a course outline and a road map, gives you a structured and instructive outline for learning JavaScript properly.
  1. YDKJS (dzieki TheBestThing)
This is a series of books diving deep into the core mechanisms of the JavaScript language. The first edition of the series is now complete.
Kursy interaktywne Javascriptu:
  1. Learn.js 
  2. Javascript.com
  3. JavaScript30 (challange, dzięki Mateusz)
 Darmowe ebooki o Javascripcie:
  1. Eloquent Javascript  
  2. Javascript na Wikibooks
  3. Speaking Javascript
 Darmowe kursy wideo z JavaScriptu:
  1. Learn JavaScript 
  2. Nauka JS z Awais Mirza 
  3. JavaScript z Josephem  
Także te zasoby mogę spokojnie polecić. Jest ich razem 17 plus 2 bonusowe. Całkowicie za darmo.

Materiały w języku polskim
 
Oprócz darmowych kursów warto też zapoznać się z płatnymi ebookami, książkami i kursami wideo w języku polskim. Wybrałem dla Ciebie te, które mogę osobiście polecić:

Ebooki / książki 



https://quim.pl/progra-efg

Jeżeli chcesz poznać możliwości JavaScriptu oraz w pełni wykorzystać jego potencjał, trafiłeś na doskonałą książkę. Należy ona do cenionej serii „Rusz głową” i opisuje wszystkie aspekty programowania w tym języku. Sięgnij po nią i poznaj język JavaScript od podstaw. Każda kolejna strona to spora dawka wiedzy podanej w przystępny sposób. Pomoże Ci poznać składnię języka, jego podstawowe elementy i konstrukcje. W momencie, kiedy opanujesz podstawy, przejdziesz do bardziej zaawansowanych tematów — programowania obiektowego, manipulowania drzewem DOM, obsługi zdarzeń oraz korzystania z funkcji anonimowych i domknięć. Książka ta jest doskonałą lekturą dla wszystkich osób chcących biegle władać językiem JavaScript!


https://helion.pl/view/3425Y/40/htcdk7_ebook.html
Dzięki tej książce nauczysz się pisać poprawne, sprawnie działające strony WWW. Znajdziesz tu dwadzieścia pięć lekcji — każda zajmie Ci około godziny. W jednym miejscu zebrano i uporządkowano wszystkie informacje niezbędne do budowania witryn internetowych. Nie tylko pokazano tu, jak tworzyć świetne witryny internetowe, ale również zawarto wskazówki, jak zachęcić użytkowników do ich odwiedzania. Poszczególne zagadnienia zaprezentowano w przejrzysty sposób. Aby ułatwić Czytelnikowi przyswajanie materiału, w książce zamieszczono pytania sprawdzające, ćwiczenia i quizy.

Kursy wideo
https://quim.pl/javasc-wxy

Nasze szkolenie w kompleksowy sposób przygotuje Cię do pracy z bibliotekami i frameworkami JavaScriptu, które zostały przygotowane z myślą o programowaniu funkcyjnym. Zaczniemy od ECMAScriptu — poznasz nowości, które występują w jego szóstej odsłonie. Następnie przećwiczymy operowanie na danych, wykorzystując do tego celu metody tablicowe, takie jak map, filter czy reduce. Dowiesz się, jak za pomocą operacji compose i pipe curry łączyć czyste funkcje w bardziej złożone konstrukcje. Opanujesz metodę implementacji funktorów i monad w JavaScripcie. Uzbrojony w nowe umiejętności dotyczące programowania funkcyjnego, poznasz podstawowe techniki i narzędzia programowania reaktywnego. Na deser zastosujesz ten rodzaj programowania do stworzenia projektu bazującego na wiedzy, którą zdobyłeś w trakcie kursu.

https://quim.pl/javasc-678

JavaScript. Kurs video. Poziom pierwszy. Programowanie interaktywnych stron internetowych pozwoli Ci opanować język JavaScript na poziomie podstawowym, a nawet średnio zaawansowanym. Naukę zaczniesz od osadzenia kodu na stronie, opanowania sposobu kodowania i składni języka. Następnie poznasz narzędzia: stałe, zmienne, operatory, funkcje i tablice. Przyswoisz w zarysie projektowanie obiektowe oraz zasady dynamicznego tworzenia stron. Ponadto przyjrzysz się wybranym obiektom modelu DOM.

Jeśli lubisz ten wpis i chcesz podobne, polub go, udostępnij, poleć znajomym itd. Dzięki!



Komentarze

Popularne posty z tego bloga

10 sposobów, żeby zarazić dziecko programowaniem

Każdy rodzic troszczy się o swoje dzieci i chce dla nich jak najlepiej. A ponieważ często rodzice sami odnieśli mniejszy lub większy sukces w życiu zawodowym i prywatnym, chcą aby ich dzieci robiły mniej więcej to samo. Ponieważ to droga do sukcesu. Tak chcą lekarze, prawnicy, a nawet politycy. Jednak w tym wpisie nie o nich, ani o wyborach, które miały miejsce. Ale o tym, jak nauczyć dziecko programowania. Aby miało w przyszłości fajny zawód i frajdę. Zresztą programowanie nie musi być w przyszłości zawodem potomka. Może być też ciekawym hobby. A skoro jeden z rodziców, ojciec lub matka jest programistą, to cóż zostaje innego, niż przekazać też jakiegoś bakcyla i mieć wspólny temat do rozmów z bombelkiem? Gdy byłem młody dla mnie taką metodą wprowadzenia w programowanie był Turtle. Żółwik. Był to prosty program, jeszcze chodził chyba na Dosie albo na jakiejś wczesnej wersji Windowsa. Korzystałem z niego w sali informatycznej w szkole, ponieważ w domu nikt wtedy nie miał komputera. W

15 darmowych kursów dla programistów o Dockerze

1. Docker Curriculum   Bardzo fajny przewodnik po Dockerze. Minusem jest to, że jest po angielsku, ale jak bardzo mi pomógł. Stworzony przez Prakhara Srivastava. Od tego powinno się zacząć. Fajne są też działy poświęcone uruchomieniu Dockera na AWS od Amazona. 2. Dokumentacja Dockera Bardzo dobrze napisana dokumentacja poświęcona instalacji Dockera, oraz jego konfiguracji. Również dobra jeśli chcesz poznać koncepcję stojącą za Dockerem. Jak czegoś nie wiem, to szukam właśnie tam najpierw. 3. Docker Hello World Dobre przykłady, proste do rozpoczęcia programowania z Dockerem. Artykuł jest przystępnie napisany i można w kilkanaście minut uzyskać pierwsze efekty. 4. Video Tutoriale o Dockerze Jeśli lubisz uczyć się z video tutoriali polecam serię kursów wideo za darmo od Marka. Świetnie objaśnił zasady działania Dockera i jego możliwości. To są najważniejsze źródła wiedzy o Dockerze w sieci. Oprócz tego jeszcze warto zajrzeć tutaj: 5.  https://likegee