React ovšem začíná být jako knihovna koncepčně poměrně zastaralý. Další generace frameworků jako Svelte a další je už dlouho zase o kus dál. Spousta věcí v něm dnes kompenzuje známé problémy jeho konceptu jako takového.
Navíc z velké -- ne-li dnes už z převážné části -- se na vývoji podílí Vercel; Meta v něm hraje stále okrajovější roli. A Vercel z něj v podstatě dělá Next.js čímž ho likviduje ještě víc. Kdo Next.js používal na větším projektu, ví, jakkoliv "kvalit" prvních Angularů 2 naštěstí nedosahuje.
Nebojte, kazde dva roky pride React z niecim "revolucnym" a kompletne prekope principy svojho fungovania, aby mohli fronfrdaci vykazovat cinnost.
Dělám v Reactu už nějakých sedm nebo osm let a princip fungování je stále stejný - geniálně jednoduchý.
Hej a nemenili sa povodne class komponenty najskor na funkcionalne, potom prisli hooky, potom prisli signaly a este neviem co?
Princip fungování Reactu je "Mám stav a render funkci co ho převádí na virtuální DOM. Když se data změní, spustí React render příslušných komponent, udělá diff virtuálního DOMu a rozdíly propíše do prohlížeče." Ten se nezměnil.
Klidně můžete stále programovat "postaru" s class komponenty a bez hooků. Signály ani nejsou součástí (core) Reactu.
Kde je tedy to "kompletní překopání principů" co se má dít každé dva roky?
10. 11. 2025, 12:48 editováno autorem komentáře
A to kto používa Svelte alebo Vue či niektoré iné z novej generácie? Business využíva Angular alebo React. Svelte má 1 rok security podporu. To je nepoužiteľné. To budete každý rok prerábať, updatovať frontend? Štandard je aspoň tie 3 roky. Nehovoriac o tom, že nedávno rozbili úplne spätnú kompatibilitu.
To kebyže chcem absolútnu špičku a nevadia mi každoročné updaty (nejaké consumer aplikácie), tak si zoberiem Flutter, na ktorý sa Svelte atď ani len nechytá.
Zrovna na Svelte je těch projektů dost. Z těch známějších, o kterých vím třeba Windy. A nemohou si ho vynachválit, mimochodem. Škoda, že se z nich stala poslední roky dost divná firma; bývali fajn. Na většině menších projektů na frontendu to, co nazýváte "security podpora" víceméně nikdo neřeší. To je realita. Jediné místo, kde jsem se s tím za patnáct potkal byl nejmenovaný velký korporát a i tam to jen prošlo spíš jako momentální úvaha. Nemusí se vám to líbit, ale to je asi tak vše.
Ano, Next.js jsem za poslední tři roky updatoval asi pětkrát. Expo/Metro a React Native na jiné aplikaci (a to je co se updatů týká ještě o úroveň větší hrůza) za posledních třičtvrtě roku dvakrát. To je běžná praxe. Updatovat třeba React 18 na React 19 nám tu, mimochodem, na větší aplikaci vzalo asi dva člověkodny práce, tak "snadné" to bylo. A srovnávat Flutter se Svelte je jako srovnávat kladivo s lopatou.
10. 11. 2025, 10:36 editováno autorem komentáře
Pokial viem, tak React nema ziadnu garantovanu podporu. Mozno sa na tom nieco zmenilo od minuleho roku.
React sa podla mna dostal do stavu PHP roku 2012 - kazdy ho pouziva, kazdy ho pozna, je to prva volba na trhu, je na nom vela kniznic su o nom konferencie, ale principilane je najhorsi na trhu.
Dnes keby zacinam na zelenj luke tak idem smerom HTMX (lebo udrzovat jednu aplikaciu je lepsie ako dve) a keby fakt potrebujem SPA tak Svelte.
Skúšal som si HTMX, tam sa leakuje frontend to kontrollerov. Kontroller má byť úplne nezávislý od použitej UI technológie. Takže rozhodne nie.
Ale ved kontrlleri su na spracovanie HTTP requestu, tam vam UI lekauje vzdy. UI by vam nemalo lekaovat do aplikacnej logiky.
Kontrolleri komunikujú s okolím cez endpointy pomocou JSON. Tak je backend úplne izolovaný od frontendu. Môžete zobrať jedno UI, zahodiť druhé UI, a backend nič nerieši. ČI už tam dáte React, JavaFX, Avaloniu, bash scripty, to je úplne jedno.
Ale pri tom HTMX, tam máte zadrátované tie fragmenty v kontrolleroch. Takže ked' to zameníte, tak musíte prepisovať backend. To je ako s old-school šablónami.
TIež som zachytil hype okolo HTMX, ale keď som si toto uvedomil, nič pre mňa.
Ale HTMX má zcela jinou koncepci než "controllery" (MVC). V podstatě serverové HTMX endpointy jsou UI vrstva, i když se renderují na serveru.
Tato UI vrstva volá klidně úplně izolovanou backend logiku. Ale má výhodu, že běží na stejném serveru, takže není třeba JSON API. Interní data neleakují na klienta, jen se použijí při renderingu. Není třeba logiku duplikovat na klientovi.
Podobně ty "old-school" šablony jsou UI vrstva a business logika má sídlit samozřejmě v jiné vrstvě.
Z mé zkušenosti je vývoj v HTMX citelně rychlejší než React+server, protože jak je psáno výše, píšete jen jednu appku a ne dvě.
Jo, React Server Components by v tomhle mohly dost pomoct. Ovšem za cenu dalšího zvýšení komplexity Reactu.