Cursul Advanced JavaScript Programming

Cursul Advanced JavaScript Programming introduce cursanții în lumea programării avansate JavaScript. Acesta abordează diferite tehnici pentru realizarea programării orientate pe obiecte, multithreaded și asincrone. Cursul se ocupă și de utilizarea avansată a funcțiilor în limbajul JavaScript. 

Sunteţi interesat de acest curs? Îl puteţi parcurge în cadrul acestor programe LINK Academy: Frontend JavaScript Development .

Descrierea și obiectivele cursului Advanced JavaScript Programming

Cursul Advanced JavaScript Programming începe prin introducerea cursanților în lumea programării orientate pe obiecte. Obiectele sunt figura centrală în JavaScript, de aceea cunoașterea diferitor tipuri pentru crearea și gestionarea obiectelor este foarte importantă pentru scrierea cu succes a unui cod în limbajul JavaScript. Cursul Advanced JavaScript Programming cuprinde toate abordările relevante și moderne, inclusiv modelele de programare prototip și de clasă. O atenție deosebită se acordă principiilor de bază ale programării orientate pe obiecte, respectiv noțiunilor de abstractizare, încapsulare, moștenire și polimorfism. Exemplele practice ilustrează fiecare dintre abordările menționate.  

Următorul domeniu al programării JavaScript care se abordează în cursul Advanced JavaScript Programming se referă la lucrul cu funcțiile. În limbajul JavaScript, funcțiile sunt elemente de ordinul întâi. Practic, asta înseamnă că acestea pot fi gestionate ca și cum ar fi vorba de oricare alte obiecte. Cursul Advanced JavaScript Programming le prezintă participanților numeroase tipuri de funcții – anonime, autoinvocate, Arrow, Higher-Order, imbricate… Pe lângă aceste tipuri diferite de funcții, cursul Advanced JavaScript Programming abordează și un concept foarte important  – Closure. Closure este baza pentru realizarea numeroaselor comportamente avansate în limbajul JavaScript, așadar acest concept este abordat cu mare atenție la curs. 

Al treilea modul din cursul Advanced JavaScript Programming abordează programarea multithreaded și asincronă. Este vorba despre conceptele care permit executarea mai multor activități simultan. Programarea multithreaded se abordează cunoscând plecările de la o interfață de programare aplicativă specială  – Web Workers API. Pe de altă parte, conceptul de programare asincronă în JavaScript, de fapt, reprezintă un set de diferite tehnologii abordate în acest curs. Astfel, participanții vor învăța ce sunt funcțiile timing și callback, cuvintele cheie Promise, async și await. 

Scopul cursului este de a pregăti participanții să utilizeze funcționalitățile avansate de limbaj JavaScript, mai ales prototipurile, funcțiile anonime, autoinvocate, Arrow și Higher-Order, dar și principii de moștenire, polimorfism, programare multithreaded și asincronă. 

Cursul Advanced JavaScript Programming vă va răspunde la întrebări de genul:

Ce sunt obiectele?

Obiectul este figura centrală a limbajului JavaScript. Funcțiile, șirurile, dar și toate interfețele de programare aplicative ale browserelor web, sunt doar câteva din elementele care sunt, de fapt, obiecte în limbajul JavaScript. De aceea, JavaScript este un limbaj orientat pe obiecte, respectiv un limbaj bazat pe obiecte. 

Programarea orientată pe obiecte gestionează un set de obiecte care colaborează reciproc. În loc de funcții și proceduri, care sunt doar o simplă listă de comenzi, programarea orientată pe obiecte îi permite obiectului să integreze în cadrul său obiecte și operații și să preia o figură centrală ca unitate, care poate primi mesaje, poate prelucra date și poate emite valori. 

Programarea orientată pe obiecte este unul dintre cele mai populare stiluri de programare din prezent, de aceea la cursul Advanced JavaScript Programming i se acordă o atenție deosebită acestui concept. Cursanții vor avea ocazia de a învăța diferite moduri de a crea obiecte, caracteristicile lor avansate și modalitățile de utilizare ale acestora.

Ce sunt prototipurile?

Pe lângă caracteristica de limbaj orientat pe obiecte, JavaScript este caracterizat și de epitetul unui limbaj bazat pe prototip. Este vorba despre un element de limbaj special, care permite crearea șablonului, respectiv a prototipurilor, a căror caracteristici pot fi moștenite de alte obiecte. De aceea, conceptul de prototipuri în limbajul JavaScript este foarte important pentru realizarea unuia dintre cele mai importante principii ale programării orientate pe obiecte – moștenirea.  

La cursul Advanced JavaScript Programming se abordează în detaliu conceptul de prototipuri. Sunt ilustrate caracteristicile acestor obiecte JavaScript speciale, precum și modalitățile în care pot fi accesate. De asemenea, cursul ilustrează și diferite tehnici pentru crearea obiectelor prototip noi și modificarea celor existente. La final, cunoscând conceptul de lanț de prototipuri, cursanții se vor putea familiariza cu principii avansate pe baza cărora se formează moștenirea caracteristicilor dintre obiectele JavaScript.

Ce sunt clasele?

JavaScript este un limbaj orientat pe obiecte, bazat pe prototipuri. Practic, acest lucru înseamnă că figurile centrale ale limbajului JavaScript sunt obiecte, în timp ce prototipurile sunt folosite pentru a realiza moștenirea și polimorfismul. Astfel, până în iunie 2015, principalul mod de a crea șabloane de obiect a fost crearea de funcții de design, în timp ce moștenirea se făcea cu ajutorul prototipurilor. Totuși, odată cu apariția versiunii ECMAScript 2015 (ES6), JavaScript a fost îmbogățit cu o mulțime de elemente noi, printre care se află și clasele.

Clasele sunt șabloane pentru construirea obiectelor. În cadrul acestora, sunt unite caracteristicile și comportamentele de bază pe care le vor avea toate obiectele create folosind o clasă concretă. În JavaScript, clasele facilitează crearea șabloanelor de obiecte și scapă programatorii de nevoia de a gestiona direct funcțiile de design și prototipurile. La cursul Advanced JavaScript Programming, participanții vor avea ocazia să învețe toate abordările relevante pentru crearea și utilizarea claselor JavaScript.

Advanced JavaScript Programming

Ce sunt funcțiile anonime și Arrow?

JavaScript este unul dintre limbajele de programare despre care se spune că are funcții de ordinul întâi. Practic, acest lucru înseamnă că este vorba de un limbaj în care funcțiile sunt unul dintre cele mai importante elemente lingvistice. Prin urmare, JavaScript vă permite crearea funcțiilor în diferite forme, care îndeplinesc diferite scenarii de scriere a codului de program. Unele dintre formele speciale ale funcțiilor JavaScript sunt atât funcții anonime, cât și funcții Arrow.

Funcțiile anonime sunt funcții care nu au un nume. Sunt foarte importante pentru limbajul JavaScript în sine, deoarece sunt folosite pentru realizarea numeroaselor comportamente avansate. De aceea, cursul Advanced JavaScript Programming abordează acest concept în detaliu.

Odată cu prezentarea specificației ECMAScript 2015, un alt tip de funcție a fost inclus în funcțiile JavaScript – Arrow. De fapt, este vorba de o sintaxă complet nouă, mult mai compactă pentru crearea funcțiilor anonime. Crearea și utilizarea funcțiilor Arrow sunt ilustrate în detaliu în cursul Advanced JavaScript Programming.

Ce este Closure?

Closure este o caracteristică foarte importantă a limbajului JavaScript și o temă foarte comună a interviurilor pentru programatorii front-end. De fapt, majoritatea limbajelor de programare care, la fel ca JavaScript, au funcții de ordinul întâi, sunt familiarizate cu conceptul de Closure. 

Conceptul Closure este în strânsă legătură cu câteva caracteristici ale limbajului în sine, care sunt abordate la cursul Advanced JavaScript Programming. Astfel, cursul Advanced JavaScript Programming oferă răspunsuri la această întrebare foarte importantă – ce este Closure și care este utilizarea sa reală în JavaScript? Pe lângă o înțelegere teoretică a conceptului Closure, în cursul Advanced JavaScript Programming este utilizat pentru a realiza mai multe exemple reale pe care le puteți întâlni în munca de zi cu zi ca programator front-end.

Ce este programarea multithreaded, dar asincronă?

JavaScript este un limbaj care oferă un singur model de execuție asincron. Această propoziție aduce numeroase concepte necunoscute pentru unii dintre cursanți. Pentru a înțelege corect ceea ce s-a spus, mai întâi trebuie să înțelegem modelul de bază de execuție a codului în JavaScript, precum și conceptele de procese și fire. Toți acești termeni sunt abordați în cursul Advanced JavaScript Programming, în modulul despre programarea multithreaded și asincronă.

Conceptul de programare multithreaded din curs este ilustrat prin utilizarea unei interfețe speciale de programare a aplicațiilor - Web Workers API. Conceptul de execuție asincronă este ilustrat prin numeroase exemple și prin utilizarea diferitelor abordări puse la dispoziție de browserele web. La cursul Advanced JavaScript Programming, participanții vor putea învăța cum să creeze o logică a cărei finalizare nu trebuie așteptată în mod explicit, ceea ce le va permite, în cele din urmă, să dezvolte aplicații web optimizate de înaltă performanță.

Ce sunt Promise?

Promise este un termen relativ nou în limbajul JavaScript. Au fost introduse odată cu apariția specificației ES6 și, de-a lungul timpului, au devenit standard în lumea gestionării operațiilor asincrone. Acesta este rolul de bază Promise – ușurează programarea asincronă în JavaScript și o fac mai logică.

Cunoașterea Promise este esențială pentru jobul de programator front-end. De fapt, un număr mare de noi API-uri web folosesc Promise. De aceea, cursul Advanced JavaScript Programming acordă o atenție deosebită conceptului de Promise. Participanții vor avea ocazia să se familiarizeze cu această funcționalitate puternică a limbii pe exemple reale. Astfel, cursanții vor putea utiliza cu succes un număr mare de seturi moderne de funcționalități pe care browserele web le expun codului pe care îl scriem. În cele din urmă, cursul Advanced JavaScript Programming merge un pas mai departe, ilustrând și abordarea de ultimă generație pentru manipularea ușoară a lui Promise - funcții async și comanda await.

Planul și programa cursului

Modulul 1: JavaScript orientat pe obiecte 

  • Obiecte
  • Prototipuri
  • Clase

Modulul 2: Lucrul cu funcții

  • Funcții
  • Funcții anonime și Arrow
  • Funcții în funcții și Closure

Modulul 3: Programare multithreaded și asincronă

  • Fire
  • Funcții Timing și Callback
  • Promise
  • Utilizarea avansată Promise
  • Async și await

Advanced JavaScript Programming

3 moduri de a obține un job bine plătit

Am pregătit un document în care puteţi descoperi trei moduri de a obţine un job bine plătit pentru profesioniştii care lucrează pe calculator. Descărcați raportul aici

Înscrierea pentru generaţia 2022/23 se face aici.

imagine de înscrierePentru a afla totul despre înscriere, click aici.