React & Angular - kehysten ja kirjaston taistelu

Se, mitä olen oppinut reagoidessani 2 yössä, kun olen työskennellyt Angularin kanssa useita vuosia

Ja luulen olevansa valmis tekemään jotain

On kiusallista, kun teet julkisen ilmoituksen sitoutuaksesi tulemaan kulmajumalaksi, ja ainoat alueesi käytettävissä olevat työpaikat vaativat reagointia - vain vähän tai ei ollenkaan mainintaa kulmasta. Joten paljon pohdittuja ja pohdittuja (ja lähinnä fyysisiin selviytymiseen liittyvistä syistä), päätin hypätä pois kulmikkaasta potkurista ja sukeltaa syvälle React.js: n isoihin sinisiin valtameren vesiin.

Osoittautuu, että jos olet ollut jonkin aikaa, kaikki koodi on sama - vain kirjoitettu eri tavalla. JavaScriptin ja rakennuspalikoiden logiikan perus- ja ydinosaaminen ei ollut kovinkaan suuri harppaus, kun yritin kokeilla Reaktia - järjestelin vain eri tavalla ja muutamilla uusilla (mutta ei uusilla) ideoilla. Mielestäni myös Hyvä ymmärtäminen Angularista auttoi.

Tässä olen oppinut oppimaan reagoimaan 2 päivässä.

Se on kaikki JavaScript

React on kuin kavennettu, välttämätön kirjasto, joka voi yhdistyä olemassa olevaan projektiin ilman, että tarvitsee tehdä monimutkaista asennusta. Kulma 1 oli aikaisemmin sellainen. Kulma 2+ vaatii enemmän jalkatyötä ja täysin kulma 2+ projekti on helpompaa kuin hybridi.

React on erittäin kannettava - mikä selittää miksi sen suosio kasvoi niin nopeasti. Voisin teoriassa laittaa React-koodin minne tahansa aiheuttamatta monia ongelmia tai vaatia massiivista asennusta. Se, että se muistuttaa osittain vanilja JavaScriptiä, tekee siitä entistä helpomman ymmärtää puhtaille käyttöliittymäkehittäjille. Kulma 2+ on kuitenkin enemmän suunnattu vakuuttamaan takaosakehittäjät siirtymään etuosaan.

Ei implisiittisiä tilamuutoksia

Sen perusteella, mitä ymmärrän toistaiseksi, annat Reaktin antaman. Toisin kuin kulmikas, jos annat sille valintaruudun, tämä valintaruutu toimii odotetusti (ts. Napsautat sitä ja se tarkistaa / poistaa valinnan). Reaktin avulla sinun on seurattava nimenomaisesti tilanmuutosta, jotta sillä voi olla erilaisia ​​reaktioita tapahtumiisi.

Tämä johtuu siitä, että reagoi "maalaa" muuttumattoman tilan DOM: iin, mikä tarkoittaa, että kukaan ei voi muuttaa sitä, ellet kerro sitä.

Rekvisiitta

Samanlainen käsite kuin kulmikas, mutta siihen pääsyyn tarvitaan vähemmän koodia - se on jo olemassa ja React on tuonut sen sinulle. Ainoa mitä sinun täytyy tehdä, on käyttää props.whateverYourPropertyNameIs käyttää sitä toiminnallisissa komponenteissa, tai this.props.whateverYourPropertyNameIs luokkaperusteisiin komponentteihin.

Tarvitset suunnitteludokumentin

Tarvitset kuitenkin suunnitteludokumentin jokaiseen projektiin. Mutta Reaktorille tarvitset sitä ehdottomasti enemmän kuin koskaan. Suunnitteludokumentti on periaatteessa asiakirja, joka antaa sinulle yleiskuvan tarvitsemasi toiminnoista, kuinka logiikka yhdistyy toisiinsa ja kaikista muistiinpanoista, joita tarvitset koodin rakentamiseksi. Se estää koodiasi muuttumasta spagetti-kulhoksi.

Kirjasto näyttää helposti toteutettavalta - mikä voi johtaa laiskaan koodaukseen. Laiska koodaus aiheuttaa teknisen velan. Suunnittele logiikka. Se auttaa sinua koodaamaan nopeammin ja paremmin.

Kaikki on yhdessä tilassa

CSS, HTML, toiminnot, luokat, vanilja JavaScripti ja sprinkleri Reaktta yhdistetään yhdeksi asiakirjaksi. Voit tehdä tämän teknisesti Angular 2+ -sovelluksessa, jos yritit tarpeeksi kovasti, mutta sitä ei kannata missään.

Reakty kannustaa sitä.

Tämä voi olla hiukan outoa, jos olet tottunut rakentamaan sovelluksia MVC-tyyppisissä rakenteissa, joissa kaikki on erotettava tai tarvittavat erityistoiminnot ja jäsentäminen, jotta se toimisi. Reaktin avulla koodaat HTML-loppulähdön mielessä - ja reagoit yhdistää kaiken puolestasi. Kulman avulla voit luoda näkymäsi ja selvittää logiikka komponenteissasi.

Hitaampi muutosnopeus

Versiointinumero ja päivitykset eivät ole yhtä pelottavia kuin kulmikkaat. Tai ehkä, monet kehittäjät pelkäävät edelleen massiivisia oppimiskäyrän hyppyjä kulman 1 ja kulman 2 välillä.

Näyttää siltä, ​​että React päivittää tärkeimmät julkaisunumeronsa vain joka toinen vuosi muutoksilla, jotka ajavat hitaammin kuin kulmikkaat. Tämä tekee uusien asioiden oppimisesta mahdolliseksi eikä niin pelottavasta kuin kulma 2+.

Angular 2+: lla on suuri julkaisu joka kuusi kuukautta - mikä voi olla melko ylivoimainen uusille ja jopa kokeneille kehittäjille, jotka haluavat vain rakentaa asioita sen sijaan, että huolehtisivat taaksepäin sopivasta yhteensopivuudesta.

Kun React muuttuu, se on vain muutama pieni asia kerrallaan.

Se vaikuttaa liian helppolta

Viimeisen 2 yön aikana löysin reagoimaan typerästi yksinkertaisena. Itse asiassa se on liian typerästi yksinkertaista. Joten saa minut kysymään, mikä on saalis?

Osoittautuu, että on olemassa Redux-niminen asia, joka tulee jossain vaiheessa peliin. React ja Redux toimii parina jostain syystä ja aion selvittää miksi.

Kulman 2+ kanssa tiedät, että se tulee olemaan oppimiskäyrä ja että opetusohjelmat kattavat vain pinnan kärjen. Mutta Reaktin kanssa näyttää siltä, ​​että aloittelijan oppaissa näet kaiken mitä tarvitset, ja muutama muu asia, kuten suojattu reititys ja todennuksen toteutus. Kukaan ei oikeastaan ​​vihjaa mihinkään sen ulkopuolelle. Kulmayhteisö antaa sinulle kuitenkin tietää, että siellä on paljon enemmän tulossa heti.

Mutta Reaktin viralliset asiakirjat ovat myös huomattavasti pienempiä kuin Angularin.

Odotan nyt sitä! hetki, jolloin paljastan Reaktin likaiset pienet salaisuudet - jos sellaisia ​​on. Ehkä Reactin ja Reduxin yhdistäminen valaisee minua.

Viimeiset sanat

Joten olen oppinut perusteet. Tai pikemminkin, kävin läpi 2 yötä YouTube- ja Google Starter React -artikkeleita. Tuona aikana vertailin sitä usein Angulariin - yksinkertaisesti siksi, että minulla on helpompi oppia kirjasto vertaamalla sitä jo tunnettuun.

Huolimatta lupauksistani tulla kulmajumalaksi, pidän edelleen sanani, että kaikki tekniikka on sama - silmukoita, funktioita ja muita logiikan rakennuspalikoita on edelleen - ja vain syntaksi ja rakenne ovat erilaisia. Se, että kirjasto vaatii koodin kirjoittamista ja miten olla vuorovaikutuksessa tarvitsemasi kanssa, tekee siitä erilaisen.

On selvää, että React ja Angular ovat rakenteeltaan hyvin erilaisia, mutta päivän päätteeksi se on silti vain JavaScript. React vie sen vielä pidemmälle kannustamalla vanilja JavaScriptiä. He todella vievät sen takaisin vanhempien etukoodausten OG-päiviin, mutta ovat hieman enemmän persoonallisuutta ja helppokäyttöisiä.

Toistaiseksi pidän siitä, mutta sen yksinkertaisuus saa minut epäluuloiseksi.

Mikä tekee minut lopulliseen johtopäätökseeni siitä, että minun on vain rakennettava jotain. Ominaisuuksiin on sisällytettävä CRUD, todennus ja reittisuojaus - mikä on pohjimmiltaan 95% Internetistä. Jos pystyn selvittämään tämän, olen lajiteltu rakentamaan tulevia sovelluksia ilman suuria ongelmia.

Anna minulle muutama päivä nähdäkseni mitä voin tehdä - sitten seuraa ehkä täysin niskainen opiskelu- / teknisen viestin sarja.

Annetaan pysyä yhteydessä ja liittyä viikoittain mahtavaan verkkosivustojen uutiskirje-luettelooni. Kiitos lukemisesta.❤

Aphinya