React를 좋아하는 사람이 실제로 있긴 한가요?
1 day ago
2
- React 및 React 계열 도구에 대한 비판 글을 모아 큐레이션한 자료 모음으로, 다양한 개발자·블로거의 글을 인용 형식으로 정리
- 성능 저하, 복잡도 증가, 하이드레이션 문제 등 React가 가진 구조적 한계를 지적하는 글이 다수 포함
- React 중심의 기술 선택은 기술 적합성보다 관성·네트워크 효과로 굳어졌고, “모두가 React를 안다”는 전제가 아키텍처 결정보다 앞선다는 비판을 받음
- React Server Components와 Next.js를 둘러싼 보안·거버넌스 우려가 커졌고, CVE-2025-55182는 CVSS 10.0 등급의 인증 없는 원격 코드 실행 취약점으로 공개됨
- React 생태계의 API 설계 혼란과 품질 위기, 복잡성은 장기 유지보수와 학습을 어렵게 만들며, Hooks·현대 UI 기능·릴리스 흐름까지 React의 방향성 논쟁으로 이어짐
사이트 개요
- "Does anybody actually like React?" 라는 도발적 질문을 내건 큐레이션 사이트
- React 및 React에 영향을 받은 도구들에 대한 비판 글을 모은 cherry-picked 컬렉션
- RSS 구독 기능 제공
React 자체에 대한 근본적 비판
-
- React는 거의 항상 잘못된 해법이며, 모든 것을 못으로 보이게 만드는 망치가 되어버렸음
- React를 잘 쓰는 것은 가능하지만, 실제로 잘 쓰이는 경우는 거의 없음
-
- 일정 규모 이상의 JS 중심 프로젝트는 광고된 것보다 느리고, 시간이 지날수록 더 느려짐
- 개발과 유지보수에 더 많은 노력이 들고, 다른 접근만큼 버그도 많음
-
- React는 "그냥 미친 거다"라고 단정하기 쉽지만, 합리적으로 이해해 보려는 시도가 필요함
-
- 오랜 React 사용 경험을 바탕으로, 사용할 이유는 없고 반대할 이유는 많음
-
- React 사용을 중단해야 하며, 처음부터 쓰지 말았어야 했다는 주장
-
- React는 단지 느린 것이 아니라, DNA에 기술 부채가 새겨진 비대한 생태계
- 그럼에도 계속 선택되는 현실에 대한 의문 제기
보안 및 거버넌스 문제
-
- 11월 29일 Lachlan Davidson이 인증되지 않은 원격 코드 실행(RCE) 취약점 보고
- CVE-2025-55182로 공개, CVSS 10.0 등급
-
- Vercel이 Next.js의 심각한 보안 취약점 공개
- 이슈 자체는 정상적이나, Vercel의 대응 방식이 부실하고 무책임했음
- 프로젝트 거버넌스에 대한 우려를 심화시킴
-
- Next.js는 오픈소스 프레임워크를 가장한 Vercel 벤더 락인 형태가 되었음
API 설계 및 학습 곡선 문제
-
- React의 핵심 실패는 혼란스러운 API 설계로 가중됨
- 문서가 우유부단하고, 올바른 사용법에 대한 논쟁이 끝없이 이어짐
-
- React가 모던 UI를 가르쳐 준다는 주장과 달리, 실제로는 모던 UI를 거의 다루지 못함
- autofocus가 깨져 있고, custom elements는 실험적 버전 외에서는 작동하지 않음
- dialog, popover 등 모던 기능을 쓰려면 useEffect가 필요함
- synthetic event 시스템 때문에 실제 DOM 동작을 거의 배우지 못함
- 모던 UI가 아니라 2013년 수준의 UI
-
- 모든 문제를 "skill issue"로 치부하고 외부 라이브러리로 해결된다고 말하는 태도는 이상함
- 3년 만에 돌아와도 작업 가능해야 할 기술이지만, 프론트엔드 특히 React는 그렇지 않음
-
- 오늘날 React를 덜 즐기게 만드는 두 가지 문제: ownership과 complexity
- 신규 개발자들이 React에 위축될 수 있다는 우려
성능 및 사용자 경험 문제
-
- 기본적으로 악명 높은 하이드레이션 패턴에 갇히게 됨
- 서버에서 JS로 모든 연산을 하고, HTML을 즉시 보내고, 다시 동일한 JS를 클라이언트에 보내는 구조
-
- 공개적 반발과 격렬한 논쟁 끝에 React 팀이 변경을 보류
-
- React에서 모던 Web Components + HTML-first 아키텍처로 전환
- 특히 저사양 하드웨어 사용자에게 큰 혜택
-
- 클라이언트 사이드 React가 강요하는 끔찍한 사용자 경험에 대한 불만이 더 많아지길 바람
- 하지만 실제 불만은 거의 개발자 경험에 집중되어 있음
-
- 한 개발팀이 React의 "압도적인 VDOM"에서 모던 DOM API로 전환
- 속도와 인터랙션 개선을 즉시 체감
모바일 및 플랫폼 문제
-
- React의 모바일 전략은 본질적으로 팀을 플랫폼 종속(platform capture) 으로 몰아감
- 웹은 게이트키퍼·플랫폼 수수료 없이 직접 배포 가능한 대안 제공
생태계 및 커뮤니티 문제
-
- 새 프론트엔드가 필요할 때 "제약 조건이 무엇이고 어떤 도구가 맞는가"가 아니라 "React 쓰자, 다들 아니까" 로 시작됨
- 기술적 적합성이 아니라 네트워크 효과가 아키텍처를 결정하는 자기강화 사이클
-
- 컨설팅 업무와 산업 데이터에서 React 커뮤니티는 깊고 측정 가능한 품질 위기에 빠져 있음
- React Summit 참석자들은 이 사실을 듣지 못함
-
- React 개발자는 많지만, 깊은 패턴을 이해하는 진정한 숙련자는 점점 희소하고 비싸짐
- 가장 경험 많은 엔지니어들이 복잡도에 지쳐 다른 기술 스택으로 이직 중
-
- 마지막 React 릴리즈 이후 1년 반이 지남, 이전 어떤 릴리즈 주기보다 길어짐
React Server Components 비판
-
- React는 클라이언트 사이드 개선에 거의 손을 놓고 있었음(2019년 실험 중단 이후)
- Facebook 규모 문제를 Facebook 규모 자원으로 해결하기 위해 만들어진 레거시 프레임워크, 대부분의 사용 사례에 부적합
-
- 빠르게 출시하려면 React Server Components를 쓰지 말아야 함
- 학습·실험·콘텐츠 제작 목적이라면 사용 가능
기본기 회귀와 대안 강조
-
- HTML 기반 점진적 향상(progressive enhancement) 의 장점
- 사용자에게 더 빨리 사용 가능한 경험 제공
- 느린 연결에서도 사이트가 형편없어 보이지 않음
- 문제가 생겨도 사용자가 사이트를 계속 사용 가능
-
- "node_modules 폴더를 찾아 휴지통으로 드래그하라"는 풍자적 권고
-
- React는 거짓 약속과 오해의 소지 있는 주장, 끝없는 하위 호환성 레이어로 비대해진 잔해가 되었음
- 업데이트 시에도 종종 코드를 망가뜨림
-
- React 같은 무거운 프레임워크에서 벗어나 웹 기본기에 집중함으로써 커리어와 코드베이스의 미래 보장
-
- 화면 갱신이 필요할 때 왜 모두 React부터 떠올리는가
- 프론트엔드와 백엔드 관심사를 한데 묶으려는 경향에 대한 의문
마이그레이션 및 전환 사례
-
- Svelte가 "가장 사랑받는" 프레임워크라는 헤드라인을 무시해 왔지만, 이제는 Svelte 진영에 합류
-
- 2023년 React로의 잘못된 시작 후, 고객 도메인에 더 잘 맞는 기술 스택으로 이전
-
- "fat client" 시대의 JS-heavy 프론트엔드는 사라지는 중
- 엣지 애플리케이션 과대광고는 다양한 비즈니스 구축에 불필요
-
- React SPA의 성능 문제로 LiveView 탐색
- 2일간의 탐색 후 확신, 몇 주 만에 React SPA를 LiveView로 교체
전반적 흐름과 향후 전망
-
- Applets, ActiveX, Flash, Flex, Silverlight, Angular, React로 이어지는 흐름
- 더 큰 그림을 보지 못한 기업들의 반복적 실패
-
- Frameworkism은 더 많은(또는 다른) 프레임워크 도구 채택을 사용자 경험 개선책으로 설교
- 엔지니어링처럼 보이지만 실제로는 그렇지 않은 활동에 몰입하게 만듦
-
- YAJSD(Yet Another JavaScript Disaster) 구축 계획에 동조하지 말 것
- React 리라이트 제안이 나올 때 시니어 엔지니어는 침묵하지 말아야 함
-
- 신규 웹 개발자는 React를 아예 피하는 선택도 진지하게 고려 가능
- 단기적 구직 가능성은 줄지만, 선구적 고용주와의 매칭 가능성 존재
-
- 웹 대상 소프트웨어를 만드는 대부분의 조직에서 React는 객관적으로 많은 대안보다 열등함
-
- 커뮤니티의 React에 대한 태도 변화와 프로젝트 의사결정에 대한 권고
-
- 복잡한 것을 만들 때 여전히 React를 선택하지만, 그 선택이 더 기뻤으면 좋겠다는 아쉬움
-
- React가 자체 규칙으로 자기만의 게임을 하는 듯한 인상
-
- JavaScript 사용 개선, 점진적 향상 교육, 커뮤니티 화해 방안에 대한 논의
-
- 수년간 React 프로젝트에 제기된 비판들의 역사적 정리
- 일부는 해결되고 일부는 여전히 미해결 상태
Hooks 및 대안 패러다임
-
- React의 Hooks는 올바르게 쓰기도 어렵고 성능 좋게 쓰기는 더 어려움
- 많은 애플리케이션의 코드 품질과 성능 저하 원인
비유적 비판
-
- 지지자들의 특이함, 과도한 자기 진지함, 끝없는 문서를 기독교에 비유한 영상
-
Homepage
-
개발자
- React를 좋아하는 사람이 실제로 있긴 한가요?