Nurga 1 ja nurga 2 erinevus

Uusimas JavaScripti teegis on näha AngularJS-i kohandamise pidevat suurenemist või seda nimetatakse tavaliselt “Angular” või “AngularJS 1.X”. Toona oli võimalik luua täiustatud ja dünaamilisi veebirakendusi, kasutades ainult JavaScripti API-sid, kuid esialgse koodbaasi säilitamine oli keeruline. JavaScript alustas revolutsiooni veebirakenduste arendamisel, lubades skriptidel brauseris töötada ja tõstis ennast võimsa, täisfunktsionaalse programmeerimiskeelena. 2010. aastal võeti AngularJS kasutusele avatud lähtekoodiga veebirakenduste raamistikuna, mille eesmärk oli lihtsustada nii veebirakenduste arendamist kui ka testimist, pakkudes raamistikku MVC ja MVVM arhitektuuridele. Kuid iga toode peab arenema. Nurk on viimase paari aasta jooksul dramaatiliselt arenenud. 2016. aastal ilmus Angular 2.0, mis tõi Angular kaasaegsesse veebi brauseris keerukate rakenduste loomiseks.

Mis on nurk 1 ?

AngularJS, üldtuntud lihtsalt kui „Angular“ või „Angular 1.X“, on üks laialt levinud avatud lähtekoodiga veebirakenduste raamistikke, mida Google hooldab koos üksikute arendajate ja ettevõtete kogukonnaga. AngularJS on JavaScriptil põhinev struktuuriline raamistik, mis on loodud dünaamiliste veebirakenduste loomiseks, kasutades mallina HTML-i. Lihtsamalt öeldes on nurgeline see, mis HTML oleks olnud, kui seda oleks kasutatud veebirakenduste loomiseks. Nurk laiendab HTML-i sõnavara, et aidata teil luua dünaamilisi ühelehelisi veebirakendusi (SPA). See on terviklik tööriist kiireks esiotstarbeliseks arendamiseks, mis tegeleb tegelikult kõigi kliendipoolsete raskuste tõstmisega, et muuta keskkond lõpptarbija jaoks erakordselt väljendusrikkaks ja loetavaks. See on spetsialiseerunud SPA projektidele ja seda kasutavad tuhanded arendajad kogu maailmas. Kuna iga toode peab arenema, tegi seda ka Angular.

Mis on nurk 2?

Google'i Angular meeskond andis 2016. aastal välja Angular 2.0 kui originaalse Angular 1 raamistiku täielikku ümberkujundamist. Arendaja eelvaade ilmus aprillis 2015 ja see kolis beetaversiooni 2015. aasta detsembris. Lõplik versioon ilmus 14. septembril 2016. Rakenduse struktuuri kontseptsioon on kogu nurgas 2.0 muutunud. See on originaalse raamistiku täielik ümberkirjutamine, mille eesmärk on lihtsustada arendajate katsetamise ja arendamise nüansse. Üks nurga 2.0 olulisemaid muudatusi on see, et see on kirjutatud täielikult TypeScriptis ja on komponendipõhine. Piisab öelda, et nurk 2.0 on seotud komponentidega. See sarnaneb rohkem komponentide hierarhilise struktuuriga, millest on lahutatud vastastikune töökindlus, mis tähendab, et komponendid ei sõltu üksteisest. Lühidalt öeldes: Angular 2.0 on TypeScriptil põhinev esiotsa veebirakendus, mis on loodud pakkuma palju rikkamat arenguökosüsteemi.

Nurga 1 ja 2 erinevus

Nurga 1 ja 2 arhitektuur

Nurk 2.0 on originaalse AngularJS-i täielik ümberkirjutus eelkäijast täiesti erineva arhitektuuriga. Erinevalt AngularJS-ist, mis põhineb mudeli-vaatekontrolleril (MVC), on Angular 2.0 täielikult komponendipõhine, st rakendus koosneb hästi kapseldatud, lõdvalt ühendatud komponentidest. Need looksid vähem sõltuvad ja kiiremad üksused.

JavaScript vs TypeScript

AngularJS on JavaScriptil põhinev veebirakenduste raamistik, mis on võimas ja täisfunktsionaalne programmeerimiskeel, mida kasutatakse veebisaitide dünaamilise interaktiivsuse tagamiseks. Nurk 2.0 on teisalt aga TypeScriptil põhinev esiotstarbeline veebirakendus, mis on JavaScripti avatud lähtekoodiga süntaktiline pealiskaud ja lisab keelele valikulise staatilise tüpiseerimise.

Kontrollerid vs komponendid

Kontrollerid olid AngularJS nurgakivi, mis aktsepteeriks parameetrina $ ulatust. Need on AngularJS-i MVC arhitektuuri üks võtmekomponente. Kontrollerid on Angular 2.0 versioonis siiski minevik. Kontrollereid ja $ ulatust ei kasutata rakenduste arendamisel enam, vaid need asendatakse komponentide ja direktiividega. Idee on luua komponentide puu, mis rakendaks selgelt määratletud sisendeid ja väljundeid.

Mobiilne tugi nurga 1 ja 2 korral

AngularJS on loodud mobiili arvesse võttes, kuid mitte ilma selle õiglase osata jõudluse küsimustes. See tehti kahesuunaliseks siduvaks rakenduseks ja reageerimiseks, ilma mobiiltelefoni toeta. Siiski on raamatukogusid, mis muudaksid selle mobiilis käitamiseks. Teisest küljest on nurk 2.0 kavandatud liikuvuspõhise lähenemisviisi abil, mis lihtsustaks AngularJS-i jaoks mobiilirakenduse arendamist. See on teinud võimalikuks mobiilsete platvormide loomulike rakenduste loomise. On olemas selliseid raamatukogusid nagu NativeScript, mis aitaksid nurgaliselt loomulikke mobiilirakendusi luua tõesti kiirelt ja tõhusalt.

Nurga 1 ja 2 jõudlus

Fakt, et Angular 2.0 on originaalse AngularJS-i versiooni täielik ümberkirjutamine, kõrvaldati jõudlusprobleemid enamasti nurgas 2.0. Sellel on võimas mall, lihtsamad API-d ja lihtsam silumine koos arhitektuurimuudatustega, mis omakorda parandab jõudlust dramaatiliselt. Lisaks on see nüüd võimeline looma SEO-sõbralikke ühelehelisi rakendusi, mis olid eelmises nurgaversioonis kitsaskohaks.

Sisseehitatud sõltuvuse süstimine

Sõltuvuse süstimine (DI) on AngularJS-i üks olulisemaid funktsioone, mis aitab luua teistest objektidest sõltuvaid objekte. Sõltuvuse süstimise mudelit täiustatakse veelgi nurga 2.0 versioonis, et arendajatel oleks varasemast tõhusamalt veebirakenduste loomine ja testimine lihtsam. Täiustatud DI mudel loob rohkem võimalusi komponendipõhiseks tööks nurgas 2.0.

Nurk 1 vs nurk 2: võrdlusdiagramm

Nurga 1 ja nurga 2 kokkuvõte

AngularJS tutvustati 2010. aastal avatud lähtekoodiga JavaScriptipõhise raamistikuna, et lihtsustada MVC-põhise arhitektuuri jaoks veebirakenduste arendamist ja testimist. Ehkki see on nii stabiilne kui ka tõhus, on sellel siiski õiglane osa plusse ja miinuseid. Iga toode areneb mingil hetkel, nagu ka nurga all. Uuem ja täiustatud Angular 2.0 on oma eelkäija täielik ümberkirjutus, mis on mudelisse teinud mõned olulised parandused. Üks nurga 2.0 olulisemaid muudatusi on see, et see põhineb TypeScriptil, mis on JavaScripti süntaktiline ülemkomplekt. Pluss, juhtseadmed ja $ ulatus asendatakse nurga 2.0 versioonis komponentide ja tuletisinstrumentidega, muutes muude JavaScripti teekidega suhtlemise hõlpsaks, mis omakorda loob suured võimalused objektorienteeritud programmeerimisel.