Leņķa vs reaģēt. Vai arī jaunais Leņķis tiešām ir sūds?

Sveiki visiem,

Es gribu runāt par populārākajiem JavaScript ietvariem. Manuprāt, tur ir ķekars bezjēdzīgu salīdzināšanas rakstu. Lai arī tajos ir patiešām interesantas atziņas, tas netiek daudz izmantots.

Daudzi cilvēki saka, ka jūs nevarat tos salīdzināt, jo leņķiskais ir ietvars un React ir bibliotēka. No otras puses, lielākā daļa reaģējošo izstrādātāju (tos, kurus es pazīstu) pievieno dažas bibliotēkas un pārveido to par pilnīgu sistēmu.

Pagaidiet, varbūt kaut kas cits?

Mani ļoti interesē Angular, un es to izvēlētos maziem un vidējiem lietojumiem, bet tiešām lieliem, bez šaubām, es uzlauztu React. Bet ir daudz citu iespēju. Un dažiem no viņiem klājas patiešām labi, piemēram, VueJS vai EmberJs izskatās tiešām labi. Bet es domāju, ka galvenā Angular un React konkurences priekšrocība ir izstrādātāju kopiena. Vienīgais lib, kas var sekot līdzi viņu popularitātei, ir jQuery, taču neuzskatīsim jQuery par konkurentu šiem diviem.

Tāpēc sāksim to sākt. Kura ir labāka, leņķa vai reaģēt?

Valsts vadība

Es domāju, ka lielākā atšķirība starp Leņķisko un Reaktīvo ir valsts pārvaldība. Leņķa komplektācijā ietilpst datu iesiešanas pakete, savukārt React parasti nevar nodzīvot ilgu laiku bez Redux, kas nodrošina vienvirziena datu plūsmu un strādā ar nemainīgiem datiem. Tas izraisa daudz diskusiju, kurš ir labāks? Datu iesiešana vai nemainīga / vienvirziena iesiešana? Tas noteikti ir atkarīgs no daudziem aspektiem.

Vilinošs

Es domāju, ka tiešām ir tā vērts pieminēt, cik viegli Stūrains strādā ar veidnēm. Izmantojot jūsu datiem vienkāršu lietotāja saskarni, leņķiskais ļauj iegūt vēlamo rezultātu ar loģiskāku pieeju lietotāja saskarnei, kurai nepieciešams mazāks kods un šķiet acīmredzamāks.

React ir vajadzīgas funkcijas, lai apstrādātu datu attēlojumu. Tas nozīmē, ka jums jādefinē veids, kā tiek parādīti jūsu dati, pirms tie tiks ievietoti DOM.

Izmēri un veiktspēja

Kā mēs zinām, leņķa faila lielums ir daudz lielāks nekā Reacts.

Leņķis 2 + Rx = 766K
Reaktēt 0,14,5 + Reaģēt DOM + Redux = 139K

GZipētas versijas

Leņķis 2 + Rx = 143K
Reaktēt 0,14,5 + Reaģēt DOM + Redux = 42K

Bet, kad jūs sākat iekļaut daudz trešo pušu bibliotēkas ar React, arī paketes lielumam ir tendence pieaugt diezgan ātri.

2. leņķa veiktspēja var radīt dažas problēmas, kad runa ir par patiešām lielām lietojumprogrammām, jo ​​tā izveido novērotāju katrai iesiešanai, lai izsekotu visas izmaiņas DOM.

No otras puses, React ir ieviesusi virtuālā DOM koncepciju. Katru reizi, kad mainās pamatā esošie dati lietotnē React, tiek izveidots jauns lietotāja interfeisa virtuāls DOM attēlojums. Citiem vārdiem sakot, katru reizi, kad lietotājs mijiedarbojas ar vietni React, tiek izveidots jauns virtuālais DOM. Tāpēc React veiktspēja ir stabila, ja runa ir par daudz datu, jo nav novērotāju.

CLI

Mūsdienu ietvaros ir tendence izmantot CLI rīku. Leņķa CLI darbojas diezgan labi un ietaupa daudz laika. Pateicoties Angular-cli un tā dizainam, Angular ir viegli mērogojams. No otras puses, React ir savs CLI, kas tika ieviests nesen, un tas netiek tik daudz izmantots.

Atkļūdošana

Interesanti, kā katrs no viņiem rīkojas ar atkļūdošanu. 2. leņķis un tā izpildlaika atkļūdošana parasti sniedz mazāk informācijas nekā React, un tā apkopo atkļūdošanas laiku.

TypeScript un Flow

TypeScript un Flow ir līdzīgi rīki, kas koncentrējas uz vienu un to pašu problēmu: JavaScript trūkst statisko tipu. Galu galā tie abi pastāv, lai palīdzētu jums uzrakstīt pareizu kodu. Gan TypeScript, gan Flow nodrošina pakāpeniskas statiskās mašīnrakstīšanas iespējas. Viņi arī izmanto līdzīgu sintakse tipa anotācijās un deklarācijas failos.

Ja strādājat ar leņķisko, jūs varētu dot priekšroku rakstam TypeScript, jo tā ir dominējošā valoda, ko lieto leņķa kopienā. No otras puses, ja jūs izmantojat React, jūs varētu dot priekšroku plūsmai, jo tā viegli integrējas ar Bābeli un citu infrastruktūru, kas jums, iespējams, jau ir izveidota.

Daudzi izstrādātāji (īpaši React) baidās no TypeScript. Nav ko baidīties. Tas ir tikai ES6 + tipi. ES6 ir derīgs TypeScript kods. To lielā mērā ietekmē Java un .NET, tāpēc, ja izstrādātājam ir fons vienā no šīm valodām, visticamāk, ka Typecript būs vieglāk iemācīties nekā parastu JavaScript.

Mācību process

Leņķī ir vairāk lietu, kas jāiemācās nekā Reaktīvā. No otras puses, jums ir daudz jāapgūst par React labāko praksi, jo ir daudz veidu, kā jūs varat darīt to pašu vai noiet greizi.

Leņķiskā reputācija un kuru leņķisko versiju jums vajadzētu izmantot?

Es zinu, ka pret Angļu no JavaScript kopienas izturas negodīgi. Daudzi cilvēki pauž neapmierinātību ar to. Patiesībā tam ir daži iemesli, bet es domāju, ka 4. leņķis atrisināja daudz problēmu. Notika milzīga pāreja no sākotnējā AngularJS uz jauno Angular. Veiktspēja un dizains tika ievērojami uzlaboti leņķī 2.0, salīdzinot ar leņķi 1 (manuprāt, jums vajadzētu izmantot leņķi 1 tikai tad, ja esat tā eksperts un jums ir stingri termiņi). Es domāju, ka tā ir ļoti produktīva sistēma, kas varētu būt daudz veiksmīgāka, ja nebūtu tik daudz versiju, tik daudz izmaiņu. Man bija iespēja mainīt Angular versiju no 5. izlaišanas kandidāta uz 6. un pēc tam uz izlaišanas versiju. Tas gandrīz nozīmēja visu lietojumprogrammu pārrakstīšanu. Bet tagad Leņķis 4 šķiet patiešām stabils un uzticams.

Secinājums

Tātad, vai jaunais Leņķis tiešām ir sūds?

Nē, tā nav.

Šeit ir mans leņķiskās reaģēšanas paraugu saraksts.

Ja jums patīk veidnes, izmantojiet leņķisko.
Lielām komandām un projektiem React būs labāks risinājums, jo tas ļauj atkārtoti izmantot komponentus ar mazāku kodu un ātrāku prototipēšanu.
Ja jums nepatīk tērēt daudz laika iestatīšanai, izmantojiet leņķisko.
JS ekspertiem un entuziastiem React būs vieglāk apgūt.
Labāk, ja jūs izmēģināt abus :)