Podle posledního průzkumu Github (Top programovací jazyky v roce 2022) je už několik let Javascript nejpoužívanější programovací jazyk. Dá považovat za nativní jazyk internetu a pokud chcete vytvářet webové stránky nemáte prakticky možnost se mu vyhnout. Kromě toho, že je široce používaný a super všestranný, je to také jazyk, který se mnoho začínajících programátorů rozhodne naučit.
Kolem JS vznikl rozsáhlý ekosystém a velká komunita lidí, která vám pomůže rychle vyřešit různé problémy. Je tedy skvělá a perspektivní volbou pro učení.
Nemá konkurenci
Javascript v průběhu let ještě upevnil svou pozici jako hlavní technologii internetu a Flash, Silverlight, Java Aplety jsou dávnou minulostí. Podle průzkumu používá na klientu 98,8% webových stránek 1.
Nezdá se, že by ho v blízké budoucnosti vystřídalo něco jiného, i když se vyvýjí nové metody transpilace do WASM, pořád je tato technologie ve velké míře nekonkurenceschopná.
Nabízí příležitosti na trhu práce
Webové stránky se staly důležitým prodejním kanálem pro firmy protože velká část ekonomiky se přesunula do online prostředí. To akcelerovalo poptávku po JS programátorech.
Javascript je univerzální a multiplatformní
I mimo webový prohlížeč se Javascript dostává do dalších platforem, mobilů a do IOT zařízení. Nástroje jako Electron nebo React Native umožňují vývojářům vytvářet desktopové a mobilní aplikace. U webového vývoje se používá na straně klienta (frontend), ale i na straně serveru (backend). Hraje roli v mnoha moderních technologiích, jako jsou webové API, serverless architektury, cloudové služby a mnoho dalšího.
Nicméně, s tím, že JS běží na mnoha různých zařízeních přichází i jistá nevýhoda. A to ta, že nikdy nemáte kontrolu nad tím, kde váš kód poběží a to klade větší nároky na ladění, debugování a testování. I tak bývá však méně pracné údržovat jednu codebase v JS, než mnoho projektů napsaných v mnoha různých jazycích pro každou platformu (IOS, Android) či zařízení zvlášť.
Webový vývoj
Historicky JavaScript sloužil k přidávání interaktivity na webové stránky a přesně tohle jeho největší síla. Pokud vás učení JavaScriptu láká kvůli webovému (teď už i mobilnímu) vývoji, je určitě dobrým bonusem, že v tomto jazyce, který byl původně na klientu můžete psát i backend na serveru.
Naštěstí, ve většině moderních prohlížečů už se není potřeba trápit se vzájemnou kompatibilitou, jako tomu bývalo u Internet Exploreru. Většinou stačí do aplikace přidat polyfil či transpilator a je po starostech. U frontend vývoje často začátečníci zápasí s komplikovaným DOM API.
Je vhodný pro začátečníky?
Na první pohled se může JS jevit jako velmi jednoduchý jazyk.
- Má strmou křivku učení
- pro většinu lidí má intuitivní syntaxi, která je docela jednoduchá a podobná jiným známým jazykům, jako je Java, C.
- nemůsíte si dělat starosti se správou paměti (pointery)
- Je velice snadné v něm napsat nejen "Hello world", ale i malé scripty a knihovničky.
K tomu aby člověk napsal funkční program stačí jen prohlížeč a nemusí nikterak složitě nastavovat vývojové prostředí.
Nicméně jsou některé oblasti, které mohou být pro někoho náročnější se naučit. Jednou z takových věcí je typová konverze, proměnné prostředí a dědičnost objektů.
Je pár oblastí, které mohou být v
Co dělá učení možná trochu složitější?
Řada vlastností JS, které na první pohled usnadňují začátek s programováním se po sléze začnou jevit jako problématické. Například tím, že je JS dynamicky typovaný jazyk a tak se při programování nemusíme zdržovat s jejich definováním, nicméně pokud začneme psát větší aplikace, pak začne být situace obtížnější - naštěstí má řešení.
Jazyk je velmi abstraktní, řada věcí se dá napsat více způsoby. Některé lidi být obtížné vidět, se v rámci jednoho jazyka střídá tolik různých paradigmat.
Určitě začátečníkům pomůže dostupnost mnoha zdrojů (včetně tohoto webu), které pomáhají s učením se JavaScriptu, včetně online kurzů, knih a tutoriálů.
Na většinu problémů, existuje mnoho knihoven a frameworků, ze kterých se dají skládat aplikace. To může být pro začátečníky přínosné, protože se mohou soustředit na vývoj samotné aplikace místo na implementaci spodních vrstev.