Advanced JavaScript Programming kurs

Kurs Advanced JavaScript Programming uvodi polaznike u svet naprednog JavaScript programiranja. Tako se tokom kursa obrađuju različite tehnike za postizanje objektno orijentisanog, višenitnog i asinhronog programiranja. Kurs se bavi i naprednim korišćenjem funkcija u jeziku JavaScript.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Frontend JavaScript Program.

Opis i ciljevi Advanced JavaScript Programming kursa

Kurs Advanced JavaScript Programming započinje uvođenjem polaznika u svet objektno orijentisanog programiranja. Objekti su centralna figura JavaScripta, stoga je poznavanje različitih pristupa za kreiranje i rukovanje objektima od presudne važnosti za uspešno pisanje koda jezika JavaScript. Kurs Advanced JavaScript Programming pokriva sve relevantne i moderne pristupe, uključujući prototipski i klasni model programiranja. Posebna pažnja se pridaje osnovnim principima objektno orijentisanog programiranja, odnosno pojmovima apstrakcije, enkapsulacije, nasleđivanja i polimorfizma. Na praktičnim primerima ilustruje se svaki od navedenih pristupa.

Naredna oblast naprednog JavaScript programiranja koja se obrađuje u kursu Advanced JavaScript Programming tiče se rada sa funkcijama. Funkcije su u jeziku JavaScript elementi prvog reda. To praktično znači da je njima moguće rukovati kao da su u pitanju bilo koji drugi objekti. Kurs Advanced JavaScript Programming polaznicima predstavlja brojne tipove funkcija – anonimne, samopozivajuće, Arrow, Higher-Order, ugnežđene... Pored takvih različitih tipova funkcija, kurs Advanced JavaScript Programming obrađuje i jedan veoma značajan pojam – Closure. Closure je osnova za realizaciju brojnih naprednih ponašanja u jeziku JavaScript, stoga je takvom pojmu u kursu posvećena posebna pažnja.

Treća celina kursa Advanced JavaScript Programming posvećena je višenitnom i asinhronom programiranju. Reč je o pojmovima koji omogućavaju postizanje izvršavanja većeg broja poslova tokom istog vremenskog perioda. Višenitno programiranje se obrađuje upoznavanjem polazaka sa jednim posebnim aplikativnim programskim interfejsom – Web Workers API-jem. Sa druge strane, pod pojmom asinhronog programiranja u JavaScriptu zapravo se krije skup različitih tehnologija koje se obrađuju u ovom kursu. Tako će polaznici naučiti šta su to tajming i callback funkcije, Promisei i async i await ključne reči.

Cilj kursa jeste osposobljavanje polaznika za korišćenje naprednih funkcionalnosti jezika JavaScript, pre svih prototipova, anonimnih, samopozivajućih, Arrow i Higher-Order funkcija, ali i principa nasleđivanja, polimorfizma, višenitnog i asinhronog programiranja.

Kurs Advanced JavaScript Programming će vam odgovoriti na pitanja:

1. Šta su objekti?

Objekat je centralna figura JavaScript jezika. Funkcije, nizovi, ali i svi aplikativni programski interfejsi web pregledača, samo su neki od elemenata koji su u jeziku JavaScript zapravo objekti. Zbog toga je JavaScript objektno orijentisan jezik, odnosno jezik koji je baziran na objektima.

Objektno orijentisanim programiranjem rukuje se skupom objekata koji međusobno sarađuju. Umesto funkcija ili procedura, koje su ništa drugo do jednostavne liste naredbi, objektno orijentisano programiranje omogućava objektu da unutar sebe objedini podatke i operacije i da preuzme centralnu figuru kao nezavisna celina koja može da prima poruke, obrađuje podatke i emituje vrednosti.

Objektno orijentisano programiranje jedan je od najpopularnijih stilova programiranja današnjice, stoga je u kursu Advanced JavaScript Programming posebna pažnja posvećena ovom pojmu. Polaznici će imati prilike da nauče različite načine za kreiranje objekata, njihove napredne osobine i načine korišćenja.

2. Šta su prototipovi?

Pored odrednice objektno orijentisanog, JavaScript krasi i epitet prototipski baziranog jezika. Reč je o specijalnom elementu jezika, koji omogućava kreiranje šablona, odnosno prototipova, čije osobine mogu da nasleđuju neki drugi objekti. Stoga je pojam prototipova u jeziku JavaScript veoma značajan za realizaciju jednog od najznačajnijih postulata objektno orijentisanog programiranja – nasleđivanja.

U kursu Advanced JavaScript Programming detaljno se obrađuje pojam prototipova. Ilustruju se osobine takvih specijalnih JavaScript objekata, kao i načini na koje je moguće njima pristupiti. Takođe, kurs ilustruje i različite tehnike za kreiranje novih i modifikaciju postojećih prototipskih objekata. Na kraju, upoznavanjem pojma lanca prototipova, polaznici će moći da se upoznaju sa naprednim postulatima na čijim osnovama se zasniva nasleđivanje osobina između JavaScript objekata.

3. Šta su klase?

JavaScript je objektno orijentisan jezik, baziran na prototipovima. To praktično znači da su centralne figure JavaScript jezika objekti, dok se prototipovi koriste za realizaciju nasleđivanja i polimorfizma. Tako je sve do juna 2015. godine osnovni način za kreiranje objektnih šablona podrazumevao kreiranje konstruktorskih funkcija, dok se nasleđivanje obavljalo upotrebom prototipova. Ipak, sa pojavom verzije ECMAScript 2015 (ES6), JavaScript je obogaćen brojnim novim elementima, među kojima su i klase.

Klase predstavljaju šablone za izgradnju objekata. Unutar njih se objedinjuju osnovne karakteristike i ponašanja koja će imati svi objekti koji se kreiraju korišćenjem konkretne klase. Klase su u JavaScriptu olakšica za kreiranje šablona objekata i programere oslobađaju potrebe za direktnim rukovanjem konstruktorskim funkcijama i prototipovima. Tokom kursa Advanced JavaScript Programming polaznici će imati priliku da se upoznaju sa svim relevantnim pristupima za kreiranje i korišćenje klasa u jeziku JavaScript.

Polaznici kursa Advanced JavaScript Programming

4. Šta su anonimne i Arrow funkcije?

JavaScript je jedan od programskih jezika za koje se kaže da poseduju funkcije prvog reda. To praktično znači da je reč o jeziku kod koga su funkcije jedan od najznačajnijih jezičkih elemenata. Stoga, JavaScript omogućava kreiranje funkcija u raznim oblicima, koji zadovoljavaju različite scenarije pisanja programskog koda. Neki od specijalnih oblika funkcija u jeziku JavaScript su i anonimne i Arrow funkcije.

Anonimne funkcije su funkcije koje nemaju ime. One su veoma značajne za sam jezik JavaScript, jer se koriste za realizaciju brojnih naprednih ponašanja. Stoga se u kursu Advanced JavaScript Programming detaljno obrađuje ovaj pojam.

Sa predstavljanjem specifikacije ECMAScript 2015, u JavaScript je uvršćena još jedna vrsta funkcija – Arrow funkcije. Reč je zapravo o potpuno novoj, znatno kompaktnijoj sintaksi za kreiranje anonimnih funkcija. Kreiranje i korišćenje Arrow funkcija detaljno je ilustrovano u kursu Advanced JavaScript Programming.

5. Šta je Closure?

Closure je veoma značajna osobina jezika JavaScript i veoma česta tema intervjua za posao frontend programera. Zapravo, većina programskih jezika koji kao i JavaScript poseduju funkcije prvog reda poznaje i pojam Closurea.

Pojam Closure u uskoj je vezi sa nekoliko osobina samog jezika, koje se obrađuju tokom kursa Advanced JavaScript Programming. Stoga, kurs Advanced JavaScript Programming daje odgovore na ovo veoma značajno pitanje – šta je Closure i koja je njegova realna upotreba u jeziku JavaScript? Pored teoretskog razumevanja pojma Closurea, u kursu Advanced JavaScript Programming on se koristi za realizaciju nekoliko realnih primera sa kojima se možete susresti u svakodnevnom bavljenju poslom frontend programera. 

6. Šta je višenitno, a šta asinhrono programiranje?

JavaScript je jezik koji obezbeđuje jednonitni, asinhroni model izvršavanja. Ovakva rečenica donosi brojne nepoznate pojmove za one koji se u prošlosti sa njima nisu susretali. Kako bi se na pravi način razumelo ono što je rečeno, neophodno je prethodno razumeti osnovni model izvršavanja koda u JavaScriptu, kao i pojmove procesa i niti. Sve su to pojmovi koji se obrađuju tokom kursa Advanced JavaScript Programming, u poglavlju o višenitnom i asinhronom programiranju.

Pojam višenitnog programiranja u kursu se ilustruje upotrebom jednog posebnog aplikativnog programskog interfejsa – Web Workers API-ja. Pojam asinhronog izvršavanja ilustruje se na brojnim primerima i korišćenjem različitih pristupa koje na raspolaganje stavljaju web pregledači. Tako će tokom trajanja kursa Advanced JavaScript Programming polaznici moći da nauče kako da kreiraju logiku na čiji završetak se ne mora eksplicitno čekati, što će im na kraju omogućiti da razvijaju optimizovane web aplikacije visokih performansi.

7. Šta su Promisei?

Promisei su relativno nov pojam u jeziku JavaScript. Uvedeni su sa pojavom ES6 specifikacije, a vremenom postaju standard u svetu rukovanja asinhronim operacijama. To je i osnovna uloga Promisea – oni olakšavaju asinhrono programiranje u JavaScriptu i čine ga logičnijim.

Poznavanje Promisea od presudne je važnosti za bavljenje poslom frontend programera. Naime, veliki broj novih Web API-ja koristi upravo Promise. Stoga je u kursu Advanced JavaScript Programming posebna pažnja posvećena pojmu Promisea. Polaznici će na realnim primerima imati mogućnost da se upoznaju sa ovom moćnom funkcionalnošću jezika. Na taj način će polaznici biti u mogućnosti da uspešno koriste veliki broj modernih skupova funkcionalnosti koje web pregledači izlažu kodu koji mi pišemo. Za kraj, kurs Advanced JavaScript Programming odlazi i korak dalje, pa tako ilustruje i najmoderniji pristup za olakšano rukovanje Promiseima – async funkcije i await naredbu. 

Plan i program predavanja:

Modul 1: Objektno orijentisani JavaScript

  • Objekti
  • Prototipovi
  • Klase

Modul 2: Rad sa funkcijama

  • Funkcije
  • Anonimne i Arrow funkcije
  • Funkcije unutar funkcija i Closure

Modul 3: Višenitno i asinhrono programiranje

  • Niti
  • Tajming i Callback funkcije
  • Promise
  • Napredno korišćenje Promisea
  • Async i await

Advanced JavaScript Programming

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok 2024/25. je u toku.

Da saznate sve o upisu, kliknite ovde.

Prijavite se