Angularjs vs Angular2 | mis vahet on?

NurgaJS

Tagantjärele vaadates oli võimalus luua puhta JavaScripti API abil väga arenenud veebirakendusi, kuid esialgset koodbaasi säilitada ja seda kõike testida oli tõesti keeruline. Ja siis 2010. aastal tutvustati AngularJS JavaScripti MVW raamistikuna. Sellel olid puu suured eelised, mis panid inimesed seda armastama:

  • Koodi tootmine oli võrreldamatult kiire
  • Iga rakendus oli hõlpsasti kontrollitav
  • Google oli projekti taga

On ka muid asju, mis muudavad Nurga programmeerijate jaoks nii heaks. Esimene on kahesuunaline andmete sidumine. Nurk võimaldab teil näha JavaScriptis muudetud andmeid, et need kajastuksid automaatselt kasutajaliideses. See muutis asja alguses palju lihtsamaks, kuna enam ei olnud vaja kodeerimist, välja arvatud korraliku kontrolleri linkimiseks HTML-i osaga. Teine eelis, mille Angular programmeerijatele toob, on direktiivid. Need on lähtepunktiks kõigile komponentidele, mida me tänapäevases esiosas näeme. Direktiivid võimaldasid koodi palju korduvkasutatavamat ja eraldatumat kui kunagi varem. AngularJS sundis sõltuvuse süstimist ja see aitas sõltuvusi mõnitada. Selle väljanägemine raamistikus tegi nurgalauarakenduste testimisel Angularist tohutu sammu edasi.

Kõik need eelised panid üha enam ettevõtteid kirjutama oma rakendused ümber omaenda lahenduste põhjal, mis on üles ehitatud muudele raamatukogudele, AngularJS-i.

2. nurk

AngularJS on suurepärane võimalus rakenduse või MVP käivitamiseks. Üha populaarsemaks muutuva ja tuuma juurde jõudva üha rohkemate funktsioonide abil otsustas Angli meeskond algse raamistiku ümber kirjutada, tutvustades nurka 2. Mõni ütleb, et nurgal 2 ja AngularJS on ainult üks asi: nimi. AngularJS-ist Angular 2-le on olemas üleminekutee (nn ng-upgrade). Angular 2 on siiski täiesti uus raamistik, mis jagab ainult mõnda eelkäija kontseptsiooni.

Rakenduse struktuuri kogu kontseptsioon on nurgas 2 muutunud. Varem lubas MVC raamistik teil rakendusi luua üsna tihedalt seotud olemite (nt kontrollerid, vaated, teenused jne) mustrina. Kogu AngularJS kogu arhitektuur nägi välja järgmine:

img - ng1 arhitektuur

Nüüd on direktiivide kontseptsiooni edasi lükatud, et olla palju lähemal veebikomponentide standardile ja Reacti viisile rakenduse struktureerimiseks. See on kõik nurga 2 komponentide kohta. See tähendab, et kogu rakendus on nüüd komponent, mis sisaldab veel ühte komponentide komplekti (mis võib olla juhitav). See lõpeb puudetaolise struktuuriga:

img - ng2 arhitektuur

Rakenduse Angular 2 rakendusarhitektuuri eesmärk on luua üksteisest sõltumatud komponendid, mis on võimalikult lõdvalt ühendatud.

Oluline on tutvustada kahte moodust komponentide loomiseks:

  • Nutikad komponendid: nad teavad rakenduse olekust ja saavad andmete hankimiseks või muutmiseks teenustega suhelda.
  • Loll komponendid: Neil peaks olema ainult sisendeid ja väljundeid. Sisendile sobivate väärtuste pakkumisel on need valmis süsteemis (või isegi väljaspool seda) paigutama ning nad ei peaks rakenduse oleku kohta teadma.

Etendus

Sellise komponentide puu omamine muudab jõudlust suuresti. AngularJS-i eesmärk ei olnud luua kõige tõhusamat raamistikku, vaid selle asemel kõige hõlpsam sisse logida. Kuna jõudlus muutus probleemiks, toodi selle probleemi lahendamiseks kasutusele nurk 2. AngularJS-il oli seedimistsükkel, mis võimaldas muudatustel värskendusi üles ja alla käivitada. Seevastu nurgal 2 on komponentide suundgraafik, mida kontrollitakse alati üks kord (ühe ristumistee tõttu juurtest lehtedeni). Nurga tuumitiimi liikmete sõnul panid need muudatused Angular 2 rakendused töötama 3–10x kiiremini kui samad rakendused, mis on loodud uusima AngularJS-iga.

Ökosüsteem

Algselt avaldatud veebisaidil www.laravelfeed.com.