Pereiti prie turinio

ReactJS - bevertis?


Rekomenduojami pranešimai

React'ą atradau, kai panorėjau perrašyti puslapį, jog vaikščiojant per linkus, neperkrovinėtų nieko, o tiesiog viskas vyktų per AJAX. Iš pirmo žvilgsnio tai atrodė tinkamas įrankis.

Darbo skelbimai Lietuvoj visur nori React'o. Man atrodo, jog tai yra bevertis sh.. gabalas, nes jo perteklinis kompleksiškumas tiesiog trukdo greitai prototypint norimą idėją. Babel, WebPack, JsX, ta prasme norint developint reikia įdėt nemažai pastangų, konfigūruojant programavimo aplinką, plius lib'as sveria daug - taip išeina jog developinimo greitį mainau į puslapio krovimo greitį. Atrodo, jog jei appsas nesiekia Fb sudėtingumo, tai tiesiog patogiau kodinti su vanilla JS, DOM manipuliavimas nėra kažkas wow.

Kaip yra iš tikro? Norėtūs nuomonių pagrįstų praktine programavimo patirtimi - gal kažkas perrrašę viską iš React į vanilla JS? Arba atvirkščiai? Ir dar Virtual DOM? Tai yra poziciuonuojama kaip kažkas reikšmingo - nors savaime suprantama, jog keičiant vieną elementą, nebūtina keist kitų - jeigu viską darau su vanilla JS tai taip ir gaunas, ar taip gaunas kad Virtual DOM yra tiesiog buzzword'as ir marketingo triukas skirtas pritraukti hipsterinius programuotojus, kurie nesupranta apie ką eina kalba?

Ar react'as yra labiau ne įrankis, o standartas, padedantis didesniai programuotojų komandai rašyti kodą, kuris yra labiau vientisas?

Redagavo Hakerman
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • Hakerman pakeitė pavadinimą į ReactJS - bevertis?

Tai kiek to greicio aukoji, realiai tik ant initial call'o. O paskui viskas CSR. Nori mazinti bundle size, naudok Lazy https://reactrouter.com/en/main/route/lazy

As su vanilla JS nekodines, bet ir mazam apssui cia nera kazkas komplikuoto. Aisku tai yra tiesiog libas, o ne framworkas, tad kazkokiu configu, dependenciu gali reikti, bet startuoji su kokiu https://vitejs.dev/guide/, isimeti routeri ir kodini. Man jsx sintakse labai aiski, visur funkciniai komponentai. 
Kas liecia pati React, tai kiek kazkur mineta, tai React teamas pradejo bendrai lyg firbti su NextJS (Vercel), tai realiai viskas eina i fullstack frameworkus su SSG, CSR, ISR.

Redagavo finansai
Nuoroda į pranešimą
Dalintis kituose puslapiuose
prieš 3 valandas, Hakerman parašė:

Ar react'as yra labiau ne įrankis, o standartas, padedantis didesniai programuotojų komandai rašyti kodą, kuris yra labiau vientisas?

su šiuo freimworku tiesiog viskas greičiau rašosi (kodas), su es6 labai daug eilučių gaunasi, bent jau mano nuomonė tokia. keista sintaksė, bet labai greit perprantama

Nuoroda į pranešimą
Dalintis kituose puslapiuose
prieš 4 valandas, Hakerman parašė:

jei appsas nesiekia Fb sudėtingumo, tai tiesiog patogiau kodinti su vanilla JS

Pats parašiai atsakymą į savo klausimą, programuoti kompleksišką aplikaciją bus kur kas efektyviau su react. React nėra bevertis, jeigu būtų - ar tokie brand'ai kaip FB, Netflix, airbnb jį naudotų, ar jis turėtų tokią bendruomenę? React.js yra gera biblioteka su kuria kur kas efektyviau kurti, plėsti ir išlaikyti didesnius produktus. Ir nelabai manau, kad galima lyginti react.js ir vanilla, jie gan skirtingi - viskas priklauso nuo projekto.

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose
prieš 9 valandas, akakp parašė:

Pats parašiai atsakymą į savo klausimą, programuoti kompleksišką aplikaciją bus kur kas efektyviau su react. React nėra bevertis, jeigu būtų - ar tokie brand'ai kaip FB, Netflix, airbnb jį naudotų, ar jis turėtų tokią bendruomenę? React.js yra gera biblioteka su kuria kur kas efektyviau kurti, plėsti ir išlaikyti didesnius produktus. Ir nelabai manau, kad galima lyginti react.js ir vanilla, jie gan skirtingi - viskas priklauso nuo projekto.

O kodėl dideliems projektams geriau React, o mažiems – vanilla JS?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Iš tiesų react gali būti naudojamas tiek didesniems, tiek mažesniems projektams.

React yra geresnis įrankis didesniems projektams nes galima susikurti komponentų struktūrą, kuri leis turėti kodą, kuris gali būti pernaudojamas tarp projektų. Taip pat yra labai patogios duomenų valdymo bibliotekos, kurios sujungia duomenis su komponentais. Ir dienos pabaigoje, jeigu komponentų ir duomenų struktūra yra suorganizuota tvarkingai, projektą tobulinti ir plėsti galima kur kas sparčiau. 

Vanilla JS naudočiai tik kai reikia nesudėtingo frontendo - mažai komponentų, funkcijų, interaktyvumo, duomenų valdymo.  

Nuoroda į pranešimą
Dalintis kituose puslapiuose
prieš 9 valandas, misterix parašė:

alpinejs manau galima paprastesniems projektams naudoti, gal svelte (bet jį berods per cdn nepakrausi)

Svelte nereikia krauti per CDN, jis yra sukompilnamas į norimą ES versiją (tarkim, ES5) ir atiduodamas browser'iui vykdyti kaip paprasčiausiai Javascript kodas (norimos Ecmascript versijos).

Redagavo Neuto
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Autorius, matau, išvis nieko nelietęs su normaliais framework'ais.

Citata

React'ą atradau, kai panorėjau perrašyti puslapį, jog vaikščiojant per linkus, neperkrovinėtų nieko, o tiesiog viskas vyktų per AJAX. Iš pirmo žvilgsnio tai atrodė tinkamas įrankis.

Kaip įsivaizduoji neperkrovimą šiuose link'uose: https://example.com/foo ir http://example.com/goo ?

Citata

Darbo skelbimai Lietuvoj visur nori React'o. Man atrodo, jog tai yra bevertis sh.. gabalas, nes jo perteklinis kompleksiškumas tiesiog trukdo greitai prototypint norimą idėją.

Esmė tokia, kad būtent ant React dėl to ir varo daug kas, nes jis super lengvas ir galima rašyti pricrap'intą kodą su juo. Tu pažiūrėk bent vieną normalų React kursą ir tada dalinkis mintimis. O dar geriau - pasigilink į Software Engineering, Computer Science. Nes atrodo, kad nelabai supranti, kas yra toks dalykas kaip inkapsuliacija.

Citata

Atrodo, jog jei appsas nesiekia Fb sudėtingumo, tai tiesiog patogiau kodinti su vanilla JS, DOM manipuliavimas nėra kažkas wow.

Dalis tiesos čia yra. Dabar nebe XXI amžiaus pirmas dešimtmetis, taigi dauguma naršyklių jau palaiko normalų JS, tad gali realiai viską nesunkiai daryti per tokioms ekosistemoms skirtą kodą, kuris tiktų daugumai. Bet galiausiai vis tiek rezultatas bus toks, jog pradėsi rašyti savo framework'ą. Va čia ir atsiras tokie dalykai kaip React.

Citata

Ir dar Virtual DOM?

Šiaip tai Virtual DOM yra vienas geresnių pattern'ų, kurį tokie framework'ai kaip React ir įgyvendina. Pats darytum rimtesnį projektą - galiausiai pats pradėtum galvoti apie kažkokį DOM virtualizavimą. Virtual DOM yra labai paprastas dalykas - veiksmų seka, kuri yra atliekama iki tol, kol keičiamas realus DOM'as. Jokio čia buzzword nėra. Paprasčiausiai iki "document.***" atlieki atmintyje veiksmų seką ir tik galutinį jos rezultatą jau keiti per "document.***".

Redagavo topsas
BB tag'ai neveikia.
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 mėnesių...
Citata

Autorius, matau, išvis nieko nelietęs su normaliais framework'ais.

Sėkmės sprendžiant dependency issues, versiju problemas ir t.t kol Aš tiesiog parašysiu kodą.

Citata

Kaip įsivaizduoji neperkrovimą šiuose link'uose: https://example.com/foo ir http://example.com/goo ?

Perrašysiu kodą, jog paspaudus ant šių linkų, vyktų ajax call'as o ne pilnas puslapio perkrovimas.

Citata

Tu pažiūrėk bent vieną normalų React kursą ir tada dalinkis mintimis. O dar geriau - pasigilink į Software Engineering, Computer Science. Nes atrodo, kad nelabai supranti, kas yra toks dalykas kaip inkapsuliacija.

Computer Science nelabai web dev'e reikalingas, tiesiog dažniausios problemos tai frameworkų klijavimas ir problemos susijusios su pernelyg dideliu infrastruktūros kompleksiškumu. Software Engineering, inkapsuliacija - cmon nereikia keltis su sudėtingais žodžiais, visi gi iš patirties žinom, jog kodas turi būti moduliarus, kad būtų lengviau keičiamas ateity. Tačiau OOP kartais prasilenkia su sveiku protu, kai bandoma design patternus taikyti sprendimams kuriems to nereiktų. O inkapsuliacija irgi manau dažnai nėra reikalinga - nebent patinka rašyt getterius setterius visur, kur tik yra kinamasis, vien dėlto jog galėtum pasigirti, jog esi įgudęs ties gerosiom praktikom( siulyčiau Tau pasižiūrėt kas yra cargo cult programming ). Šeip būtų įdomu pamatyt kokio nors webo pvz, kurį darant React yra produktyvesnis negu vanillaJS.

Redagavo Hakerman
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...