Každý programátor by mal poznať týchto 7 výhod React.js

V priebehu posledných šiestich rokov sme zažili veľký boom JavaScriptu na webe. JS sa stal prominentným server-side jazykom, offline-first SPAs je už v podstate zaužívaný termín a JavaScript sa stal obľúbeným compile targetom pre iné jazyky. V poslednej dobe sa mu tiež podarilo dobyť svet mobilných a desktopových aplikácií vďaka technológiám ako Electron či React Native.

To by nebolo možné bez revolúcie, ktorú začal programátor Jordan Walke z Facebooku svojou knižnicou React.js. React zmenil spôsob, akým dnes kóderi píšu svoje JS aplikácie a dôvodov pre takýto úspech je hneď niekoľko.

1. Jednoduchší kód a menej bugov

Najzásadnejším dôvodom je to, že React zmenšuje komplexitu UI. Je to prvá mainstreamová knižnica postavená na koncepte functional programmingu. Ten vedie k celkovo racionálnejšiemu kódu a jednoduchšiemu debugovaniu. Je s ním omnoho ľahšie vyhýbať sa side-effectom pomocou využívania immutable štruktúr. Komunita React programátorov navyše vytvorila niekoľko výnimočných nástrojov, napríklad debugger, ktorý vám umožňuje nahliadnuť do predošlých verzií.

2. Raketová rýchlosť

JavaScript je sám o sebe rýchly a typické aplikácie obsahujú niekoľko stoviek DOM elementov. React má tiež niekoľko efektívnych taktík na to, ako dosiahnuť svižný rendering aj pri náročnejších aplikáciách.

Programátori aplikácie Flipboard napísali vlastnú knižnicu React-Canvas, vďaka ktorej dosiahli animáciu s rýchlosťou 60fps na mobilnom webe. React je v podstate rýchlejší ako manuálne manipulovanie s DOMom.

Modifikácia DOMu po každej zmene môže byť veľmi pomalá, preto má React svoju vlastnú, zjednodušenú verziu pod názvom VirtualDOM a používa diffing algoritmus, ktorý aplikuje na skutočný DOM len nevyhnutné zmeny.

3. Spolupráca s už existujúcim kódom

Vývojári z Facebooku nadizajnovali React tak, aby sa dal jednoducho integrovať do existujúcich projektov. V minulosti vložili veľa času do toho, aby vytvorili systém Facebooku a nemalo by zmysel kompletne ho prepísať. Preto je ich zámerom, aby bolo React jednoduché používať s jQuery, Angular, Backbone alebo iným javascriptovým frameworkom.

4. Kód je len jeden a používať ho môžete všade

Užívatelia trávia 18x viac času v natívnych aplikáciách než na mobilnom webe. Väčšina produktov na úspech preto potrebuje minimálne web a aplikácie pre iOS a Android. To zvyčajne znamená strojnásobenie nákladov na vývoj a údržbu každej platformy zvlášť. V takom rozmanitom prostredí býva náročné poskytnúť užívateľom jednotnú skúsenosť s prácou s appkou.

Hybridné aplikácie sa zdajú byť najlepším riešením. Pre začiatok toho človek nepotrebuje veľa, môže používať jeden kód na všetkých platformách a je jednoduchšie udržať ho konzistentný aj v tíme, pracujúcom na rôznych platformách.

Bohužiaľ, hybridné aplikácie zvyčaje nemôžu poskytnúť kvalitné UX a naštvať užívateľov ťažko použieľnou aplikáciou je asi to posledné, čo by ste chceli. Facebook sa to musel naučiť.

React Native je preto veľká zmena – človek môže progamovať v JavaScripte aplikáciu, využívajúcu natívne komponenty a platformy a pracovať s nástrojmi, ktoré sú podobné tým, ktoré pozná z vývoja pre web. Native podporuje hot reloading a nástroje ako Reploy alebo CodePush môžu okamžite doručiť vašu aplikáciu testerom aj užívateľom. A ak vás zaujíma, aká časť kódu je použiteľná medzi platformami, napríklad aplikácia Groups od Facebooku zdieľa 87% kódu na platformách iOS a Android.

5. Komunita je vždy ochotná pomôcť

Facebook sa snaží docieliť inováciu prostredníctvom komunity. Na oficiálnej React konferencii preto vystupujú aj prednášajúci, ktorí vyvíjajú konkurenčné technológie ako ClojureScript, Cycle.js a Elm. Niekoľko zásadných noviniek prišlo do Reactu práve vďaka ClojureScriptu, iné zase z Emberu či Elmu.

Nech už sa zaoberáte ktoroukoľvek z týchto technológií, v Reactive komunite je pre vás vždy miesto a vždy sa nájde niekto, kto je ochotný poradiť či spolupracovať.

Ekosystém Reactu je extrémne zameraný na vývojársku skúsenosť a produktivitu. Komunita už vytvorila niekoľko úžasných nástrojov a projektov, ktoré uľahčujú vývoj, napríklad BabelJS, Redux, React Router, Immutable.js, React Native Playground, Flow alebo Relay. A Facebook sám venuje veľa času práci s komunitou, dokonca si najal niekoľko BabelJS a Redux programátorov a investoval zdroje do oboch projektov.

A Facebook samozrejme nie jediným, kto podporuje Reactive komunitu. Yahoo, Mozilla, Airbnb, Netflix a ďalšie veľké spoločnosti využívajú React vo svojich aplikáciách a podporujú rôzne open-source knižnice a nástroje.

6. Je to stále JavaScript

Elm, ClojureScript, PureScript a ďalšie jazyky bojujú s Reactom o popularitu. Každý z nich má svoje superschopnosti, ktorým sa samotný JavaScript nevyrovná. Zároveň je ale oveľa ťažšie naučiť sa pracovať v novom ekosystéme a s novým jazykom.

React síce má v mnohých ohľadoch revolučný prístup, ale stále je to JavaScript. Ak ste sa nikdy predtým nevenovali funkcionálnemu programovaniu, je pravdepodobne omnoho ľahšie začať s Reactom.

7. V každom prípade bude mať dopad na vašu aplikáciu

Vyhnúť sa myšlienkam Reactu je už v dnešnej dobe nemožné. Angular 2 aj Ember prebrali niekoľko konceptov Reactu a samotný VirtualDOM mal veľký dopad na komunitu ClojureScriptu a Elmu.

React.js nie je len knižnica, ale aj fenomén, ktorý zmenil spôsob, akým programujeme. Preto je dôležité nezmeškať vlak a čím skôr sa začať zaujímať o Reactive technológie.

Záver

React ovplyvňuje vývoj webu a mobilného aj desktopového frontendu. Vďaka nemu sú tisícky programátorov produktívnejšie.

Nemusí byť dokonalým riešením pre každý projekt, ale môže pomôcť tomu vášmu a určite sa s ním budete stretávať viac a viac. React stojí za vašu pozornosť.

Ak vás ako technológia zaujal, určite si nenechajte ujsť ReactiveConf – druhú najväčšiu európsku konferenciu, zameranú na ReactJS a funkcionálne programovanie, ktorá sa bude konať 26.-28. 10. v Bratislave.

image00

Věděli jste, že nám můžete zasílat zprávičky? (Jen pro přihlášené.)

Zdroj: https://www.zdrojak.cz/?p=18703