Leņķiskais 2.0 pret polimēru

Sveiki puiši! Pirms sāku salīdzināt šos divus javascript ietvarus / bibliotēkas, ir svarīgi saprast, kā mainās tīmekļa attīstības veids un kā jaunie ietvari mēģina atvieglot šīs izmaiņas.

Jauns tīmekļa attīstības veids

Komponenti

  • Moduļu dizains un izstrāde ir populāri izstrādātāju principi. Tīmekļa attīstības pasaulē uz komponentiem balstīta izstrāde ir attīstījusies uz modularitātes principa.
  • Moduļu kodu ir viegli uzturēt un atkārtoti izmantot. Mazāka kļūdu iespējamība ir mazāka, izolēta, pārbaudāmāka kodola bāzes dēļ.
  • Tādas struktūras kā Angular, Ember, React, Backbone un citas tīklā ir nodrošinājušas savus risinājumus komponentu veidošanai.

Web komponenti

  • Tīmekļa komponenti komponentu jēdzienu pārlūkprogrammās ir ieviesuši sākotnēji. Lai gan mēs joprojām varam izmantot komponentu risinājumus, ko nodrošina ietvari, vietējie tīmekļa komponenti nodrošina tādu atkārtotības pakāpi, kādu citi ietvari nevar sasniegt.
  • Web komponenti funkcionalitātes moduļus iekauj visvienkāršākajā HTML vienībā, DOM elementā. Līdz ar Web komponentu progresu, tie ir kļuvuši par veidu, kā meklēt modulāru kodu tīmeklī.
  • Tīmekļa komponentu specifikācijas vēl nav pilnībā ieviestas visās pārlūkprogrammās. Bet pārlūku pārdevēji aktīvi ievieš dažādas specifikāciju daļas, kas nozīmē, ka Web komponentu atbalsts tikai uzlabosies.

Tilts uz tīmekļa komponentiem

Leņķiskais 2.0

  • Leņķiskais ir viens no izstrādātāju iecienītākajiem javascript ietvariem. Jaunākā Angular (Angular 2) versija darbojas arī pēc komponentu koncepcijas.
  • Leņķis 2 ir pilnvērtīgs javascript ietvars, kas ne tikai ļauj jums izveidot komponentus, bet arī palīdz pārvaldīt dažādus tīmekļa lietojumprogrammu aspektus, piemēram, maršrutēšanu un stāvokļa apstrādi.
  • Leņķi 2 var arī konfigurēt, lai ģenerētu tīmekļa komponentus.

Polimērs

  • Polimēru bibliotēka ir viegls cukurēšanas slānis Web Components API augšpusē. Polimērs ir bibliotēka, kas palīdz mums pilnībā izmantot visas tīmekļa komponentu iespējas.
  • Atšķirībā no tipiskā javascript ietvara, Polymer ir paredzēts, lai izmantotu funkcijas, kas iestrādātas pašā tīmekļa platformā, lai ļautu jums izveidot komponentus.
  • #UseThePlatform ir nosaukums, ko Polimērs piešķir, lai parādītu pārlūka vēlmi veikt visu smago celšanu bez bibliotēkām.

Kā viņi salīdzina

Izmērs:

Tīmekļa lietojumprogrammas lielumam ir tieša ietekme uz ielādes laika veiktspēju. Papildus lietojumprogrammas kodam un aktīviem lietojumprogrammas lielumu palielina arī ārējie ietvari un bibliotēkas. Tāpēc ir vēlams, lai ārējo bibliotēku ieguldījums būtu pēc iespējas mazāks.

Leņķiskais 2.0: 566 KB - 766 KB. Minificētās leņķiskās 2 paketes izmērs ir 566K. 2. leņķis balstās uz novērojamu zīmējumu, ko nodrošina Rxjs bibliotēka. Stūra 2 izmērs ar Rxjs bibliotēku ir 766K.

Polimērs: 127 KB - 168 KB. Minimētā polimēra 1.6 izmērs ir 127 KB. Tam ir nepieciešama arī polipilde, ko sauc par webcomponents.js pārlūkprogrammām, kurās tīmekļa komponenti netiek atbalstīti. Tīmekļa komponentu-lite.js lielums ir 41 KB

Atkārtota lietošana:

Komponentu modelis sniedz daudz iespēju atkārtotai izmantošanai. Komponenti ir mazi un izolēti koda gabali, kurus var izmantot vienā un tajā pašā lietojumā vairākās vietās vai dažādās lietojumprogrammās.

Leņķiskais 2.0: atbalsta komponentus un atkārtotu izmantošanu. Stūra 2 komponentus var izmantot tikai lietojumprogrammās Angular2

Polimērs: atbalsta komponentus un atkārtotu izmantošanu. Polimēru komponentus ideālā gadījumā var atkārtoti izmantot jebkurā tīmekļa lietojumprogrammā. Nepielietojot polimēru, polimēru sastāvdaļu atkārtotai izmantošanai būs jāimportē polimēru bibliotēka.

Lietojumprogrammas struktūra:

Lielās lietojumprogrammās ir svarīgi, lai būtu koda struktūra. Rāmji palīdz nodrošināt koda struktūru un modeli.

Leņķis 2.0: diktē koda struktūru. 2. leņķis ir pilnvērtīgs ietvars. Tas nodrošina veidu, kā strukturēt lietojumprogrammu. Tas nāk ar iebūvētu lietojumprogrammu maršrutēšanu, stāvokļa pārvaldību un datu pārraidi

Polimērs: Nav teikts par struktūru. Polimērs atvieglo tikai komponentu izveidi. Tomēr polimēru komanda ir izveidojusi dažus komponentus, kurus var izmantot maršrutēšanai. Datu komunikācijas pārvaldībai var izmantot atsevišķu bibliotēku. piem. Redux vai jebkura cita Flux balstīta bibliotēka.

Ilgmūžība:

Izvēloties tehnoloģiju paketi, ir svarīgi ņemt vērā ietvaru / bibliotēku ilgmūžību. Sistēma, kas ļoti ātri var kļūt novecojusi vai apstāties, ir nepareiza izvēle lietojumprogrammu veidošanai.

Leņķiskais 2.0: leņķa versijas jaunināšana no 1.x uz 2 bija pilnīga atjaunošana, un tā praktiski izraisīs pilnīgu programmu pārrakstīšanu. Leņķis nodrošināja jaunināšanas ceļu no 1.4–1.5–2. Bet centieni sekot jaunināšanas ceļam varēja būt līdzvērtīgi pārrakstīšanai.

Polimērs: Izmantojot tīmekļa platformu, polimērs ir paredzēts vieglāks. 2. polimēra priekšskatījuma versija nav pieejama. Polimēram ir hibrīds režīms, kurā 1 un 2 var darboties kopā. Tā kā polimērs nav karkasa smags, jauninājumiem vajadzētu būt vieglākiem.

Mācības:

Leņķis 2.0: Typescript ir jauna valoda, un tā “dekoratoru” koda rakstīšanas veids nav arī labi zināms javascript izstrādātājiem. Lai gan gaidāmajām javascript versijām ir dekoratoru koncepcija. Izstrādātājam būs jāiemācās gan sistēma, gan valoda.

Polimērs: Polimēru komponentus parasti var rakstīt ES5 / ES6 javascript. Izstrādātājiem būs jāpierod pie komponentu jēdziena (tas attiecas arī uz Angular 2). Polimērs nodrošina minimālu sintaktisko cukuru salīdzinājumā ar tīmekļa komponentiem api, kas neuzliek stāvu mācīšanās līkni.

Servera puses atveidošana:

Servera puses atveidošana ir svarīga, ja runa ir par SEO draudzīgumu, sociālo mediju priekšskatījumiem un ātru lapas “redzamību”. Tomēr ir daudz paņēmienu, kā panākt ātru pirmās renderēšanu pat ar klienta puses renderēšanu. Arī Google var indeksēt klientu puses atveidotās vietnes, taču citām meklētājprogrammām to var radīt problēmas.

Leņķiskais 2.0: leņķiskā komanda strādā pie leņķa universālā, kuru var izmantot ar leņķi 2, lai atļautu servera puses atveidošanu.

Polimērs: polimērs vēl neatbalsta servera puses atveidošanu.

Ieteicamais steks

Balstoties uz iepriekš minēto salīdzinājumu, ja man šodien jāizvēlas priekšējā kaudze, es izvēlētos šo:

  • Polimēru bibliotēka ir vieglāka nekā 2. leņķa bibliotēka.
  • Polimēru komponentus var atkārtoti izmantot jebkurā lietojumprogrammā, savukārt Leņķa 2 komponentus var izmantot tikai Leņķa 2 lietojumos
  • Polimērs plāno kļūt tīrāks līdz ar tīmekļa platformas attīstību, t.i., pārlūkprogrammām uzlabojot atbalstu tīmekļa komponentu specifikācijām, polimērs spēs samazināt tā izmēru
  • Redux pamatā ir Flux modelis. Tas sniedz vadlīnijas par datu plūsmas kontroli lietotnē. Tas palīdz izveidot paredzamas un pielāgojamas programmas.

Paldies!! Izklaidējies!

Nedaudz detalizēta šīs rakstīšanas versija ir manā emuārā http://dotjsfile.blogspot.in/2017/04/angular2-vs-polymer.html