Miksi React? Mitä se tarjoaa?

React, kuten mikä tahansa kirjasto tai kehikko, tarvitsee hissipalopuheen. Joskus valinta saattaa yksinkertaisesti hoitua kauniisti sanoen “automaagisesti”, eli projektissa on jo
valittu teknologia(t), tai et ole se, joka päättää arkkitehtuurista.

Joka tapauksessa JavaScript/web-devaus -maailma on täynnä teknologioita, ähkyyn asti, joten uuden esittelyyn ja suosion saavuttamiseen usein halutaan tiivistetty kuvaus.

Reactin avainpointit

  • paino fronttikehityksessä (“View” MVC:stä)
  • nopea (mm. virtuaali-DOM)
  • React on suosittu, taustalla iso talo
  • avointa lähdekoodia täysin
  • modulaarinen

Haemme hieman työkalujen valinnassa samaa, kuin maanviljelijä leikkuupuimurista: ei haittaa, jos laite on hieman monimutkainen, kunhan se tekee itse työnsä tehokkaasti. Toisaalta, Occamin periaate eli Occamin partaveitsi, jota myös noudatetaan usein teknologian kanssa, kuuluu: ‘kilpailevista, yhtä selitysvoimaisista teorioista tulisi valita yksinkertaisin.’ Jos kaksi teknologiaa ajavat saman asian, ota yksinkertaisempi.

Ennenwanhaan varsinkin näillä asioilla oli paljon merkitystä: oli turha pitää ylimääräisiä kilo- tai megatavuja tuotteessa, koska sen levitys (käytettiinpä levykkeitä tai Internetiä), oli aina kalliimpaa mitä enemmän tuotteella oli kokoa. Nykypäivänä rajoitus on löytänyt muotonsa lähinnä tuotteen turhan kompleksisuuden karsimisessa siksi, että kehittäjien pää täyttyy liiasta monimutkaisuudesta ja näin heikentää työtehoa. Toinen asia, jolla vielä kuitenkin on merkitystä, on mobiiliverkkojen rajoitettu nopeus (kaistanleveys): kannattaa pitää Javascript-tiedostot vaikkapa 100 -kilotavuisena, kuin antaa niiden kasvaa 2000 kilotavuun puhtaasti välinpitämättömyydestä.

Seuraavassa, osassa 3, aletaan rakentaa esimerkkiä.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s