Co Ci się nie podoba w Reakcie?

Co Ci się nie podoba w Reakcie?
N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
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 :)

VI
To że to twór facebooka. Wolę szybki Vue.
motoradk
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Tarnów
  • Postów:4
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
neves
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Kraków
  • Postów:1114
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.


edytowany 2x, ostatnio: neves
Kokoniłaj
Z tego co czytałem to już raczej pewne. Hooki mają zastąpić każde zastosowanie klasowych komponentów.
LukeJL
Ja wolę hooki, ale jest tyle legacy kodu pisanego na klasach, że wątpię, żeby to wywalili ot tak.
dzek69
Hooki to magia. Stosowanie magii nigdy nie jest dobre. Hejtuję hooki kiedy tylko mogę.
Kondziowsky
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:219
0

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

N0
Trzeba zawołać @mr_jaro :)
MA
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 19 godzin
  • Postów:644
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? ;)

Maciej Cąderek
Maciej Cąderek
Można {costam && <Component />} w tym przypadku
MA
no fakt ;) Mimo wszystko nadal wolę v-if
dzek69
Sobie zrób komponent typu <If condition={true || false}><Content /></If>, easy.
psmyrdek
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Bielsko-Biała
  • Postów:40
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.


Maciej Cąderek
Maciej Cąderek
programista Angulara - Mówiłem! Są programiści JSa i programiści Angulara :P
psmyrdek
W sumie to więcej tam TSa więc nawet się zgadza ;)
dzek69
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.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8397
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.


edytowany 2x, ostatnio: LukeJL
dzek69
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.
LukeJL
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ś.
dzek69
można, ale z tego nie korzystają :) next.js też to ma
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:2 dni
  • Lokalizacja:Rzeszów
0

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


dzek69
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.
Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:4700
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 :)


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
BraVolt
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Warszawa
  • Postów:2918
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.


"Kiedy wiedzieć czy zacząć nauke Springa? bo w czystej Javie to nic ciekawego nie zrobie chyba"
Ein Volk, ein Reich, ein Kwa-Kwa ***** ***
Maciej Cąderek
Maciej Cąderek
Ale co Angular? Angular jest popularny, ale nie najpopularniejszy.
BraVolt
IMO ma miejsce na pudle.
Kondziowsky
Patrząc na oferty pracy to React>Angular>Vue>Vanilla
BraVolt
@Kondziowsky: ale Raact/Angular solo czy w tandemie z np. Javą?
Kondziowsky
Mówię tutaj na razie tylko o solo porównaniu
Freja Draco
Freja Draco
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
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
Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:4700
1
Freja Draco napisał(a):

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

Szybszy i mniejszy jest framework http://vanilla-js.com/


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
Freja Draco
Freja Draco
Vanila.js to zaiste hiper-ultrapakowana biblioteka, ale trochę mało użyteczna :D
Haskell
Może chcesz powiedzieć, że JS jest mało użyteczny?
Freja Draco
Freja Draco
JS jest użyteczny, ale podstawowa funkcja biblioteki vanila.js, to podzieranie łacha z tych wszystkich: "technologie, które stosuję, chociaż nie wiem, do czego słuzą (tu trzy linijki tekstu)".
Kondziowsky
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:219
1

Dobra @cerrato, napiszę dlaczego reakt jest dziwny :/
Zajrzałem do tego Reacta, mam zamiar pobawić się dłużej, ale po pierwszym zerknięciu w porównaniu z Angularem jest tam taki... burdel. Mylę się?

cerrato
ciężko mi ocenić/porównać, bo z Angularem praktycznie nie miałem styczności, ale faktycznie React na pierwszy rzut oka sprawia dość zagmatwane wrażenie.
Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:4700
1
Kondziowsky napisał(a):

Dobra @cerrato, napiszę dlaczego reakt jest dziwny :/
Zajrzałem do tego Reacta, mam zamiar pobawić się dłużej, ale po pierwszym zerknięciu w porównaniu z Angularem jest tam taki... burdel. Mylę się?

IMHO React jest bardzo poukładany. Oczywiście kod można napisać spaghetti jak w każdej technologii. React podoba mi się, ze względu na stosunkowo niski próg wejścia. Wystarczy obejrzeć jakiś tutorial czy przeczytać początek dokumentacji i już można tworzyć bardzo szybko, bardzo fajne rzeczy.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
1

@Haskell: Ale wcześniej trzeba zaciągnąć kilkanaście bibliotek, żeby tego spaghetti nie było. ;) Wydaje mi się, że obecnie twórcy Reacta robią wszystko, aby użytkownicy nie musieli używać słowa kluczowego class, jakby to było jakieś zło wcielone. IMO te hooki jedynie zmniejszają czytelność. O wiele bardziej wolę lifecycle methods w kompnentach klasowych niż jakieś sztuczne useEffect. Poza tym stan powinny raczej posiadać obiekty, a nie funkcje.

Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:4700
4
nobody01 napisał(a):

@Haskell: Ale wcześniej trzeba zaciągnąć kilkanaście bibliotek, żeby tego spaghetti nie było. ;)

Nie, nie trzeba zaciągać żadnych bibliotek. Wystarczy stosować dobre praktyki w kodzie tak jak w każdym innym języku, np. dzielić odpowiedzialność, pisać małe metody, nie wciskać wszystkiego do jednego pliku. Lubię korzystać ze styled-components, ale absolutnie nie musisz tego zaciągać, żeby pisać czysty kod. Podobnie nie musisz wcale korzystać z Reduxa, wystarczą hooki.

Wydaje mi się, że obecnie twórcy Reacta robią wszystko, aby użytkownicy nie musieli używać słowa kluczowego class, jakby to było jakieś zło wcielone.

Bo to jest zło wcielone, dodane do języka tylko po to, żeby jeszcze więcej code monkeys z backgroundem Java czy C# pisało w tym kod. W JS nie ma klas i jest to wyłącznie cukier składniowy, który przykrywa prototypy. Klasy w JS nie działają tak jak w normalnych językach, które były od początku tworzone z myślą o programowaniu obiektowym.

IMO te hooki jedynie zmniejszają czytelność.

Znacznie mniej czytelny jest Redux, który dodatkowo posiada wysoki próg wejścia. Podobnie mało czytelne jest lawinowe przekazywanie stanu przez propsy. Hooki to wybawienie i jedna z najlepszych funkcjonalności w tej bibliotece.

O wiele bardziej wolę lifecycle methods w kompnentach klasowych niż jakieś sztuczne useEffect.

Nie wiem co jest fajnego w powtarzaniu kodu, albo używania wielu metod cyklu życia, żeby zrobić to samo co za pomocą jednego useEffect.

Poza tym stan powinny raczej posiadać obiekty, a nie funkcje.

JS to specyficzny język i ze względu na swoją budowę przechowywanie stanu w domknięciach jest bardzo często zbawienne.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
1

@Haskell: Ja bym chętnie zobaczył jakąś niebanalną aplikację bez kilkunastu zaciągniętych bibliotek, bez Reduxa, z własnym systemem formularzy, opartą na hookach i w której komponenty nie miałyby kilkuset linii kodu. Widziałeś gdzieś taką na GitHubie?

Haskell
Nie pokażę żadnego repo bez zaciągniętych bibliotek, ponieważ te biblioteki się przydają. Ja pisałem o tym, że nie trzeba zaciągać żadnych bibliotek żeby pisać czysty kod. Biblioteki wiele rzeczy uprzyjemniają, więc nie widzę sensu ich nie stosować tylko po to żeby udowodnić naysayerom, że tak się da.
Kondziowsky
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 2 lata
  • Postów:219
0

A wytłumaczy mi ktoś o co chodzi w końcu z tym React Native? Bo był ogromny bum, wszyscy w tym pisali, a teraz coraz częściej spotykam się z opinią, że to jest be i lepszy chociażby flutter.

edytowany 1x, ostatnio: Kondziowsky
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:minuta
  • Postów:8397
1

Nie wiem, jak ci, co wolą klasy + lifecycle methods, w ogóle je pamiętają.

Ja wolę hooki m.in. z tego powodu, że mogę czuć się mocny w React. Przy metodach zawsze mi się myliło wszystko. Po pierwsze - nazwy tych metod, ale to nie problem jeszcze (BTW twórcy Reacta celowo ponoć nazwali je w taki verbose sposób, żeby było łatwo je znaleźć w kodzie). Dużo gorzej zawsze mieć z tyłu głowy "która metoda do czego służy" i "która metoda, kiedy się odpalać" i śledzić zmiany z kolejnymi wersjami React.

Więc jeśli mam korzystać z lifecycle methods, to muszę ciągle wracać do dokumentacji czy ściąg. A działanie hooków mogę łatwiej spamiętać.

bez Reduxa

Bez Reduxa czy bez dodatkowej biblioteki do zmieniającego się stanu? Bo jak ktoś chce, to może Mobxa użyć choćby. Można Rx użyć (albo biblioteki stanu opartej o Rx). I tuzina innych popularnych reaktywno-stanowych bibliotek.

Z Reduxem to trochę paradoks, bo fenomen Reduxa polegał na tym, że był prosty i można było w nim pisać kod bez większych ceremonii (w 2015 standardem był Flux i inne biblioteki, które były bardziej skomplikowane od Reduxa).

Problem jednak pojawił się w tym, że w realnych aplikacjach prostota Reduxa okazała się niewystarczająca. Ludzie zaczęli się zastanawiać "gdzie włożyć skutki uboczne? jak zintegrować Reduxa z API?". Więc mimo, że React sam jest dodatkiem do Reacta*, to ludzie zaczęli robić kolejne dodatki, tym razem do Reduxa - choćby Redux Saga. Mało tego. Ludzie zaczęli robić dodatki do Redux Sagi. Czyli ludzie robią dodatki do dodatku do dodatku do Reacta.

Czyli taka fraktalizacja ekosystemu. Z jednej strony to dobrze, bo nie ma jednego frameworka, który coś wymusza, z drugiej strony źle, bo większość programistów nie ma na tyle doświadczenia i rozwagi, żeby umieć dobrać sobie te biblioteki. Po prostu idą za tłumem i robią to, co wszyscy, czyli np. wpieprzamy Reacta, Reduxa, Sagę, Redux Form i inne modne rozwiązania, bo to znają, nie chcą podejmować większych decyzji projektowych, nie wiedzieliby nawet jak.

No i oczywiście prostota Reduxa spaliła na panewce - bo mimo, że sama biblioteka jest prosta, to sposób jej używania zachęca do przeinżynierowywania aplikacji (i ludzie to bardzo często robią). To trochę jakby Redux był dobrą biblioteką, ale nie do tego, do czego ludzie ją używają. Jakby próbowali tego Reduxa na siłę wcisnąć.

*Redux technicznie jest niezależną biblioteką i można jej używać niezależnie od Reacta, ale jeśli chodzi o sposób korzystania, to najczęściej pewnie jest wykorzystywany z Reactem, więc skrótowo nazwę to dodatkiem do Reacta, mimo, że technicznie nim nie jest, a jedynie może być zintegrowany z Reactem.


edytowany 3x, ostatnio: LukeJL
renderme
  • Rejestracja:około 6 lat
  • Ostatnio:10 minut
  • Postów:1461
1
Kondziowsky napisał(a):

A wytłumaczy mi ktoś o co chodzi w końcu z tym React Native?

Mam nieszczescie w tym pracowac.
Idea byla taka, ze do vdomu mozna podpiac dom z przegladarki, ale przeciez mozna podpiac natywne komponenty z dowolnego systemu, np. Android, ios, windows, windows phone. Jak sie rozwiaze pare problemow, to bedzie jsowy wraper natywnego ui. Pomysl dobry, wykonanie zle. Bazowanie na zewnetrznych paczkach w przegladarce stwarza problemy, ale bazowanie na node modules zawierajacych bridge do natywnych funkcji, tworzonych pod okreslone konfiguracje stworzylo pieklo.


Granie w gry i robienie gier ma tyle wspólnego, co uprawianie seksu z pracą ginekologa.
mad_penguin
mad_penguin
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Rzeszów
0
nobody01 napisał(a):

Wydaje mi się, że obecnie twórcy Reacta robią wszystko, aby użytkownicy nie musieli używać słowa kluczowego class, jakby to było jakieś zło wcielone. IMO te hooki jedynie zmniejszają czytelność. O wiele bardziej wolę lifecycle methods w kompnentach klasowych niż jakieś sztuczne useEffect. Poza tym stan powinny raczej posiadać obiekty, a nie funkcje.

Prawda, że początkowo wygląda to dziwnie i nienaturalnie, ale można się do tego przyzwyczaić, a zawsze to mniej boilerplatu.

N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
2

No ok, ale dalej chętnie bym zobaczył jakiś kod. Bo na razie jedynie filozofujemy. ;)

N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
0

W Angularze nietrudno jest znaleźć przykładowe repozytorium, na którym można się wzorować, chociażby to: https://github.com/tomastrajan/angular-ngrx-material-starter Fakt, techniki zastosowane tu są overkillem dla większości aplikacji, ale nic nie stoi na przeszkodzie, żeby np. wywalić ngrxa. Jaka jest odpowiedź społeczności Reacta? Jest jakakolwiek?

edytowany 1x, ostatnio: nobody01
renderme
  • Rejestracja:około 6 lat
  • Ostatnio:10 minut
  • Postów:1461
0

Dla mnie problemem jest flux. To problem bardzo wielu frameworków. Jako, że we frontend wszedłem później, a zaczynałem w gamedevie, a poźniej backend, to pachnie mi to podobnie do niepotrzebnego, przebudowanego singletonu. Singletony stosować można, ale np. jako listenery, obserwery itp, które dalej komunikują się z odpowiednimi elementami MVC. Tym czasem widzę, że do reduxa pcha się całą logikę. W efekcie każda aplikację trzeba pisać od nowa i praktycznie nie da się wykorzystać nic poza efektami graficznymi.


Granie w gry i robienie gier ma tyle wspólnego, co uprawianie seksu z pracą ginekologa.
Haskell
  • Rejestracja:ponad 9 lat
  • Ostatnio:10 miesięcy
  • Postów:4700
0
nobody01 napisał(a):

W Angularze nietrudno jest znaleźć przykładowe repozytorium, na którym można się wzorować, chociażby to: https://github.com/tomastrajan/angular-ngrx-material-starter Fakt, techniki zastosowane tu są overkillem dla większości aplikacji, ale nic nie stoi na przeszkodzie, żeby np. wywalić ngrxa. Jaka jest odpowiedź społeczności Reacta? Jest jakakolwiek?

Żartujesz sobie? Do każdego możliwego framworka powstały takie example repo: https://github.com/gothinkster/realworld


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
N0
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Gdańsk
  • Postów:647
0

Aplikacja React & Redux ma prawie 3 lata. Sporo się od tego czasu zmieniło :P Poza tym wygląda na bardzo uproszczoną. Nie ma chyba nawet walidacji formularzy (błędy idą z serwera), jak tak patrzę na komponent rejestracji: https://react-redux.realworld.io/#/register?_k=k3bhkx

Spojrzałem sobie też na ich repo dotyczące ASP.NET Core i słabo to wygląda. Jest encja na twarz, rzucanie wyjątków gdzie popadnie, nieoddzielone konfiguracje ORMa od encji. Do tego sama domena jest bardzo prosta.

Także uważałbym na te repozytoria.

edytowany 6x, ostatnio: nobody01
mad_penguin
mad_penguin
przecież już ustaliliśmy że nie ma na githubie takiego repo którego 4p nie zjedzie :D
N0
Nie jesteś na czasie - już mamy! https://github.com/kgrzybek/modular-monolith-with-ddd Oczywiście to totalny overkill dla jego problemu, ale podobno trudno się do czegoś przyczepić. :D
mechanix
  • Rejestracja:około 9 lat
  • Ostatnio:4 dni
  • Postów:501
0
renderme napisał(a):
Kondziowsky napisał(a):

A wytłumaczy mi ktoś o co chodzi w końcu z tym React Native?

Mam nieszczescie w tym pracowac.

Co za mało mądry tech lead zdecydował, żeby wybrać bibliotekę w wersji < 1.0 ? :D

PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
0
mechanix napisał(a):
renderme napisał(a):
Kondziowsky napisał(a):

A wytłumaczy mi ktoś o co chodzi w końcu z tym React Native?

Mam nieszczescie w tym pracowac.

Co za mało mądry tech lead zdecydował, żeby wybrać bibliotekę w wersji < 1.0 ? :D

To głupie pytanie! :P


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
renderme
  • Rejestracja:około 6 lat
  • Ostatnio:10 minut
  • Postów:1461
0

Co za mało mądry tech lead zdecydował, żeby wybrać bibliotekę w wersji < 1.0 ? :D

To był diabeł z piekła.
Jedyna zaleta jest taka, że gorzej już być nie może.
Wszystkie zależności mamy w package.json wpisane na sztywno, a jak jakaś wersja zniknie z npm to jest afera.


Granie w gry i robienie gier ma tyle wspólnego, co uprawianie seksu z pracą ginekologa.
edytowany 1x, ostatnio: renderme
Wibowit
Wszystkie zależności mamy w package.json wpisane na sztywno, a jak jakaś wersja zniknie z npm to jest afera. - no to może postawcie własny mirror z którego paczki nie będą uciekać?
renderme
Wiadomo, trzeba je trzymać. Ogólnie to nie powinno tak wyglądać...
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)