Devino programator Frontend JavaScript

Cursul Advanced JavaScript Programming

În acest curs se continuă studiul limbajului de programare JavaScript prin intermediul tehnicii sale avansate de utilizare. Cea mai importantă temă a acestui curs este programarea orientată pe obiecte cu ajutorul lui JavaScript. Aceasta presupune analizarea claselor și a obiectelor, dar și utilizarea șabloanelor de proiectare (design patterns) și a altor concepte avansate orientate pe obiecte.

Cursul explică ce este obiectul și cum poate fi tratat prin intermediul aplicației, care sunt părțile pro și contra ale utilizării obiectului și ce beneficii are dezvoltatorul care folosește abordarea bazată pe obiecte. Sunt explicate conceptele fundamentale ale programării orientate pe obiecte prin intermediul răspunsurilor oferite la diferite întrebări. De exemplu: ce este clasa și cum se folosește pentru a crea obiecte, ce este moștenirea și cum se poate realiza în JavaScript?

Pe lângă JavaScript, în curs mai abordăm și TypeScript – un limbaj de programare tipizat strict derivat din JavaScript, dar după standardele actuale, ceea ce este inevitabil în cele mai cunoscute cadre JavaScript (precum Angular sau React). În această secțiune, învățați și elementele caracteristice pentru programarea orientată pe obiecte, dar care nu sunt prezente în JavaScript, precum tipizarea strictă, interfețe etc.

O altă parte a cursului abordează conceptele avansate ale programării orientate pe obiecte. Și anume, șabloanele de proiectare, care sunt un element important în rezolvarea problemelor legate de programarea orientată pe obiecte, precum și în munca de echipă. Se explică conceptul de administrare a evenimentelor și folosire a funcțiilor de callback, precum și conceptul de execuție paralelă și implementarea acesteia în JavaScript.

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

Descrierea și obiectivele cursului Advanced JavaScript Programming

Scopul cursului este pregătirea cursanților pentru a înțelege și folosi JavaScript orientat pe obiecte. După parcurgerea cursului, cursanții vor putea lucra în cadrele care folosesc TypeScript, precum și folosi și învăța alte limbaje orientate pe obiecte.

La fel ca toate cursurile de la LINK Academy, și cursul Advanced JavaScript Programming este împărțit în module pentru a ușura studiul și a familiariza treptat cursanții cu toate abilitățile necesare. La începutul cursului veți avea ocazia să vă familiarizați cu limbajul de programare JavaScript orientat pe obiecte.

Pe durata cursului, profesorii vă vor prezenta elementele programării orientate pe obiecte precum moștenirea, polimorfismul, abstracția… În plus, veți afla ce sunt clasele și membrii lor, precum și cum se face moștenirea cu ajutorul claselor și a prototipurilor. La ultimul curs, cursanții se vor familiariza cu imutabilitatea și programarea funcțională.

Al doilea modul se concentrează pe conceptele programării orientate pe obiecte. Și anume, șabloanele de proiectare, cum funcționează funcțiile de callback și în ce situații se folosește manipularea evenimentelor. Acest modul este foarte important pentru perfecționarea cursanților deoarece programatorii frontend ar trebui să cunoască aceste noțiuni.

Ultimul modul va introduce cursanții în TypeScript. La aceste cursuri veți avea ocazia să aflați cum se creează structurile proiectului TypeScript, dar și cum se execută funcțiile de compilare și de activare a programului TypeScript. A doua parte a acestui modul va aborda noțiuni precum clasa și interfața, iar cursanții vor afla cum pot să includă fișierele în munca lor. În plus, în alte lecții vor fi explicate tipurile de date și modificatorii de acces. La finalul acestui curs, veți învăța cele mai importante abilități practice pentru lucrul în JavaScript, care este un limbaj de programare foarte important în diferite domenii de programare. Aceste cunoștințe, combinate cu alte abilități pe care le veți asimila la alte cursuri, vă vor pregăti pentru o carieră de succes ca programator frontend.

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

Ce este programarea orientată pe obiecte?

Programarea orientată pe obiecte este programarea unde elementele programului sunt reprezentate prin obiecte, iar fluxul programului se realizează prin modificarea stării acestor obiecte sau prin execuția unor operații asupra lor. Această formă de programare a fost introdusă în 1950 și s-a concentrat pe obiectele care conțin stare și comportament. Comparativ cu programarea orientată pe obiecte, este o programare procedurală unde execuția logicii de programare se definește exclusiv pe baza algoritmilor funcționali cu care se realizează fiecare parte a sistemului.

Limbajul de programare C este strict procedural și de aceea în 1979 a fost creat limbajul de programare C++ care este orientat pe obiecte. Semnul ++ este asociat cu incrementarea, respectiv îmbunătățirea limbajului C existent cu clase și cu obiecte. Deși obiectul se află în denumirea programării orientate pe obiecte, respectiv structura tipului, focusul rămâne pe tipurile din care sunt create aceste obiecte, și anume clasele. Clasele reprezintă definiția, adică structura tipului, definesc atributele obiectului și comportamentul fiecărui obiect în funcție de starea sa. Obiectul este doar o instanță a unei clase și de aceea se pot crea mai multe obiecte diferite de același tip cu aceleași valori sau cu valori diferite ale atributelor lor.

Ce sunt șabloanele de proiectare și ce legătură au cu designul grafic?

În programare există moduri diferite de a ajunge la același rezultat. Fiecare mod are și părți bune și rele, așadar în diferite faze este greu de estimat care abordare va aduce cel mai bun rezultat.

În timp, unele soluții au fost acceptate mai bine decât altele și astfel s-au format grupuri de soluții denumite pentru anumite problemele standard, în primul rând, în programarea orientată pe obiecte. Aceste soluții se numesc șabloane de proiectare (design patterns).

Astăzi, de la programatori se așteaptă să recunoască, să denumească și să aplice aceste soluții (șabloane) pentru a funcționa mai bine într-o echipă.

Șabloanele de proiectare din programare nu au nicio legătură cu designul grafic.

Ce este Type Script, este necesar și de ce?

Deși JavaScript este acceptat pe plan larg ca limbaj popular în multe sfere de programare, acesta are și diferențe vizibile în comparație cu alte limbaje. De exemplu, când îl comparăm cu Java, JavaScript nu are un regim de muncă cu tipuri de date așa de strict și nici nu este un model orientat pe obiecte îmbunătățit.

Aceste caracteristici există, în primul rând, pentru a ajunge cu ușurință la rezultat și fără a acorda atenția unor diferite detalii.

Renunțând la rolul afișare a paginilor web, JavaScript a părăsit și sfera în care este important să ajungă la un rezultat rapid și simplu, dar printre caracteristicile aplicațiilor făcute cu ajutorul lui trebuie să se regăsească și extinderea, modularitatea, validarea etc.

Având în vedere că JavaScript nu are capacitatea să urmărească cererile pieței în forma sa naturală, au apărut diferite limbaje „auxiliare” care au caracteristicile căutate și care sunt însoțite de instrumente care le pot compila în JavaScript. TypeScript este unul dintre acestea, și probabil și cel mai popular.

Când scriem un program în limbajul TypeScript, acesta trebuie compilat în JavaScript pentru ca să pornească, ceea ce face ca aproape fiecare program să fie mai stabil și mai sigur în contextul erorilor, iar Type Script să fie util.

Pe de altă parte, trendurile sunt de așa natură încât astfel încât multe produse software să se orienteze pe TypeScript, ceea ce face din acest limbaj un standard industrial și o parte componentă importantă a ansamblului JavaScript.

Advanced JavaScript Programming

Învățând JavaScript voi învăța și Java sau C++?

JavaScript, Java și C++ sunt trei limbaje de programare diferite. Învățarea unuia dintre ele nu implică și cunoașterea automată a celuilalt. Totuși, aceste limbaje împart aceeași sintaxă a limbajului C, ceea ce face ca diferențele dintre ele să fie mai mult de natură semantică decât sintactică, motiv pentru care, după învățarea unui program, celelalte se învață mai ușor. În mare parte, conceptele sunt aceleași, doar modalitățile de realizare diferă.

Trebuie să cunosc JavaScript la nivel avansat pentru a crea aplicații web?

Majoritatea aplicațiilor se pot crea cu ajutorul elementelor JavaScript de bază. Nu trebuie să știți cum funcționează implementările de nivel redus pentru a le folosi. Dacă, de exemplu, vrem să facem ceva când utilizatorul dă clic undeva pe pagină, vom adăuga codul cu care vom studia această situație, fără a analiza cum și de ce s-a ajuns la activarea acestui cod. La fel cum, pentru a conduce o mașină, nu trebuie să știm cu funcționează motorul.

Pe de altă parte, pentru a obține cele mai bune rezultate, trebuie să cunoaștem bine funcționalitățile sistemului pe care îl folosim, așadar în acest sens cunoașterea avansată a lui JavaScript este esențială pentru crearea aplicațiilor web avansate.

Ce sunt clasele, dar obiectele?

Programarea orientată pe obiecte presupune lucrul cu obiecte. Obiectele sunt elementele programului care au propriile stări și propriul comportament. De exemplu, o imagine pe pagină poate fi un obiect. Tasta poate fi un obiect. Cursorul pe care îl mutăm pe ecran poate fi un obiect.

Fiecare obiect are caracteristici care îl definesc. Omul are nume și prenume, mașina poate avea culoare și model, produsul poate avea nume și preț etc.

În programarea orientată pe obiecte locul unde sunt scrise aceste caracteristici se numește clasă. De fiecare dată când vrem să facem un obiect, programul se uită mai întâi la clasă, apoi creează obiectul după regulile definite în clasa respectivă.

JavaScript este un limbaj de programare orientat pe obiecte?

JavaScript este un limbaj orientat pe obiecte. Dar, spre deosebire de alte limbaje de programare orientate pe obiecte, nu trebuie să cunoașteți programarea orientată pe obiecte pentru a lucra cu aceasta. Infrastructura JavaScript orientată pe obiecte completă este izolată și de programator până când acesta vrea să o folosească. Pe de altă parte, când decidem să programăm pe obiecte în JavaScript, posibilitățile sunt nelimitate. Pe lângă modelul orientat pe obiecte încorporat, există și limbaje care îmbogățesc modelul JavaScript orientat pe obiecte (de exemplu, limbajul TypeScript), al cărui cod se compilează ușor în JavaScript. Acesta permite chiar și programatorilor care s-au obișnuit cu programarea orientată pe obiecte tradițională să învețe ușor acest limbaj.

Planul și programa cursului:

1. JavaScript orientat pe obiecte

  • Elementele programării orientate pe obiecte (moștenire, polimorfism, abstracția)
  • Clasele și membrii lor
  • Moștenirea cu ajutorul claselor și a prototipurilor
  • Imutabilitatea și programarea funcțională

2. Conceptele OOP avansate

  • Șabloane de proiectare
  • Funcții de callback
  • Manipularea evenimentelor
  • Lucrul cu firele
  • Promisiuni

3.Introducere în TypeScript

  • Crearea structurii proiectului TypeScript
  • Compilarea și pornirea programului TypeScript
  • Clase, interfețe
  • Activarea fișierelor
  • Tipuri de date și modificatori de acces

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 2019/20 se face aici.

Pentru a afla totul despre înscriere, click aici.