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.

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?

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:
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.