Kako je React postao jedan od najpopularnijih 'frameworkova'
WebCamp Zagreb

Kako je React postao jedan od najpopularnijih ‘frameworkova’

Naučiti raditi u novom 'frameworku' može biti izazovno, a kako bismo taj izazov svladali, nekad je potrebno dubinski istražiti kako 'framework' zapravo radi. To se najbolje može napraviti na način da ga rastavimo i raspišemo vlastite metode koje imitiraju funkcionalnosti frameworka, a ovaj smo vikend na WebCampu imali priliku vidjeti kako to izgleda s Reactom.

WebCamp Zagreb

React je danas jedan od najpopularnijih frameworkova, a developeri koji znaju raditi s njim sigurno će biti sve traženiji – vrijeme uloženo u njegovo učenje i proučavanje zasigurno će se isplatiti. 

Building a Poor Man’s React predavanje je koje je održano na kraju ovogodišnje konferencije WebCamp u Zagrebu i na kojem je Krešimir Antolić demistificirao React i pokazao kako funkcionira. Napravio je jednostavan library koji radi na sličan način kao i React i koji svatko može pogledati na GitHubu.

React se koristi kako bi se napravilo sučelje za korisnike na webu, no kada developeri prvi put vide skriptu napisanu u ovom frameworku, prvo pomisle da je to neka čudna mješavina XML-a i JavaScripta. Krešimir je iskreno rekao kako su te skripte “gadne”, ali da ujedno imaju smisla – React je postao nešto što mu se sviđa, a posebice je istaknuo jaku zajednicu koja se oko njega okuplja. 

Što je Krešimir napravio?

Gornja slika najbolje objašnjava React – developer ‘corniju’ daje podatke, a ‘output’ je čaroban.

Glavni princip rada u Reactu je da se developer brine o podatcima, a React će se pobrinuti za DOM. Kao prvi primjer, napravio je metodu kojem se može napraviti HTML element. Da bi to uspio, koristio je JavaScript metodu “document.createElement” te je postigao da se pozivanjem njegove metode može dodati klasa novom elementu i tekst koji se dodaje pomoću JavaScript metode “innerHTML”.

React traži da developeri koriste komponente koje rade odvojeno jedna od druge i često se unutar jedne komponente stvaraju potkomponente. Da bi to omogućio u njegovom libraryju, morao je omogućiti da se, osim elementa s tekstom, može stvoriti i element s podelementima. To je napravio tako da je naučio library da razlikuje kada treba koristiti “.innerHTML”, a kada treba dodati podelement, odnosno kada treba koristiti JavaScript metodu “.appendChild”. Sada se pomoću ovog libraryja mogu praviti komponente koje imaju potkomponente.

React radi tako da se sva logika aplikacije sprema u komponente, a da bi se to moglo postići pomoću njegovog libraryja, napravio je metodu s imenom “setState”. Kao drugi primjer, napravio je element s dva podelementa koji su slike cornija te je omogućio da se klikom na jednog od njih promijeni varijabla koja predstavlja stanje svake potkomponente.

Kada se promijeni stanje jedne komponente, potrebno ju je rerenderirati, ali to se nikako ne smije napraviti s cijelim DOM-om. Zato je predstavio virtualni DOM i virtualne elemente.

Prilikom promjene stanja, izgradit će novi virtualni DOM i usporediti ga sa starim i tako će library znati što treba izmijeniti. Isto tako radi i React i to je razlog za brzinu njegovu frameworka.

Dobar framework čine njegova promišljenost, ali i dobra zajednica

Popularnost, dobar community i promišljenost frameworka samo su neki od razloga zašto developeri sve više koriste React i zašto je njegovo poznavanje sve više i više traženo na tržištu rada, a taj trend sigurno neće u dogledno vrijeme prestati. Naučiti raditi s Reactom može koristiti svakom developeru, a zbog predavača poput Krešimira možemo naučiti i kako React radi.

Ako vas zanima React, zavirite u službenu dokumentaciju, a svakako pogledajte i Krešimirov GitHub.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.