Co Ci się nie podoba w Reakcie?

Odpowiedz Nowy wątek
2019-10-04 10:20
1

Za sugestią z wątku o Angularze zakładam wątek o wadach Reacta. Mam nadzieję, że pojawią się jakiekolwiek odpowiedzi :D Pozdrawiam @neves :)

To że to twór facebooka. Wolę szybki Vue. - vin 2019-10-04 19:52

Pozostało 580 znaków

2019-10-04 15:06
3

Nie przeglądałem jeszcze tamtego tematu i nie wiem w jakim kierunku się ten rozwinie ale jest kilka minusów które niesie ze sobą React.

  1. "Otwartość" - brzmi kuriozalnie ale już śpieszę z wyjaśnieniami. W React możesz pisać komponenty funkcyjnie, obiektowo. Możesz używac Hooksów, recompose etc. Co z jednej strony jest bardzo fajne bo daje dużą przestrzeń dla projektu ale z drugiej strony może być gwoździem do trumny dla projektu, jeśli nie sporządzi się odpowiedniego stacku dla danego projektu.

  2. Pliki *.jsx które na początku mogą bardzo irytować (zwłaszcza po przesiadce z ng, ale później dostrzegasz walory tego rozwiązania)

  3. Nieczytelność - W zasadzie tyczy się to również punktu pierwszego, gdzie pisałem o otwartości. W Angularze masz ładnie pogrupowane i oznaczone odpowiednimi dekoratorami serwisy, widoki, handlersy etc. W React defaultowo tego nie ma i chcąc napisać dobry projekt, ważne jest by trzymać się ściśle wytycznych projektowych, tak by połowa kodu nie wyglądała jak spaghetti. :)

edytowany 1x, ostatnio: ŁF, 2019-10-06 16:32

Pozostało 580 znaków

2019-10-04 19:09
4

Jak widać nawet nie ma co hejtować w react :D, mnie bolą dwie rzeczy:

  • obsługa formularzy, obecne dostępne rozwiązania wymagają zdecydowanie za dużo kodu w porównaniu do reszty reacta, gdzie wszystko się robi prosto i przyjemnie, a formularze przez ten one way binding trzeba się sporo naklepać

  • hype devlopment na skalę niespotykaną nigdzie indzie, był hype na reduxa, to wszędzie tego reduxa wpychano pomimo tego że większość projektów go nie potrzebuje. Obecnie jest hype na Apollo GraphQL i nagle się okazuje że wcale reduxa tak bardzo do szczęścia nie jest potrzebny. Jeszcze większy jest hype na hooki, gdzie ludzie na siłę próbują zastępować nim klasowe komponenty, które jakby nie było team reacta zamierza uczynić obiektami drugiej kategorii i zrobić z nich dodatek do reacta, a nie podstawę jaką są obecnie. Jak to się stanie to wracam do #teamAngular #teamSvelte.


It's easy to hate code you didn't write, without an understanding of the context in which it was written.
edytowany 2x, ostatnio: neves, 2019-10-09 15:36
Z tego co czytałem to już raczej pewne. Hooki mają zastąpić każde zastosowanie klasowych komponentów. - Kokoniłaj 2019-10-05 23:25
Ja wolę hooki, ale jest tyle legacy kodu pisanego na klasach, że wątpię, żeby to wywalili ot tak. - LukeJL 2019-10-06 00:20
Hooki to magia. Stosowanie magii nigdy nie jest dobre. Hejtuję hooki kiedy tylko mogę. - dzek69 2019-10-09 15:31

Pozostało 580 znaków

2019-10-04 19:16
0

I co, to tyle? :| wysilcie się no trochę..

Trzeba zawołać @mr_jaro :) - nobody01 2019-10-04 19:23

Pozostało 580 znaków

2019-10-04 19:34
1

Mi się nie podoba brak v-if (jak to jest w Vue) tylko trzeba pisać konstrukcje typu { costam ? <component /> : null } - a może jest tylko nie wiem? ;)

Można {costam && <Component />} w tym przypadku - Maciej Cąderek 2019-10-04 19:57
no fakt ;) Mimo wszystko nadal wolę v-if - Markuz 2019-10-04 19:59
Sobie zrób komponent typu <If condition={true || false}><Content /></If>, easy. - dzek69 2019-10-09 15:32

Pozostało 580 znaków

2019-10-04 22:24
1

React jest spoko jednak odleciał tak daleko od standardów przeglądarki, że trudno mu wrócić na ziemię. Swój własny system eventów oraz propertisów powoduje, że przy integracji z WC życie robi sie trudne:

https://custom-elements-everywhere.com/

Poza tym jest fajny. Pozdrawiam, programista Angulara.


programista Angulara - Mówiłem! Są programiści JSa i programiści Angulara :P - Maciej Cąderek 2019-10-05 00:04
W sumie to więcej tam TSa więc nawet się zgadza ;) - psmyrdek 2019-10-05 12:31
Web Components mają ten problem, że to niestabilne. Nadal. Po tylu latach zapowiadania rewolucji. https://caniuse.com/#search=components Dla mnie React jest właśnie wygodną odpowiedzią na to niespełnione zapotrzebowanie. - dzek69 2019-10-09 15:34

Pozostało 580 znaków

2019-10-06 00:28
4

Technicznie to programiści Facebooka robią, co mogą. Od kiedy dodali hooki, to się całkiem przyjemnie tego używa, więc do samej biblioteki się nie przyczepię.

Jednak ekosystem, społeczność, ludzie używający tej biblioteki, to są często patologie.

  1. ignorancja - do Reacta siadają ludzie bez podstaw JavaScriptu. Albo ludzie, którym się nie chce zajrzeć do dokumentacji Reacta. Tak samo z Reduxem. Ludzie nie wiedzą, jak działają zmienne czy obiekty w JS, a biorą się za Reacta. Czyli React to nowe jQuery, biblioteka dla ludu, w której można pisać nie znając języka (tylko, że potem ludzie się dziwią, że im coś nie działa tak jak trzeba).

  2. presja na sławę (czyli każdy chce jakoś się pokazać, napisać swój kurs Reacta albo stworzyć g**no-bibliotekę, każdy chce mieć coś swojego, albo stworzyć własny wydziwiony styl programowania i napisać o nim na Medium, że odkrył np. nowy sposób nazywania katalogów w projektach reactowych. Żeby tylko być na pierwszej stronie Reddita). Czyli social media driven programming. Ludzie piszą biblioteki open source tylko po to, żeby zabłysnąć w social media. Zabłysnąć... przez 2 dni może, do czasu aż ktoś wrzuci linka do kolejnej biblioteki.

  3. hype driven development & cargo cult (czyli każdy wpycha na siłę tego Reduxa i inne biblioteki aktualnie na topie. i robi to całkowicie bezsensu, nie rozumiejąc przeznaczenia bibliotek i nie dopasowując tego pod siebie, a tylko wpycha, bo tak gdzieś wyczytał)

  4. brak umiaru. Czyli wrzucanie od groma bibliotek i innych śmieci bez myślenia o konsekwencjach, czy to będzie wydajne, czy łatwe w utrzymaniu itp.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 2x, ostatnio: LukeJL, 2019-10-06 00:31
Ad 1, 3, 4 - to samo bym powiedział o Vue (zresztą z Angularem też tak było, ale mniej go widzę teraz). Nuxt.js jakoś lepiej się przyjął niż taki next.js z jakiegoś powodu. Ale regularnie trafiam na strony wyświetlające coś w rodzaju "You need to enable JavaScript to run this app." (domyślnie blokuję JS). Odblokowuję JS i okazuje się, że to jednostronicowy landing page bez linków, bez interakcji. Statyczna strona, tylko zapakowana we Vue (w źródłach js widać). Rzadko widzę, żeby to był inny framework. - dzek69 2019-10-09 15:39
w ekosystemie React istnieje możliwość pisania statycznych stron na React (jest takie coś Gatsby), czyli piszemy w React (możemy korzystać z komponentów), ale kompiluje się do statycznej strony (o ile dobrze to rozumiem, dawno z tego nie korzystałem). Ciekawe czy dla Vue istnieje podobne coś. - LukeJL 2019-10-09 16:05
można, ale z tego nie korzystają :) next.js też to ma - dzek69 2019-10-09 16:06

Pozostało 580 znaków

2019-10-09 15:48
0

Hooki, czyli "magia" jako sztandarowy element biblioteki. Coś jeszcze mi wadziło przez te parę ostatnich lat z Reactem, ale to najbardziej.


No i React Native o kant tyłka można.. ale to już wina złej implementacji, dziwnych pomysłów i olewczego stosunku do bugów i nie jest problemem samego Reacta. - dzek69 2019-10-09 15:48

Pozostało 580 znaków

2019-10-09 20:19
2

@dzek69 - Ale jaka magia? Jeżeli w takim, że nie wiesz jak to działa, to każda metoda to magia, bo przeciętny klepacz kodu nigdy nie zajrzał w kod dziesiątek metod, które używa.

@LukeJL - Ale to raczej zarzuty w kierunku całej społeczności/ekosystemu JS. React to nie jest chwilowa moda, tylko obecnie najpopularniejsza biblioteka w nowych projektach webowych, ponieważ najpopularniejsza biblioteka w ogóle to wciąż jQuery :)


Wiedza to potęga

Pozostało 580 znaków

2019-10-09 20:26
0
Haskell napisał(a):

React to nie jest chwilowa moda, tylko obecnie najpopularniejsza biblioteka w nowych projektach webowych, ponieważ najpopularniejsza biblioteka w ogóle to wciąż jQuery :)

A Angular? Chyba, że zakładamy sztywno, Angular nie, bo to on przypiętą etykietę framework.

Ale co Angular? Angular jest popularny, ale nie najpopularniejszy. - Maciej Cąderek 2019-10-09 21:27
IMO ma miejsce na pudle. - BraVolt 2019-10-09 21:31
Patrząc na oferty pracy to React>Angular>Vue>Vanilla - Kondziowsky 2019-10-09 21:32
@Kondziowsky: ale Raact/Angular solo czy w tandemie z np. Javą? - BraVolt 2019-10-09 22:08
Mówię tutaj na razie tylko o solo porównaniu - Kondziowsky 2019-10-10 09:26

Pozostało 580 znaków

2019-10-09 20:53
3

Nie znam się, to się wypowiem.
Jako oldskulowa JS-ica wszelkie JS-owe biblioteki postrzegałam zawsze jako sposób na to, żeby proste rzeczy robić w bardziej pokręcony sposób, angażując do tego wielokrotnie większe ilości kodu i tracąc kontrolę nad tym, co tam się właściwie dzieje.

A jedyną bibliotekę, którą uważałam nie tylko za pożyteczną ale wręcz genialną był Alladyn, który miał chyba ze 2KB i kilkanaście lat temu w świecie przeglądarek o 3 różnych, niekompatybilnych koncepcjach DOM pozwalał okiełznać elementy strony i nawet robić animacje z wykorzystaniem klatek kluczowych.


edytowany 1x, ostatnio: Freja Draco, 2019-10-09 20:53

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0